Oracle12c多租戶資料庫 - PDB資料庫的unplug及plug 1

tolywang發表於2014-03-11

環境:

Oracle 12c , 多租戶資料庫

CDB1 test12 , 含有多個PDB: plugdb, mypdb1,mypdb2
CDB2 test12c, 也含有多個PDB: plugdb,mypdb1 

要求: 
現在要將test12 下的mypdb2拔出,插入到test12c這個CDB下(名稱改為pdb2)。


1.  先close pdb,然後在$ORACLE_HOME/assistants/dbca/templates,生成一個xml檔案描述pdb
原來檔案的路徑和scn等資訊;

[oracle@gtsv2088r ~]$ .  .bash_profile_12c_2
[oracle@gtsv2088r ~]$ env | grep  ORA
ORACLE_SID=test12
ORACLE_BASE=/data01/oracle12c
ORACLE_HOME=/data01/oracle12c/oracle
[oracle@gtsv2088r ~]$
[oracle@gtsv2088r ~]$ sqlplus / as sysdba

SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PLUGDB                         READ WRITE NO
         4 CONT01_PLUG01                  MOUNTED
         5 MYPDB1                         READ ONLY  NO
         6 MYPDB2                         READ WRITE NO
SQL>
SQL> alter pluggable database mypdb2 close ;
Pluggable database altered.

SQL> alter pluggable database mypdb2 unplug into '/data01/oracle12c/oracle/assistants/dbca/templates/test12_mypdb2.xml';
Pluggable database altered.

 
2.  將pdb的檔案複製到某個bak目錄或直接複製(scp)到目標CDB的目錄下。

[oracle@gtsv2088r test12]$ ls
arch          control01.ctl  mypdb1  mypdb2_bak  plugdb      redo02.log  sysaux01.dbf  temp01.dbf     users01.dbf
cont01plug01  control02.ctl  mypdb2  pdbseed     redo01.log  redo03.log  system01.dbf  undotbs01.dbf
[oracle@gtsv2088r test12]$ pwd
/data01/oracle12c/oradata/test12
[oracle@gtsv2088r test12]$
[oracle@gtsv2088r test12]$ cp  -R  mypdb2  mypdb2_bak

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-1107561/,如需轉載,請註明出處,否則將追究法律責任。

相關文章