oracle12c cdb修改,ORACLE 12C 新特性CDB及PDB
ORACLE 12C新特性CDB及PDB一.CDB及PDB结构
CDB及PDB关系图
CDB和PDB是ORACLE 12C一个很亮的新特性,由于他们的引入导致传统的ORACLE数据库管理理念不少发生了改变。在ORACLE12C数据库引入多租用户环境(Multitenant Environment)中,允许一个数据库容器(CDB)承载多个可插拔数据库(PDB)。CDB全称为Container Database,即数据库容器,PDB全称为Pluggable Database,即可插拔数据库。一个CDB数据库容器包含了下面一些组件:
l ROOT组件:
ROOT又叫CDB$ROOT,存储着ORACLE提供的元数据和Common User,元数据的一个例子是ORACLE提供的PL/SQL包的源代码,Common User是指在每个容器中都存在的用户。
l SEED组件
Seed又叫PDB$SEED,这个是你创建PDBS数据库的模板,你不能在Seed中添加或修改一个对象。一个CDB中有且只能由一个Seed。
l PDBS
CDB中可以有一个或多个PDBS,PDBS向后兼容,可以像以前在数据库中那样操作PDBS,这里指大多数常规操作。
这些组件中的每一个都可以被称为一个容器。ROOT(根)是一个容器,Seed(种子是一个容器),每个PDB是一个容器。每个容器在CDB中都有一个独一无二的ID和名称。二.CDB及PDB环境切换
Ø 如何确定是CDB还是PDB环境
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
如显示CDB$ROOT则代表是CDB环境
SQL> show con_name
CON_NAME
------------------------------
PDORCL(PDB名称)
如显示PDB的某个名称,则处于PDB环境
Ø 如何切换CDB或PDB环境
切换至PDB环境
alter session set container=PDB(某个PDB的具体名称);
切换至CDB环境
alter session set container=CDB$ROOT
Ø 查看当前PDB启动状态及启动数据库
SQL> select con_id,dbid,name,open_mode fromv$pdbs;
CON_ID DBID NAME OPEN_MODE
-------------------------------------------------------------------------
2 3918641363 PDB$SEED READ ONLY
3 2055325419 PDORCL MOUNTED
4 2055325420PDCATE MOUNTED
在CDB环境打开PDB数据库[指定某个PDB名称]
SQL> alter pluggable database PDORCL open;
Pluggable database altered.
在CDB环境下查看PDB状态
SQL> select con_id,dbid,name,open_mode fromv$pdbs;
CON_ID DBID NAME OPEN_MODE
---------- ---------- -------------------------------------------------------------
2 3918641363 PDB$SEED READ ONLY
3 2055325419 PDORCL READWRITE
关闭PDB数据库
SQL> alter pluggable database PDORCL close;
Pluggable database altered.
在CDB环境下查看PDB状态
SQL> select con_id,dbid,name,open_mode fromv$pdbs;
CON_ID DBID NAME OPEN_MODE
---------- ---------- -------------------------------------------------------------
2 3918641363 PDB$SEED READ ONLY
3 2055325419 PDORCL READWRITE
如果打开CDB容器下所有PDB数据库或者关闭CDB容器下所有PDB数据库,执行脚本如下:
SQL> alter pluggable database all open;
Pluggable database altered.
SQL> alter pluggable database all close;
Pluggable database altered.三.CDB及PDB下建立用户区别
查看当前属于CDB环境
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
CDB环境只能创建公共用户,且用户名必须已C##或c##开头,用户建立后,CDB及PDB环境均有c##开头的用户,但授权不能级联授权,如CDB环境创建了C##SR的用户,在CDB环境授权该用户connect,dba权限,该用户只能在CDB环境下登陆,在PDB环境下登陆需要单独授权,不能级联授权。
SQL> create user sr identifiedby sr;
create user sr identified by sr
*
ERROR at line 1:
ORA-65096: invalid common user orrole name
查看错误原因[格式:!oerr ora错误号]
SQL> !oerr ora 65096
65096, 00000, "invalid commonuser or role name"
// *Cause: An attempt was made to create a common useror role with a name
// that was not valid for common usersor roles. In addition to
// the usual rules for user and rolenames, common user and role
// names must start with C## or c## andconsist only of ASCII
// characters.
// *Action: Specify a valid commonuser or role name.
在CDB环境创建公共用户
SQL> create user c##sridentified by sr;
User created.
如想创建正常的用户,需切换至pdb数据库后再创建,此时用户名不受限制
SQL> alter session setcontainer=pdorcl;
Session altered.
SQL> show con_name
CON_NAME
------------------------------
PDORCL
SQL> create user sr identifiedby sr;
User created.四.CDB及PDB环境下修改参数
l 这里可以看到在cdb中修改参数,pdb会继承进去。
CON_NAME
------------------------------
CDB$ROOT
查看参数
SQL> show parameter open_cursor
NAME TYPE VALUE
----------------------------------------------- ------------------------------
open_cursors integer 300
修改参数
SQL> alter system setopen_cursors=500 container=all;
System altered.
再次查看参数
SQL> show parameter open_cursor
NAME TYPE VALUE
----------------------------------------------- ------------------------------
open_cursors integer 500
切换至pdb环境
SQL> alter session setcontainer=pdorcl;
Session altered.
查看参数仍然生效
SQL> show parameter open_cursor
NAME TYPE VALUE
----------------------------------------------- ------------------------------
open_cursors integer 500
l 但是在PDB环境下修改参数,PDB下参数生效,但CDB不会生效[不继承]。如果在pdb中修改会覆盖pdb从cdb中继承的参数含义。
SQL>show con_name
CON_NAME
------------------------------
PDORCL
SQL> alter system setopen_cursors=100;
System altered.
SQL> show parameter open_cursors
NAME TYPE VALUE
----------------------------------------------- ------------------------------
open_cursors integer 100
SQL> conn / as sysdba
Connected.
SQL> show parameter open_cursors
NAME TYPE VALUE
----------------------------------------------- ------------------------------
open_cursors integer 500五.CDB及PDB的视图信息
在ORACLE 12C中引入了CDB和PDB的概念,实现了ORACLE数据库的可插拔,在一个CDB数据库中,有多个PDB,而每一个PDB又可以理解为一个独立的传统ORACLE 数据库,那为了能够通过一个sql查询获得整个CDB数据库的信息,ORALCE 引入了CDB_*开头的视图,该视图就是在传统的DBA_*视图基础之上增加了CON_ID,用来区分不同的PDB,从而实现了一个简单sql查询在有足够权限的情况下,可以查询所有PDB中信息
Ø 确定是否是CDB
SQL> SELECT CDB FROM V$DATABASE;
CDB
---------
YES
YES表示该数据库是CDB,如果是NO表示是NO-CDB(普通数据库)
Ø CDB中各容器信息
SQL> COLUMN NAME FORMAT A8
SQL> SELECT NAME, CON_ID, DBID, CON_UID, GUID FROMV$CONTAINERS ORDER BY CON_ID;
NAME CON_ID DBID CON_UID GUID
-------- ---------- ---------- ------------------------------------------
CDB$ROOT 1 1448663787 1 FD9AC20F64D344D7E043B6A9E80A2F2F
PDB$SEED 2 3918641363 3918641363 3AFC7D541B65114AE05342F4A8C0AEE4
PDORCL 3 2055325419 2055325419 3AFC9AE739981448E05342F4A8C0E4F8
SQL> select CON_NAME_TO_ID('PDORCL') FROM DUAL;
CON_NAME_TO_ID('PDORCL')
------------------------
3
SQL> SELECT CON_DBID_TO_ID(2055325419) FROM DUAL;
CON_DBID_TO_ID(2055325419)
--------------------------
3
SQL> SELECT CON_UID_TO_ID(2055325419) FROM DUAL;
CON_UID_TO_ID(2055325419)
-------------------------
3
Ø 查询在CDB中的PDB数据/临时文件信息
SQL> COLUMN PDB_ID FORMAT 999
SQL> COLUMN PDB_NAME FORMAT A8
SQL> COLUMN FILE_ID FORMAT 9999
SQL> COLUMNTABLESPACE_NAME FORMAT A10
SQL> COLUMN FILE_NAME FORMAT A45
SQL> SELECT p.PDB_ID, p.PDB_NAME, d.FILE_ID,d.TABLESPACE_NAME, d.FILE_NAME FROM DBA_PDBS p, CDB_DATA_FILES d WHERE p.PDB_ID= d.CON_ID ORDER BY p.PDB_ID;
PDB_ID PDB_NAME FILE_ID TABLESPACE FILE_NAME
------ -------- ------- -------------------------------------------------------
3 PDORCL 8 SYSTEM +DATA/ORCL/3AFC9AE739981448E05342F4A8C0E4F8/D
ATAFILE/system.274.920883601
3 PDORCL 10 USERS +DATA/ORCL/3AFC9AE739981448E05342F4A8C0E4F8/D
ATAFILE/users.277.920883611
3 PDORCL 9 SYSAUX +DATA/ORCL/3AFC9AE739981448E05342F4A8C0E4F8/D
ATAFILE/sysaux.275.920883601
SQL> COLUMN CON_ID FORMAT 999
SQL> COLUMN FILE_ID FORMAT 9999
SQL> COLUMN TABLESPACE_NAME FORMAT A15
SQL> COLUMN FILE_NAME FORMAT A45
SQL> SELECT CON_ID, FILE_ID, TABLESPACE_NAME,FILE_NAME FROM CDB_TEMP_FILES ORDER BY CON_ID;
CON_ID FILE_ID TABLESPACE_NAME FILE_NAME
------ ------- ------------------------------------------------------------
1 1 TEMP +DATA/ORCL/TEMPFILE/temp.269.920883057
3 3 TEMP +DATA/ORCL/3AFC9AE739981448E05342F4A8C0E4F8/T
EMPFILE/temp.276.920883605六.CDB及PDB的物理结构
l CDB名为ORCL,其内PDB名为PDORCL,数据文件存放于+DATA磁盘组里,已此环境为例:
CDB数据文件位置:+DATA/ORCL/DATAFILE/SYSTEM.256
+DATA/ORCL/DATAFILE/SYSAUX.257
+DATA/ORCL/DATAFILE/USERS.258
+DATA/ORCL/DATAFILE/TEMP.270
+DATA/ORCL/DATAFILE/UNDOTBS1.272
PDB数据文件位置:+DATA/ORCL/UUID1/DATAFILE/SYSTEM.259
+DATA/ORCL/UUID1/DATAFILE/SYSAUX.260
+DATA/ORCL/UUID1/DATAFILE/USERS.261
+DATA/ORCL/UUID1/DATAFILE/TEMP.271
PDB$SEED数据文件位置: +DATA/ORCL/UUID2/DATAFILE/SYSTEM.272
+DATA/ORCL/UUID2/DATAFILE/SYSAUX.273
+DATA/ORCL/UUID2/DATAFILE/pdbseed_temp012016-08-26
参数文件位置: +DATA/ORCL/PARAMETERFILE/spfile.273.920883461
公共表空间及文件独有表空间及文件
CDB&PDBUNDOTBS1(回滚表空间)
LOGFILE(日志文件)
参数文件(spfile)
控制文件(control)
CDBsystem,sysaux,users,temp表空间及数据文件
PDBsystem,sysaux,users,temp表空间及数据文件
PDB$SEEDsystem,sysaux,temp表空间及数据文件
l 独有的表空间及文件:
1) CDB有单独的system,sysaux,users,temp表空间及对应的数据文件;
2) PDB有单独的system,sysaux,users,temp表空间及对应的数据文件;
3) PDB$SEED有单独的system,sysaux,temp[已pdbseed_temp开头命名]表空间及对应的数据文件;
l 共有的表空间及文件:
1) CDB与PDB共同拥有UNDO表空间及对应数据文件
2) CDB与PDB 共同拥有日志文件
3) 参数文件是共有的,参数文件范例如下:
orcl.__data_transfer_cache_size=0
orcl.__db_cache_size=587202560
orcl.__java_pool_size=16777216
orcl.__large_pool_size=33554432
orcl.__oracle_base='/u01/app/oracle'#ORACLE_BASEset from environment
orcl.__pga_aggregate_target=553648128
orcl.__sga_target=1056964608
orcl.__shared_io_pool_size=50331648
orcl.__shared_pool_size=352321536
orcl.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/orcl/adump'
*.audit_trail='db'
*.compatible='12.1.0.2.0'
*.control_files='+DATA/ORCL/CONTROLFILE/current.262.920883051','+DATA/ORCL/CONTROLFILE/current.261.920883051'
*.db_block_size=8192
*.db_create_file_dest='+DATA'
*.db_domain=''
*.db_name='orcl'
*.db_recovery_file_dest='+DATA'
*.db_recovery_file_dest_size=4560m
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP)(SERVICE=orclXDB)'
*.enable_pluggable_database=true
*.memory_target=1526m
*.open_cursors=300
*.processes=300
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
4) 控制文件是共有的,控制文件范例如下:[示例包含重建控制文件脚本]
STARTUP NOMOUNT
CREATECONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 1024
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 (
'+DATA/ORCL/ONLINELOG/group_1.263.920883053',
'+DATA/ORCL/ONLINELOG/group_1.264.920883053'
) SIZE 50M BLOCKSIZE 512,
GROUP 2 (
'+DATA/ORCL/ONLINELOG/group_2.265.920883053',
'+DATA/ORCL/ONLINELOG/group_2.266.920883053'
) SIZE 50M BLOCKSIZE 512,
GROUP 3 (
'+DATA/ORCL/ONLINELOG/group_3.267.920883055',
'+DATA/ORCL/ONLINELOG/group_3.268.920883055'
) SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
'+DATA/ORCL/DATAFILE/system.258.920882955',
'+DATA/ORCL/DATAFILE/sysaux.257.920882909',
'+DATA/ORCL/DATAFILE/undotbs1.260.920883011',
'+DATA/ORCL/FD9AC20F64D244D7E043B6A9E80A2F2F/DATAFILE/system.271.920883059',
'+DATA/ORCL/DATAFILE/users.259.920883011','+DATA/ORCL/FD9AC20F64D244D7E043B6A9E80A2F2F/DATAFILE/sysaux.270.920883059',
'+DATA/ORCL/3AFC9AE739981448E05342F4A8C0E4F8/DATAFILE/system.274.920883601', '+DATA/ORCL/3AFC9AE739981448E05342F4A8C0E4F8/DATAFILE/sysaux.275.920883601','+DATA/ORCL/3AFC9AE739981448E05342F4A8C0E4F8/DATAFILE/users.277.920883611'
CHARACTER SET ZHS16GBK
;
RECOVER DATABASE
ALTER DATABASE OPEN;
ALTER PLUGGABLE DATABASE ALL OPEN;
ALTER TABLESPACE TEMP ADDTEMPFILE '+DATA/ORCL/TEMPFILE/temp.269.920883057'
SIZE 206569472 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;
ALTER SESSION SET CONTAINER = PDB$SEED;
ALTER TABLESPACE TEMP ADDTEMPFILE'+DATA/ORCL/FD9AC20F64D244D7E043B6A9E80A2F2F/DATAFILE/pdbseed_temp012016-08-26_08-51-37-am.dbf'SIZE 104857600 REUSE AUTOEXTEND ON NEXT655360 MAXSIZE 32767M;
ALTER SESSION SET CONTAINER = PDORCL;
ALTER TABLESPACE TEMP ADDTEMPFILE'+DATA/ORCL/3AFC9AE739981448E05342F4A8C0E4F8/TEMPFILE/temp.276.920883605' SIZE20971520 REUSE AUTOEXTEND ON NEXT655360 MAXSIZE 32767M;
ALTER SESSION SET CONTAINER = CDB$ROOT;七.CDB及PDB环境的备份
这种环境在RMAN环境执行backupdatabase的备份,会备份以下三种4种文件
1) cdb下表空间的数据文件的备份集
2) PDB下表空间的数据文件的备份集
3) PDB$SEED下表空间的数据文件的备份集
4) 参数文件及控制文件的备份集
oracle12c cdb修改,ORACLE 12C 新特性CDB及PDB相关推荐
- oracle中pdb,Oracle 12C新特性-CDB和PDB 详解
最近看到好多人都在尝试Oracle中的12C新特性-容器数据库,今年3月Orcle推出了Release2版本,可以算是一个稳定版本了.下午着手尝试了一下,还是蛮不错得 1.前言 CDB与PDB是Ora ...
- oracle12c启动apply,Oracle 12c 新特性 -- DG 默认使用 Real-Time Apply
https://www.cndba.cn/dave/article/213 1 理论说明 在Oracle 12c 之前的Data Guard 环境中,默认情况下备库apply redo 是从备库 ...
- oracle12c生命周期,Oracle 12c 新特性之: ILM 数据生命周期管理
张乐奕 云和恩墨副总经理,Oracle ACE总监,ACOUG 联合创始人 ILM 全称是 Information Lifecycle Management,意思是信息生命周期管理,听上去很高端洋气的 ...
- Oracle 12c新特性-多租户的维护管理
云和恩墨技术专家 现就职于云和恩墨,为某省电信公司数据库运维服务:在IT行业拥有10年以上的工作经历.擅长 ORACLE 数据库运维管理.shell 脚本开发:长期服务于电信.金融,政府行业:具有丰富 ...
- Oracle 12c新特性--LREG进程专门负责注册实例服务
Oracle 12c引入了一些大量的新特性,数据库隐藏参数12.2比11.2就多了2000多个, 同时对之前版本的结构也发生了一些变化,虽然不如有些特性像temporary undo\immemory ...
- Oracle 12C 新特性之扩展数据类型(extended data type)
Oracle 12C 新特性-扩展数据类型,在12c中,与早期版本相比,诸如VARCHAR2, NAVARCHAR2以及 RAW这些数据类型的大小会从4K以及2K字节扩展至32K字节.只要可能,扩展字 ...
- oracle 12c undo,Oracle 12c 新特性之临时Undo--temp_undo_enabled
Oracle 12c 新特性之临时Undo--temp_undo_enabled 每个 Oracle 数据库包含一组与系统相关的表空间,例如 SYSTEM , SYSAUX , UNDO&TE ...
- 【云和恩墨大讲堂】高凯 | Oracle 12c 新特性-多租户的维护管理
"云和恩墨大讲堂" 线上课程周四晚继续开讲.本期我们邀请的嘉宾是云和恩墨西北区技术专家 - 高凯,在这里跟大家分享一下 Oracle 12c 新特性方面的主题.课程以图文形式在微信 ...
- oracle12c 新增维护时间窗口,ORACLE 12C新特性-自动维护全局索引 | 信春哥,系统稳,闭眼上线不回滚!...
今天在网上看了一篇关于12C新特性-自动维护全局索引的帖子,经测试,貌似根本不是那么回事呀.如果对分区表进行分区DDL操作,如果不加update index字句,全局索引就会失效,下面先看一下是11. ...
- oracle12c asmfd,Oracle 12c新特性--ASMFD(ASM Filter Driver)特性
1 说明 ASMFD 是 12.1 中就引入的新特性,它可以不用手动配置 ASM 磁盘,更重要的是它可以保护磁盘被其他非 Oracle 操作复写,例如 dd , echo 等命令. 更为详尽的介绍,请 ...
最新文章
- 让程序员不再苦逼的四大神器
- JDK8新特性(二)之接口新增的两个方法
- webpack打包优化_如何提升 Webpack 打包速度
- ebay html描述模板,ebay产品描述模板
- 身为管理者 会讲的六十八个故事
- 【JDK】win 10 / win 11:jdk 8 下载、安装、配置、验证
- 使用360文件粉碎机卸载北信源软件
- 银河麒麟安装docker-compose体验
- Android 如何判断萤石云视频是否可以播放
- 《场景革命》读书笔记
- 笔记 黑马程序员C++教程从0到1入门编程——提高编程02
- 编写第一个JSP文件
- 算法总结(六)Isomap(Isometric mapping等度量映射)和LLE(Locally Linear Embedding)的理解
- python生成日期列表_PYTHON生成日期维度表
- android 模拟输入,Android开发中如何模拟输入
- flash模板 超级链接该如何加
- JAVA实现Excel照相机功能_Excel2010中的照相机功能如何使用?
- 郑州python培训机构排名
- WEB个人网页问题汇总及分享总结
- JSP课设:学生选课系统(附源码+调试)