How manager undo tablespace
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了How manager undo tablespace相关的知识,希望对你有一定的参考价值。
What is the undo data ?
事务在修改数据块时,oracle db会copy修改前的数据块到undo tablespace,这个数据块称之为undo data。
Why oracle db needs undo data ?
1.回滚未提交的事务
2.确保数据库一致性读
3.支持oracle flashback功能
What is the undo tablespace?
存放undo data的表空间称之为undo 表空间。undo tbs空间可以重复使用。
Undo Retention
oracle DB会强制保存uncommit事务产生的undo data在undo tablespace中不被覆盖,当undo tbs的可用空间不够使用时,被占用的空间可以使用原来占用的空间。
oracle db可能还会用到commit后的undo data为flash back feature, or lang queries提供服务。为了提高oracle db的可用性,可以设置undo retention period,保证undo data产生后的时间小于undo retention period 时间不被删除。
How aboat managing undo data?
Oracle db 默认情况下自动管理undo data 和 undo tablespace,当开启oracle flashback features,需要人为的为undo mesage优化,提高flashback features的可用性。
How to perform undo data and undo tablespace?
1.当undo tablespace设置为autoextending时,设置较小的undo retention
2.修改undo tablespace为固定值
默认下undo tablespace如果为autoextending, oracle db会自动优化undo retention值,使其适应db system中最长的查询所需要的保留时间。这种针对undo_retention的自动优化可能无法满足flashback对undo data的需求,如果将undo tablespace改为固定值,oracle db需要根据实际情况修改undo_retention
Why do oracle db need enough undo space?
1.DML会因为undo tablespace没有足够空间失败回滚
2.Long-query会因为undo tablespace没有足够空间
How to view undo tablespace information?
How to create undo tablespace?
CREATE SMALLFILE UNDO TABLESPACE "UNDOTBS2" DATAFILE ‘/u01/app/oracle/oradata/bjbd/undotbs201.dbf‘ SIZE 1024M AUTOEXTEND ON NEXT 1024K MAXSIZE UNLIMITED RETENTION NOGUARANTEE
本文出自 “DBA的天空” 博客,请务必保留此出处http://kevinora.blog.51cto.com/9406404/1747178
以上是关于How manager undo tablespace的主要内容,如果未能解决你的问题,请参考以下文章
[GitHub]How to undo the most recent commits in Git?
翻译自mos文章使用aum( Automatic Undo Management) 时遇到 ORA-01555错误--- 原因和解决方式。