重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 873|回复: 0
打印 上一主题 下一主题

[Oracle] Oracle 12C R2新特性-本地UNDO模式(LOCAL_UNDO_ENABLED)

[复制链接]
跳转到指定楼层
楼主
发表于 2023-5-26 09:20:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 jiawang 于 2023-5-26 09:26 编辑

在 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;
ALTER DATABASE LOCAL UNDO ON ;
SHUTDOWN IMMEDIATE;
STARTUP;

Oracle 自动为 每个 PDB 创建了一个 undo 表空间 。 在切换为本地 Undo 模式后, 新创建的数据库也是运行在本地 undo 模式上。



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-4-25 12:03 , Processed in 0.098791 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表