Oracle12c多租戶資料庫備份與恢復 - 恢復整個CDB和其下的PDBs 1

tolywang發表於2014-03-07

     DBCA建立空的(恢復)目標庫的時候,請注意填寫資料庫名稱那一頁,需要點選"Create As Container
Database"建立一個空的Container Database 或含有一個或多個PDBs的Container Database, 否則後面在
恢復的時候會報錯 ora-65093: container database not set up properly 。提示這個不是一個12c CDB
資料庫,而只是一個普通的12C資料庫。目前的版本下,普通的12c資料庫不能轉化為容器資料庫。

a. 根據源資料庫上datafile路徑編寫set newname的指令碼,儲存為 recover_alldb.sql

select  'set  newname  for  datafile  '''||name||'''   to   '''||name||''' ;'   from  v$datafile;

run{
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
set  newname  for  datafile  '/data01/oracle12c/oradata/test12c/system01.dbf'   to   '/data01/oracle12c/oradata/test12/system01.dbf' ;
......  包括所有CDB和PDBs的資料檔案,不包括temp及redo檔案 。
set  newname  for  datafile  '/data01/oracle12c/oradata/test12c/mypdb1/sysaux01.dbf'   to   '/data01/oracle12c/oradata/test12/mypdb1/sysaux01.dbf' ;
set  newname  for  datafile  '/data01/oracle12c/oradata/test12c/mypdb1/hw001.dbf'   to   '/data01/oracle12c/oradata/test12/mypdb1/hw001.dbf' ;
restore database force;
switch datafile all;
release channel c1;
release channel c2;
release channel c3;
}

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

相關文章