CREATE PLUGGABLE DATABASE { { pdb_name [ AS APPLICATION CONTAINER ] | using_snapshot_clause} | { AS SEED } } { create_pdb_from_seed | create_pdb_clone | create_pdb_from_xml | create_pdb_from_mirror_copy | container_map_clause } pdb_snapshot_clause ;
创建pdb:
create pluggable database pdb1 admin user pdb1 identified by pdb1 create_file_dest='+DATADG';
Creating a PDB by Using the Seed:
Example:
CREATE PLUGGABLE DATABASE salespdb ADMIN USER salesadm IDENTIFIED BY password ROLES = (dba) DEFAULT TABLESPACE sales DATAFILE '/disk1/oracle/dbs/salespdb/sales01.dbf' SIZE 250M AUTOEXTEND ON FILE_NAME_CONVERT = ('/disk1/oracle/dbs/pdbseed/', '/disk1/oracle/dbs/salespdb/') STORAGE (MAXSIZE 2G) PATH_PREFIX = '/disk1/oracle/dbs/salespdb/';
测试
SQL> alter session set container=PDB$SEED;
Session altered.
SQL> select file_name from dba_data_files;
FILE_NAME
--------------------------------------------------------------------------------
+DATADG/RAC19C/86B637B62FE07A65E053F706E80A27CA/DATAFILE/system.289.1024665461
+DATADG/RAC19C/86B637B62FE07A65E053F706E80A27CA/DATAFILE/sysaux.290.1024665461
+DATADG/RAC19C/86B637B62FE07A65E053F706E80A27CA/DATAFILE/undotbs1.291.1024665461SQL> select file_name from dba_temp_files;
FILE_NAME
--------------------------------------------------------------------------------
+DATADG/RAC19C/9799101B84DB3E52E0530B38A8C08802/TEMPFILE/temp.292.1024665529如果要指定目录名需要创建绝对路径目录
create pluggable database seedtest admin user seedtest identified by seedtest roles = (dba) file_name_convert=('+DATADG/RAC19C/86B637B62FE07A65E053F706E80A27CA/DATAFILE/system.289.1024665461','+DATADG/RAC19C/SEEDTEST/DATAFILE/system.dbf','+DATADG/RAC19C/86B637B62FE07A65E053F706E80A27CA/DATAFILE/sysaux.290.1024665461','+DATADG/RAC19C/SEEDTEST/DATAFILE/sysaux.dbf','+DATADG/RAC19C/86B637B62FE07A65E053F706E80A27CA/DATAFILE/undotbs1.291.1024665461','+DATADG/RAC19C/SEEDTEST/DATAFILE/undotbs1.dbf','+DATADG/RAC19C/9799101B84DB3E52E0530B38A8C08802/TEMPFILE/temp.292.1024665529','+DATADG/RAC19C/SEEDTEST/TEMPFILE/temp.dbf');
如不指定目录
create pluggable database seedtest admin user seedtest identified by seedtest roles = (dba) file_name_convert=('+DATADG','+DATADG');
Cloning a PDB From an Existing PDB
Example:
CREATE PLUGGABLE DATABASE newpdb FROM salespdb FILE_NAME_CONVERT = ('/disk1/oracle/dbs/salespdb/', '/disk1/oracle/dbs/newpdb/') PATH_PREFIX = '/disk1/oracle/dbs/newpdb';
测试:
create pluggable database clonetest from seedtest;
如果使用绝对路径需要创建相应的目录
Plugging a PDB into a CDB:
Example:
CREATE PLUGGABLE DATABASE salespdb USING '/disk1/usr/salespdb.xml' SOURCE_FILE_NAME_CONVERT = ('/disk1/oracle/dbs/salespdb/', '/disk2/oracle/dbs/salespdb/') NOCOPY STORAGE (MAXSIZE 2G) TEMPFILE REUSE;
测试:
拔出pdb
SQL> alter pluggable database test close immediate;
Pluggable database altered.
SQL> alter pluggable database test unplug into '/home/oracle/test.xml';
Pluggable database altered.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB11G READ WRITE NO
4 TEST MOUNTED
6 CLONETEST MOUNTED
7 SEEDTEST READ WRITE NO
9 PDB1 MOUNTED拔出的pdb只能删除
SQL> alter pluggable database test open;
alter pluggable database test open
*
ERROR at line 1:
ORA-65086: cannot open/close the pluggable database
SQL> drop pluggable database test;Pluggable database dropped.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB11G READ WRITE NO
6 CLONETEST MOUNTED
7 SEEDTEST READ WRITE NO
9 PDB1 MOUNTED
插入
SQL> create pluggable database t1 using '/home/oracle/test.xml';
Pluggable database created.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB11G READ WRITE NO
5 T1 MOUNTED
6 CLONETEST MOUNTED
7 SEEDTEST READ WRITE NO
9 PDB1 MOUNTED