合 Oracle 12cR2新特性-本地UNDO模式(LOCAL_UNDO_ENABLED)
Tags: Oracle
在 Oracle 12.1 中,在一个实例中的所有 PDB 只能共享同一个 UNDO 表空间 , 称之为 Global Shared Undo 模式 , 即共享 Undo 模式 。目前保留 共享 Undo 模式 只是为了升级过渡 。 在 Oracle 12.2 中 , 引入了 PDB Local UNDO 模式 , 每个 PDB 都有各自的 undo 表空间。对于 RAC 是每个实例每个 container 都有自己的 UNDO 表空间 , 这也正是推荐的 。 这种新的管理机制就叫做本地 undo 模式。本地 undo 模式为新建数据库的默认模式。在 DBCA 时会有 local undo 选项,且默认勾选。
本地 undo 模式的好处:
\1. 减少 undo 表空间的争用,同时方便拔插
\2. 只有使用 local undo 才支持下面的新特性 :Refresh PDB,Flashback PDB ,( Hot Clone,Relocate PDB in open read/write mode )
3.point-in-time recovery PDB
查看数据库是否开启 local undo 。 如果 PROPERTY_VALUE 为 true 表示已经开启。
col PROPERTY_NAME for a25;
col PROPERTY_VALUE for a25;
select PROPERTY_NAME,PROPERTY_VALUE from database_properties where property_name='LOCAL_UNDO_ENABLED';
查看 ROOT 和自己定义的 pdb 对应的 undo 表空间 :
SELECT CON_ID,NAME FROM V$TABLESPACE A WHERE A.NAME LIKE 'UNDO%' ORDER BY CON_ID,TS# ;
1 、 local undo 转 shared undo 的步骤:
SHUTDOWN IMMEDIATE;
STARTUP UPGRADE;
ALTER DATABASE LOCAL UNDO OFF;
SHUTDOWN IMMEDIATE;
STARTUP;
在转换完成之后, 之前存在的 undo 表空间不会自动删除。如果碍事, 需要进入每个 PDB 里进行 手动删除。
alter session set container=pdblhr1;
DROP TABLESPACE undotbs1;
1 、 shared undo 转 local undo 的步骤:
SHUTDOWN IMMEDIATE;
STARTUP UPGRADE;