Oracle 12c 新特性之 Multitenant Architecture (二)
来源:互联网 发布:剑三捏脸数据截图 编辑:程序博客网 时间:2024/05/19 13:45
要使用CDB环境,我们首先要创建一个CDB,其实创建起来是非常简单的,和non-CDB差不多,总的来说有两种方式:(1)使用DBCA的方式,这也是Oracle强烈推荐的一种方式 (2)使用SQLPLUS来创建。
在一个CDB中,大部分用户数据是放在PDB中的,只有非常少的数据放在root容器中,一个CDB最多包含253个PDB,并且seed也是算在内的。对于每个容器(root seed pdbs)都有单独的数据文件,但对于一个单实例的CDB,redolog只有一份,RAC环境下每个实例一份,所有的数据文件和redolog都必许放在共享存储上。一个CDB中只有一个参数文件,默认是spfile,在root中设置的参数会被自动继承到pdb中,涉及到参数文件内容的修改,可以使用传统alter system …..,但此时的容器必须是root,如果修改某个pdb的参数,则可以使用alter system set …=xxx container=current/all scope=xxxx;对于单个pdb的参数修改并没有记录到spfile中,而是记录到了pdb_spfile$的表中了:
SQL> select con_id,dbid,name from v$pdbs; CON_ID DBID NAME---------- ---------- ------------- 2 4064981781 PDB$SEED 3 1752457863 NEWPDB1 4 1337772140 NEWPDB2SQL> selectDB_UNIQ_NAME,PDB_UID,SID,NAME,VALUE$ from pdb_spfile$;DB_UNIQ_NA PDB_UID SID NAME VALUE$---------- ---------- ----------------------- ----------newcdb 1752457863 * open_cursors 150
对于CDB中的表空间,每个容器都有自己的表空间,但redolog和controlfile只能有一个,
例如下面CDB名为newcdb,包含两个PDB为newpdb1 newpdb2,查看相关文件就可以验证这些
,我们可以为root和pdb指定单独的默认表空间。活动的UNDO表空间在整个CDB中只能有一个
SQL> select FILE#,TS#,NAME,CON_ID fromv$datafile order by 4; FILE# TS# NAME CON_ID---------- ---------- ------------------------------------------------------------ 6 4/u01/oracle/oradata/newcdb/users01.dbf 1 3 1/u01/oracle/oradata/newcdb/sysaux01.dbf 1 4 2/u01/oracle/oradata/newcdb/undotbs01.dbf 1 1 0/u01/oracle/oradata/newcdb/system01.dbf 1 5 0/u01/oracle/oradata/newcdb/pdbseed/system01.dbf 2 7 1/u01/oracle/oradata/newcdb/pdbseed/sysaux01.dbf 2 8 0/u01/oracle/oradata/newcdb/newpdb1/system01.dbf 3 9 1/u01/oracle/oradata/newcdb/newpdb1/sysaux01.dbf 3 10 3/u01/oracle/oradata/newcdb/newpdb1/newpdb1_users01 3 .dbf FILE# TS# NAME CON_ID---------- ------------------------------------------------------------ ---------- 11 0/u01/oracle/oradata/newcdb/newpdb2/system01.dbf 4 12 1/u01/oracle/oradata/newcdb/newpdb2/sysaux01.dbf 4 13 3/u01/oracle/oradata/newcdb/newpdb2/newpdb2_users01 4 .dbfSQL> select group#,member,con_id from v$logfile; GROUP# MEMBER CON_ID------------------------------------------------------------ ---------- 3 /u01/oracle/oradata/newcdb/redo03.log 0 2 /u01/oracle/oradata/newcdb/redo02.log 0 1 /u01/oracle/oradata/newcdb/redo01.log 0SQL> select status,name,con_id fromv$controlfile;STATUS NAME CON_ID----------------------------------------------------------------------- ---------- /u01/oracle/oradata/newcdb/control01.ctl 0 /u01/oracle/fast_recovery_area/newcdb/control02.ct 0 L
对于内部的pdb里的数据库服务,在RAC架构下可以使用srvctl来添加,如果是单实例架构可以使用DBMS_SERVICE来修改,如下:
BEGIN DBMS_SERVICE.DELETE_SERVICE( service_name => 'newpdb1_test');END;BEGIN DBMS_SERVICE.CREATE_SERVICE( service_name => 'pdb1test', network_name => 'pdb1test');END;BEGIN DBMS_SERVICE.START_SERVICE(service_name => 'pdb1test');END;SQL> select service_id,name,network_namefrom ALL_SERVICES;SERVICE_ID NAME NETWORK_NAME---------- ---------------------------------------- 6 newpdb1 newpdb1 1 pdb1test pdb1test
通过lsnrctlstatus命令可以看到,pdb1test服务已经启动
Service"pdb1test" has 1 instance(s).
Instance "newcdb", status READY,has 1 handler(s) for this service...
The commandcompleted successfully
在CDB中,root和pdbs共享一个实例,我们可以启动和关闭整个CDB,但对于单个PDB不能进行这样的操作,当CDB打开后,可以对单独PDB使用ALTER PLUGGABLE DATABASE xxxx命令来改变PDB的状态。
SQL> show pdbs; CON_ID CON_NAME OPEN MODE RESTRICTED---------------------------------------- ---------- ---------- 2 PDB$SEED READ ONLY NO 3 NEWPDB1 READ WRITE NO 4 NEWPDB2 READ WRITE NOSQL> alter pluggable database newpdb1 close;Pluggable databasealtered.SQL> show pdbs; CON_ID CON_NAME OPEN MODE RESTRICTED---------------------------------------- ---------- ---------- 2 PDB$SEED READ ONLY NO 3 NEWPDB1 MOUNTED 4 NEWPDB2 READ WRITE NOSQL> alter pluggable database newpdb1 open;Pluggable database altered.SQL> show pdbs; CON_ID CON_NAME OPEN MODE RESTRICTED---------------------------------------- ---------- ---------- 2 PDB$SEED READ ONLY NO 3 NEWPDB1 READ WRITE NO 4 NEWPDB2 READ WRITE NO
- Oracle 12c 新特性之 Multitenant Architecture (二)
- Oracle 12c 新特性之 Multitenant Architecture (一)
- Oracle 12c 新特性之 Multitenant Architecture (三)
- Oracle 12c 新特性之 Multitenant Architecture (四)
- Oracle 12c 新特性之 Multitenant Architecture (五)
- Oracle 数据库12c新特性总结(二)
- Oracle Multitenant Option - 12c Frequently Asked Questions
- Oracle 12c新特性
- Oracle 12c 新特性
- Oracle 12c 新特性之 In-Database Archiving
- Oracle 12C 新特性之临时undo控制
- Oracle 12c Study之-- 分区表新特性
- oracle 12c 新特性之不可见字段
- Oracle 12c 新特性之 temp undo
- Oracle 12C 新特性之级联truncate
- Oracle 12C 新特性之 sqlplus查看History命令
- Oracle 12C 新特性之 恢复表
- Oracle GoldenGate 12c 配置Oracle Database 12c Multitenant database
- 在pcDuino上刷了AndDroid,Ubuntu,XBMC
- 使用rman backup命令创建备份系列之增量备份
- UVa:993 Product of digits
- 结构化数据加载性能
- HDU4472-第37届ACM/ICPC成都现场赛I题
- Oracle 12c 新特性之 Multitenant Architecture (二)
- VS2008 C++ 项目怎样添加“依赖”、“库目录”和“包含目录”
- hdu 1863 畅通工程
- 复制drawable 中的文件(图片或者数据库都可以)到sd卡
- centOS 6.4 (64bit) 安装 Python 2.7.5
- HDU1240:Asteroids!
- 题目1501:最大连续子序列乘积
- poj3624(01背包)
- 目录的相关命令