Oracle12.2新特性—Local UNDO

简介:

一、简介:

①:在12C R1版本中undo只支持Global Shared Undo模式, 所有container共享一个UNDO表空间, 目前保留这种模式只是为了升级过渡, 

②:在12C R2引入了PDB Local UNDO模式,每个container都有自己的UNDO 表空间, 对于RAC是每个实例每个container都有自己的UNDO表空间, 这也正是推荐的.在DBCA时会有local undo选项,且默认勾选。


local undo 模式的好处:

①:减少undo表空间的争用,同时方便拔插 

②:只有使用local undo才支持下面的新特性: Refresh PDB, Flashback PDB ,( Hot Clone, Relocate PDB in open read/write mode)

③:point-in-time recovery PDB 


--注意:如果要将local UNO 转为 shared UNO,数据库必须要以upgrade方式启动,否则会报错;


二、 local undo 转 shared undo :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
①:查看 local  undo 是否开启:(默认是开启  local  undo,因为在安装的时候默认是勾选这个选项的)
SQL> col PROPERTY_NAME  for  a25;
SQL> col PROPERTY_VALUE  for  a25;
SQL>  select  PROPERTY_NAME,PROPERTY_VALUE from database_properties where property_name= 'LOCAL_UNDO_ENABLED' ;
PROPERTY_NAME             PROPERTY_VALUE
------------------------- -------------------------
LOCAL_UNDO_ENABLED        TRUE
注意:在Oracle12.1版本中 undo只支持Global Shared Undo模式,不支持 local  undo选项
②:重启数据库,以upgrade方式启动:
SQL>  shutdown  immediate
SQL> startup upgrade
SQL> alter database  local  undo off;  ---改变 local  undo的模式,数据库必须以upgrade方式启动。
SQL>  shutdown  immediate
SQL> startup
SQL> col PROPERTY_NAME  for  a25;
SQL>  select  PROPERTY_NAME,PROPERTY_VALUE from database_properties where property_name= 'LOCAL_UNDO_ENABLED' ;
PROPERTY_NAME             PROPERTY_VALUE
------------------------- -------------------------
LOCAL_UNDO_ENABLED        FALSE
---注意,从上一步查询得知,local_undo 已经关闭了;
③:把pdb中的undo表空间删除:
SQL> show pdbs;
     CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
          2 PDB$SEED                       READ ONLY  NO
          3 TESTPDB                        READ WRITE NO
SQL> alter session  set  container=testpdb ;
SQL>  select  tablespace_name from dba_tablespaces;   ----查看现在的表空间,
TABLESPACE_NAME
------------------------------
SYSTEM
SYSAUX
UNDOTBS1
TEMP
USERS
TEST
6 rows selected.
SQL>  select  name from  v $datafile where name like  '%undo%' ;   ---查看可以得知,目前有两个undo表空间,一个是CDB的,一个是PDB自己的
NAME
--------------------------------------------------------------------------------
/opt/oracle/oradata/orcl/undotbs01 .dbf
/opt/oracle/oradata/orcl/testpdb/undotbs01 .dbf
SQL> drop tablespace UNDOTBS1 including contents and datafiles;   ---删除pdb中的undo表空间,(一定是进入到pdb在执行这条命令)
Tablespace dropped.
SQL>  select  name from  v $datafile where name like  '%undo%' ;  ---此时查看undo表空间,就只剩下CDB中的一个了
NAME
--------------------------------------------------------------------------------
/opt/oracle/oradata/orcl/undotbs01 .dbf
SQL> show con_name;
CON_NAME
------------------------------
TESTPDB

二、shared undo 转 local undo :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
SQL>  shutdown  immediate 
SQL> startup upgrade   ---必须以upgrade启动数据库
SQL> alter database  local  undo on;   ----开启 local  undo模式
SQL>  shutdown  immediate
SQL> startup
SQL> col PROPERTY_NAME  for  a25;
SQL> col PROPERTY_VALUE  for  a25;
SQL>  select  PROPERTY_NAME,PROPERTY_VALUE from database_properties where property_name= 'LOCAL_UNDO_ENABLED' ;
PROPERTY_NAME             PROPERTY_VALUE
------------------------- -------------------------
LOCAL_UNDO_ENABLED        TRUE
SQL> alter pluggable database testpdb  open ;
SQL> alter session  set  container=testpdb;
SQL>  select  name from  v $datafile where name like  '%undo%' ;
NAME
-----------------------------------------------------------------------------------------------------------------------------------------
/opt/oracle/oradata/orcl/testpdb/system01_i1_undo .dbf



