一.管理临时UNDO
默认情况下,对于临时表的undo记录是存储在undo表空间里和redo里,
这是同样的方式被持久表来管理undo记录。
1.关于管理临时Undo
临时undo记录存储在数据库的临时表空间里并且没有记录在redo里。当启用了临时undo
临时表空间里的一些段就被用来存储临时undo的数据,这些段就被称为临时undo段。
2.启用临时undo
可以在系统和会话级别进行启用。TEMP_UNDO_ENABLE
ALTER SESSION/SYSTEM SET TEMP_UNDO_ENABLE=TRUE;
3.禁用临时Undo
ALTER SESSION/SYSTEM SET TEMP_UNDO_ENABLE=FALSE;
当临时undo里的对象被使用的时候,是无法进行禁用的。
二.关于临时undo
当启用了临时undo,有必要增加临时表空间的大小。
1.启用临时undo好处:
1)临时undo会大量减少存储在undo表空间里的undo记录。这样就能够给更多undo数据提供更长的保留时间。
2)临时undo减少redo的大小
由于更少的数据写进redo进而提高了数据库性能,和一些组件去解析redo的数据,
例如LogMiner,处理的更快,因为redo数据减少了。
3)在启用了Oracle Active Data Guard选项的物理备库上,临时undo允许在临时表上的DML操作。
然而对于临时表的DDL操作必须在主库上进行。在启用了ADG的DG物理备库上,临时undo是默认启用的。TEMP_UNDO_ENABLE参数对于这种环境没有影响。
注意:数据库版本必须不得低于12.0.0。
三.相关视图
V$TEMPUNDOSTAT
V$UNDOSTAT
DBA_HIST_UNDOSTAT
版权声明:本文为博主原创文章,未经博主允许不得转载。
- 上一篇:OGG配合遇到的一些问题
- 下一篇:12C 创建PDB报错ORA-01276