Oracle 12c CDB环境创建PDB的几种方法

1、DBCA

DBCA是图形化界面,这里就不演示了…

2、克隆种子容器

"""查看数据库PDB""
SYS@dgpri>select con_id,name,dbid,open_mode from v$containers;

CON_ID NAME		     DBID OPEN_MODE
------ --------------- ---------- --------------------
     1 CDB$ROOT        2058728742 READ WRITE
     2 PDB$SEED        4064618166 READ ONLY
     3 PDB01	       3794412324 READ WRITE

"""从种子PDB中克隆pdb02并指定pdb02的管理用户pdb02_admin"""
SYS@dgpri>create pluggable database pdb02 admin user pdb02_admin identified by pdb02_admin storage unlimited;

Pluggable database created.

如果存储文件的是使用FS格式,则需要使用file_name_convert = ('seed pdb file base name','new pdb file base name')

SYS@dgpri>select con_id,name,dbid,open_mode from v$containers;

CON_ID NAME		     DBID OPEN_MODE
------ --------------- ---------- --------------------
     1 CDB$ROOT        2058728742 READ WRITE
     2 PDB$SEED        4064618166 READ ONLY
     3 PDB01	       3794412324 READ WRITE
     4 PDB02	       3896516093 MOUNTED

SYS@dgpri>alter pluggable database pdb02 open;

Pluggable database altered.

SYS@dgpri>select username,account_status from dba_users where username = 'PDB02_ADMIN';

no rows selected

SYS@dgpri>alter session set container = pdb02;

Session altered.

SYS@dgpri>select username,account_status from dba_users where username = 'PDB02_ADMIN';

USERNAME	      ACCOUNT_STATUS
--------------------- ----------------------
PDB02_ADMIN	      OPEN

SYS@dgpri>conn / as sysdba;
Connected.
SYS@dgpri>show con_name;

CON_NAME
------------------------------
CDB$ROOT
SYS@dgpri>select a.con_id,a.name,b.tablespace_name,b.file_name from v$containers a,cdb_data_files b where a.con_id = b.con_id order by con_id;

CON_ID NAME	       TABLESPACE FILE_NAME
------ --------------- ---------- -----------------------------------------------------------------
     1 CDB$ROOT        SYSTEM	  +DATA/ZZZ/DATAFILE/system.257.1025368019
     1 CDB$ROOT        SYSAUX	  +DATA/ZZZ/DATAFILE/sysaux.258.1025368115
     1 CDB$ROOT        UNDOTBS1   +DATA/ZZZDGPRI/DATAFILE/undotbs1.259.1033397609
     1 CDB$ROOT        USERS	  +DATA/ZZZ/DATAFILE/users.260.1025368163
     3 PDB01	       SYSTEM	  +DATA/ZZZ/983CE29D0D69427CE053103BA8C05ACC/DATAFILE/system.272.10
				  25369069

     3 PDB01	       SYSAUX	  +DATA/ZZZ/983CE29D0D69427CE053103BA8C05ACC/DATAFILE/sysaux.273.10
				  25369069

     3 PDB01	       USERS	  +DATA/ZZZ/983CE29D0D69427CE053103BA8C05ACC/DATAFILE/users.275.102
				  5369253

     3 PDB01	       UNDOTBS1   +DATA/ZZZ/983CE29D0D69427CE053103BA8C05ACC/DATAFILE/undotbs1.271.
				  1025369067

     4 PDB02	       SYSAUX	  +DATA/ZZZDGPRI/9F77EA9F77302CD9E053103BA8C055F5/DATAFILE/sysaux.2
				  89.1033405575

     4 PDB02	       SYSTEM	  +DATA/ZZZDGPRI/9F77EA9F77302CD9E053103BA8C055F5/DATAFILE/system.2
				  87.1033405575

     4 PDB02	       UNDOTBS1   +DATA/ZZZDGPRI/9F77EA9F77302CD9E053103BA8C055F5/DATAFILE/undotbs1
				  .288.1033405575


11 rows selected.

3、克隆已有的PDB

SYS@dgpri>show con_name;

CON_NAME
------------------------------
CDB$ROOT
SYS@dgpri>select con_id,name,dbid,open_mode from v$containers;

CON_ID NAME		     DBID OPEN_MODE
------ --------------- ---------- --------------------
     1 CDB$ROOT        2058728742 READ WRITE
     2 PDB$SEED        4064618166 READ ONLY
     3 PDB01	       3794412324 READ WRITE
     4 PDB02	       3896516093 READ WRITE

"""被克隆的PDB必须处于read only状态"""

SYS@dgpri>alter pluggable database pdb01 close;

Pluggable database altered.

SYS@dgpri>select con_id,name,dbid,open_mode from v$containers;

CON_ID NAME		     DBID OPEN_MODE
------ --------------- ---------- --------------------
     1 CDB$ROOT        2058728742 READ WRITE
     2 PDB$SEED        4064618166 READ ONLY
     3 PDB01	       3794412324 MOUNTED
     4 PDB02	       3896516093 READ WRITE

SYS@dgpri>alter pluggable database pdb01 open read only;

Pluggable database altered.

SYS@dgpri>select con_id,name,dbid,open_mode from v$containers;

CON_ID NAME		     DBID OPEN_MODE
------ --------------- ---------- --------------------
     1 CDB$ROOT        2058728742 READ WRITE
     2 PDB$SEED        4064618166 READ ONLY
     3 PDB01	       3794412324 READ ONLY
     4 PDB02	       3896516093 READ WRITE

"""克隆已存在的PDB时不能指定PDB的管理用户"""

SYS@dgpri>create pluggable database pdb03 admin user pdb03_admin identified by pdb03_admin from pdb01;
create pluggable database pdb03 admin user pdb03_admin identified by pdb03_admin from pdb01
                                                                                 *
ERROR at line 1:
ORA-00922: missing or invalid option


SYS@dgpri>create pluggable database pdb03 from pdb01;

Pluggable database created.

SYS@dgpri>select con_id,name,dbid,open_mode from v$containers;

CON_ID NAME		     DBID OPEN_MODE
------ --------------- ---------- --------------------
     1 CDB$ROOT        2058728742 READ WRITE
     2 PDB$SEED        4064618166 READ ONLY
     3 PDB01	       3794412324 READ ONLY
     4 PDB02	       3896516093 READ WRITE
     5 PDB03	       2768682114 MOUNTED

SYS@dgpri>alter pluggable database pdb01 close;

Pluggable database altered.

SYS@dgpri>alter pluggable database all open;

Pluggable database altered.

SYS@dgpri>select con_id,name,dbid,open_mode from v$containers;

CON_ID NAME		     DBID OPEN_MODE
------ --------------- ---------- --------------------
     1 CDB$ROOT        2058728742 READ WRITE
     2 PDB$SEED        4064618166 READ ONLY
     3 PDB01	       3794412324 READ WRITE
     4 PDB02	       3896516093 READ WRITE
     5 PDB03	       2768682114 READ WRITE

SYS@dgpri>select a.con_id,a.name,b.file#,b.name as file_name from v$pdbs a,v$datafile b where a.con_id = b.con_id order by con_id;

CON_ID NAME	       FILE# FILE_NAME
------ ---------- ---------- --------------------------------------------------------------------------------
     2 PDB$SEED 	   8 +DATA/ZZZ/811A060B58140C01E053DC06E80AF3C6/DATAFILE/undotbs1.268.1025368389
     2 PDB$SEED 	   6 +DATA/ZZZ/811A060B58140C01E053DC06E80AF3C6/DATAFILE/sysaux.267.1025368389
     2 PDB$SEED 	   5 +DATA/ZZZ/811A060B58140C01E053DC06E80AF3C6/DATAFILE/system.266.1025368389
     3 PDB01		  11 +DATA/ZZZ/983CE29D0D69427CE053103BA8C05ACC/DATAFILE/undotbs1.271.1025369067
     3 PDB01		  10 +DATA/ZZZ/983CE29D0D69427CE053103BA8C05ACC/DATAFILE/sysaux.273.1025369069
     3 PDB01		   9 +DATA/ZZZ/983CE29D0D69427CE053103BA8C05ACC/DATAFILE/system.272.1025369069
     3 PDB01		  12 +DATA/ZZZ/983CE29D0D69427CE053103BA8C05ACC/DATAFILE/users.275.1025369253
     4 PDB02		  16 +DATA/ZZZDGPRI/9F77EA9F77302CD9E053103BA8C055F5/DATAFILE/system.287.1033405575
     4 PDB02		  17 +DATA/ZZZDGPRI/9F77EA9F77302CD9E053103BA8C055F5/DATAFILE/sysaux.289.1033405575
     4 PDB02		  18 +DATA/ZZZDGPRI/9F77EA9F77302CD9E053103BA8C055F5/DATAFILE/undotbs1.288.1033405575
     5 PDB03		  19 +DATA/ZZZDGPRI/9F7805F34368453EE053103BA8C03888/DATAFILE/system.293.1033406197
     5 PDB03		  20 +DATA/ZZZDGPRI/9F7805F34368453EE053103BA8C03888/DATAFILE/sysaux.294.1033406197
     5 PDB03		  21 +DATA/ZZZDGPRI/9F7805F34368453EE053103BA8C03888/DATAFILE/undotbs1.292.1033406197
     5 PDB03		  22 +DATA/ZZZDGPRI/9F7805F34368453EE053103BA8C03888/DATAFILE/users.291.1033406195

4、插入一个以前拔出的PDB

SYS@dgpri>select con_id,name,dbid,open_mode from v$containers;

CON_ID NAME		     DBID OPEN_MODE
------ --------------- ---------- --------------------
     1 CDB$ROOT        2058728742 READ WRITE
     2 PDB$SEED        4064618166 READ ONLY
     3 PDB01	       3794412324 READ WRITE
     4 PDB02	       3896516093 READ WRITE
     5 PDB03	       2768682114 READ WRITE


"""只卸载PDB元数据(不会删除PDB的数据文件可再次插入到CDB中)"""

SYS@dgpri>alter pluggable database pdb03 unplug into '/home/oracle/pdb03.xml';
alter pluggable database pdb03 unplug into '/home/oracle/pdb03.xml'
*
ERROR at line 1:
ORA-65025: Pluggable database PDB03 is not closed on all instances.


SYS@dgpri>alter pluggable database pdb03 close;

Pluggable database altered.

SYS@dgpri>alter pluggable database pdb03 unplug into '/home/oracle/pdb03.xml';

Pluggable database altered.

SYS@dgpri>select con_id,name,dbid,open_mode from v$containers;

CON_ID NAME		     DBID OPEN_MODE
------ --------------- ---------- --------------------
     1 CDB$ROOT        2058728742 READ WRITE
     2 PDB$SEED        4064618166 READ ONLY
     3 PDB01	       3794412324 READ WRITE
     4 PDB02	       3896516093 READ WRITE
     5 PDB03	       2768682114 MOUNTED

SYS@dgpri>alter pluggable database pdb03 open;
alter pluggable database pdb03 open
*
ERROR at line 1:
ORA-65086: cannot open/close the pluggable database


SYS@dgpri>drop pluggable database pdb03;

Pluggable database dropped.

SYS@dgpri>select con_id,name,dbid,open_mode from v$containers;

CON_ID NAME		     DBID OPEN_MODE
------ --------------- ---------- --------------------
     1 CDB$ROOT        2058728742 READ WRITE
     2 PDB$SEED        4064618166 READ ONLY
     3 PDB01	       3794412324 READ WRITE
     4 PDB02	       3896516093 READ WRITE

SYS@dgpri>create pluggable database pdb03 using '/home/oracle/pdb03.xml';

Pluggable database created.

SYS@dgpri>select con_id,name,dbid,open_mode from v$containers;

CON_ID NAME		     DBID OPEN_MODE
------ --------------- ---------- --------------------
     1 CDB$ROOT        2058728742 READ WRITE
     2 PDB$SEED        4064618166 READ ONLY
     3 PDB01	       3794412324 READ WRITE
     4 PDB02	       3896516093 READ WRITE
     6 PDB03	       2768682114 MOUNTED

SYS@dgpri>alter pluggable database pdb03 open;

Pluggable database altered.

SYS@dgpri>select con_id,name,dbid,open_mode from v$containers;

CON_ID NAME		     DBID OPEN_MODE
------ --------------- ---------- --------------------
     1 CDB$ROOT        2058728742 READ WRITE
     2 PDB$SEED        4064618166 READ ONLY
     3 PDB01	       3794412324 READ WRITE
     4 PDB02	       3896516093 READ WRITE
     6 PDB03	       2768682114 READ WRITE
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值