说明:

  打开loacl undo后,自动为当前的PDB创建undo表空间,同时如果以前再新创建pdb,系统将自动创建自己的undo表空间。创建表空间的名字与大小由 PDB$SEED 中的配置信息决定的。













本文转自一个笨小孩51CTO博客,原文链接:http://blog.51cto.com/fengfeng688/1950400  ,如需转载请自行联系原作者






相关文章
|
SQL 机器学习/深度学习 Oracle
关系型数据库Oracle关键特性
【7月更文挑战第5天】
267 3
|
存储 Oracle 关系型数据库
Oracle和MySQL有哪些区别?从基本特性、技术选型、字段类型、事务、语句等角度详细对比Oracle和MySQL
从基本特性、技术选型、字段类型、事务提交方式、SQL语句、分页方法等方面对比Oracle和MySQL的区别。
2209 18
Oracle和MySQL有哪些区别?从基本特性、技术选型、字段类型、事务、语句等角度详细对比Oracle和MySQL
|
SQL Oracle 关系型数据库
Oracle 12c有哪些新特性?
【7月更文挑战第20天】Oracle 12c有哪些新特性?
273 2
|
存储 Oracle 关系型数据库
Oracle数据库ACID特性
【7月更文挑战第6天】
352 6
|
SQL 存储 Oracle
在Oracle 12c中,在RMAN方面有哪些增强的新特性?
在Oracle 12c中,在RMAN方面有哪些增强的新特性?
207 0
|
Oracle 关系型数据库 分布式数据库
4.17.2PolarDB兼容Oracle的特性对比
PolarDB兼容Oracle的特性对比 1.PolarDB O提供了以下视图兼容Oracle,哪个除外 A. DBA_TABLES B. DBA_INDEXES C. DBA_DB_FILES D. USER_TABLES 正确答案: C
581 0
|
SQL 存储 Oracle
PostgreSQL , EDB EPAS PPAS(兼容Oracle) , Oracle 对比(兼容性、特性优劣势) - 企业去O,去IOE
标签 PostgreSQL , PPAS , EPAS , edb , enterprisedb , Oracle , 兼容性 , 优缺点 背景 EPAS为EDB的PostgreSQL Oracle兼容企业版,基于PostgreSQL社区版本开发,2004年发布了第一个Oracle兼容版,已经在ORACLE兼容性上耕耘了15年。 2018年推出EPAS 11 版本,完成了 Oracle
2377 0
|
SQL 存储 Oracle
PostgreSQL Oracle 兼容性 - Oracle 19c 新特性在PostgreSQL中的使用
标签 PostgreSQL , Oracle 兼容性 , Oracle 19c 背景 《PostgreSQL 覆盖 Oracle 18c 重大新特性》 Oracle 19c 新特性摘自盖老师《Oracle 19c 新特性及官方文档抢鲜下载》文章,其中有一些特性在PostgreSQL中很早以前已经支持。本文旨在介绍PG如何使用这些特性。 1.Data Guard 备库DML自动重定向
842 0
|
SQL 存储 Oracle
PostgreSQL Oracle 兼容性 - Oracle 19c 新特性在PostgreSQL中的使用
PostgreSQL Oracle 兼容性 - Oracle 19c 新特性在PostgreSQL中的使用
3079 0
|
数据库 关系型数据库 存储
深度 | 解读POLARDB v2.0 Oracle 兼容特性
此次发布的POLARDB Oracle兼容版,是业界首款兼容Oracle数据库的云原生数据库,可帮助企业平滑地将传统数据库上的业务迁移上云。
2915 0

推荐镜像

更多