博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle 12c 多租户 CDB 与 PDB之 shared undo 与 Local undo 切换
阅读量:5999 次
发布时间:2019-06-20

本文共 3117 字,大约阅读时间需要 10 分钟。

undo 在12C R1版本中只支持Global Shared Undo模式, 所有container共享一个UNDO表空间, 目前保留这种模式只是为了升级过渡, 在12C R2引入了PDB Local UNDO模式,每个container都有自己的UNDO 表空间, 对于RAC是每个实例每个container都有自己的UNDO表空间, 这也正是推荐的.在DBCA时会有local undo选项,且默认勾选。

local 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 转 shared undo :
查看数据库是否开启 local undo ,如果 PROPERTY_VALUE  为 true 表示已经开启。
SQL> 
col PROPERTY_NAME for a25;
col PROPERTY_VALUE for a25;
select PROPERTY_NAME,PROPERTY_VALUE from database_properties where property_name='LOCAL_UNDO_ENABLED';
PROPERTY_NAME             PROPERTY_VALUE            
------------------------- ------------------------- 
LOCAL_UNDO_ENABLED        TRUE                      
SQL>shutdown immediate;
SQL>startup upgrade;
SQL>show con_nameCON_NAME
------------------------------
CDB$ROOT
SQL>alter database local undo off;
SQL>shutdown immediate;
SQL>startup;
SQL>show pdbs
SQL>alter session set container=pdb01;
e/o1_mf_undotbs1_djszmxkc_.dbf
SQL>select tablespace_name from dba_tablespaces;
TABLESPACE_NAME
------------------------------
SYSTEM
SYSAUX
UNDOTBS1
TEMP
USERS
SQL> 
col PROPERTY_NAME for a30;
col PROPERTY_VALUE for a20;
select PROPERTY_NAME,PROPERTY_VALUE from database_properties where property_name='LOCAL_UNDO_ENABLED';
PROPERTY_NAME  PROPERTY_VALUE   
------------------------- ------------------------- 
LOCAL_UNDO_ENABLED  FALSE    
SQL> 
col file_name for a70;
select a.CON_ID,a.TABLE   CON_ID TABLESPACE_NAME                FILE_NAME
from cdb_tablespaces a,CDB_DATA_FILES b
where a.TABLESPACE_NAME=b.TABLESPACE_NAME and a.con_id=b.con_id and a.CONTENTS='UNDO';
--------- ------------------------------ ----------------------------------------
        3 UNDOTBS1                       /home/oracle/app/oracle/oradata/ANDYCDB/4ECF8621E3DA38EEE0531019640AA598/
                                         datafile/o1_mf_undotbs1_djszmxkc_.dbfSPACE_NAME,b.FILE_NAME
SQL>drop tablespace UNDOTBS1 including contents and datafiles;  ( 切记PDB中执行 )
SQL>select name from v$datafile where name like '%undo%';
NAME
-----------------------------------------------------------------------------
/home/oracle/app/oracle/oradata/ANDYCDB/datafile/o1_mf_undotbs1_djsyyjlk_.dbf  > 现在已经是 cdb 中的undo datafile 了。
二、  shared undo 转 local undo :
SQL> shutdown immediate;
SQL> startup upgrade;
SQL> show con_name   >确认是 cdb,如果不是 cdb,则 alter session set container=cdb$root;
SQL> alter database local undo on;
SQL> shutdown immediate;
SQL> startup;
SQL>show pdbs
SQL>alter session set container=pdb01;
SQL>select name from v$datafile where name like '%undo%';
NAME
--------------------------------------------------------------------------------
/home/oracle/app/oracle/oradata/ANDYCDB/4ECF8621E3DA38EEE0531019640AA598/datafil
e/o1_mf_undo_1_djz4jq1z_.dbf
SQL> 
col PROPERTY_NAME for a30;
col PROPERTY_VALUE for a20;
select PROPERTY_NAME,PROPERTY_VALUE from database_properties where property_name='LOCAL_UNDO_ENABLED';
PROPERTY_NAME                  PROPERTY_VALUE
------------------------------ --------------------
LOCAL_UNDO_ENABLED             TRUE
说明:打开loacl undo后,自动为当前的PDB创建undo表空间,同时如果以前再新创建pdb,系统将自动创建自己的undo表空间。创建表空间的名字与大小由 PDB$SEED 中的配置信息决定的。

转载于:https://www.cnblogs.com/andy6/p/6822479.html

你可能感兴趣的文章
cloud foundry v1中访问不带'/'的URL时重定向到带端口号地址导致访问错误
查看>>
SSO服务源码分析
查看>>
MySQL 8.0 Windows zip 安装过程
查看>>
解决mysql出现"the table is full"的问题
查看>>
Linux vs BSD我们到底选择谁!
查看>>
Mariadb数据复制功能实现
查看>>
RabbitMQ相关知识
查看>>
出门必备的手机软件
查看>>
foreman架构的引入1-foreman作为自动化运维工具为什么会如此强大
查看>>
Django+Nginx+Uwsgi架构部署
查看>>
轻松识破linux内核启动过程中的“”套路“”
查看>>
asp.net获取网站路径
查看>>
集中配置
查看>>
MySQL 当记录不存在时insert,当记录存在时update
查看>>
我的友情链接
查看>>
Redis进阶实践之十九 Redis如何使用lua脚本
查看>>
sar命令报错Cannot open /var/log/sa/sadd: No such fi...
查看>>
郑大校园网怎么实现xshell连接vmware下的ubnutu
查看>>
RabbitMQ Access Control
查看>>
去大公司还是小公司? 运维人员需要有自己的选择
查看>>