拔出本地pdb,插入到本地另一个cdb中
从 cdb1211 中拔出 PRODPDB ,插入到 cdb1 中
$ export ORACLE_SID=cdb1211
$ sqlplus / as sysdba
SYS@cdb1211> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
2 PDB$SEED READ ONLY NO 3 PRODPDB MOUNTED
复制
SYS@cdb1211>
拔出 prodpdb
SYS@cdb1211> alter pluggable database prodpdb unplug into ‘/home/oracle/prodpdb.xml’;
SYS@cdb1211> col pdb_name for a10
SYS@cdb1211> select pdb_name,status from cdb_pdbs where pdb_name=‘PRODPDB’;
PDB_NAME STATUS
PRODPDB UNPLUGGED
SYS@cdb1211> drop pluggable database prodpdb keep datafiles;
检查兼容性
使用 DBMS_PDB.CHECK_PLUG_COMPATIBILITY 函数检查拔出的 prodpdb 与 cdb1 是否
兼容
SET SERVEROUTPUT ON
DECLARE
compatible CONSTANT VARCHAR2(3) :=
CASE DBMS_PDB.CHECK_PLUG_COMPATIBILITY(
pdb_descr_file => ‘/home/oracle/prodpdb.xml’,
pdb_name => ‘PRODPDB’)
WHEN TRUE THEN ‘YES’
ELSE ‘NO’
END;
BEGIN
DBMS_OUTPUT.PUT_LINE(compatible);
END;
/
返回 YES 满足兼容性要求
插入 cdb1
SYS@cdb1> create pluggable database prodpdb2 using ‘/home/oracle/prodpdb.xml’ nocopy;
nocopy : 使用原来路径下数据文件
open 打开插入的 prodpdb2
SYS@cdb1> show pdbs
SYS@cdb1>alter pluggable database prodpdb2 open;
SYS@cdb1> col file_name for a60
SYS@cdb1> select file_name from cdb_data_files where con_id=5;
FILE_NAME
/u01/app/oracle/oradata/cdb1211/prodpdb/system01.dbf
/u01/app/oracle/oradata/cdb1211/prodpdb/sysaux01.dbf
/u01/app/oracle/oradata/cdb1211/prodpdb/undotbs01.dbf
/u01/app/oracle/oradata/cdb1211/prodpdb/users01.dbf
SYS@cdb1>