Oracle 12c PDB的資料備份恢復
今天測試了一下12c中的PDB還原恢復,裡面還是有不少的差別。
我就簡單模擬了一個破壞場景,是在一個未開啟的PDB tcymob0從中刪除了資料檔案usres01.dbf,然後嘗試備份恢復。
當然在這個操作前,我們使用RMAN來備份,使用命令backup database即可備份整個資料庫。
手工破壞的語句如下:
$ rm /U01/app/oracle/oradata/test12cs/tcymob0/pdbseed/users01.dbf這個時候的還原工作就很清晰了,直接還原對應的表空間或者資料檔案都可以。比如表空間是users,則需要指定PDB的名字。
RMAN> restore tablespace tcymob0:users;
RMAN> recovertablespace tcymob0:users;
Starting recover at 2017-06-03 22:58:31
using channel ORA_DISK_1
starting media recovery
media recovery complete, elapsed time: 00:00:00
Finished recover at 2017-06-03 22:58:31
整個恢復工作做好之後,留下來的任務就是直接啟庫了,但是奇怪的是卻報了下面的錯誤。
SQL> alter pluggable database tcymob0 open;
alter pluggable database tcymob0 open
*
ERROR at line 1:
ORA-65086: cannot open/close the pluggable database
Oracle對這個錯誤的解釋如下:
oerr ora 65086
65086, 00000, "cannot open/close the pluggable database"
// *Cause: The pluggable database has been unplugged.
// *Action: The pluggable database can only be dropped.
//
這下我還真想起來了,之前測試的時候,我使用RMAN模擬跨平臺的PDB備份恢復,使用了unplug的方式,根據這個錯誤,對於這個問題也有了思路。
之前unplug的語句如下:
ALTER PLUGGABLE DATABASE tcymob0 UNPLUG INTO '/tmp/tcymob0.xml';
在這個基礎上,我們可以使用plugging的方式重新掛載即可。
drop pluggable database tcymob0;
CREATE pluggable DATABASE tcymob0 USING '/tmp/tcymob0.xml' NOCOPY;
alter pluggable database tcymob0 open;
而在這個時候,需要做的第一件事情,就是重新備份了。因為有了drop pluggable database的操作之後,容器的設定會發生變化,比如con_id,原來的備份就識別不了了。
RMAN> restore tablespace tcymob0:system;
Starting restore at 2017-06-03 23:29:49
RMAN-06026: some targets not found - aborting restore
RMAN-06023: no backup or copy of datafile 137 found to restore
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29734436/viewspace-2140757/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【RECO_ORACLE】Oracle 12c之CDB與PDB的備份與恢復(四)PDB的幾種恢復方式Oracle
- 【BAK_ORACLE】Oracle 12c之CDB與PDB的備份與恢復(三)CDB與PDB的備份方式Oracle
- 【ASK_ORACLE】Oracle 12c之CDB與PDB的備份與恢復(二)備份恢復之前你需要知道的Oracle
- Oracle 12c多租戶特性詳解:PDB 的備份與恢復Oracle
- Oracle 12c 備份與恢復Oracle
- 【ASK_ORACLE】Oracle 12c之CDB與PDB的備份與恢復(一)什麼是CDB與PDB?Oracle
- 【備份恢復】Oracle 資料備份與恢復微實踐Oracle
- oracle 12c rman備份pdbOracle
- Oracle12c多租戶資料庫備份與恢復 - 恢復一個PDBOracle資料庫
- Oracle12c多租戶資料庫備份與恢復 - PDB中資料檔案的恢復Oracle資料庫
- Oracle12c多租戶資料庫備份與恢復 - 僅備份一個PDB資料庫Oracle資料庫
- 【備份恢復】從備份恢復資料庫資料庫
- Oracle資料泵的備份與恢復Oracle
- oracle資料庫的備份與恢復Oracle資料庫
- Oracle 12c 備份恢復OCR(Oracle Cluster Registry)Oracle
- Oracle備份恢復五(資料泵)Oracle
- Oracle備份與恢復【丟失資料檔案的恢復】Oracle
- Oracle資料庫的備份與恢復(轉)Oracle資料庫
- Oracle 資料庫的備份與恢復(轉)Oracle資料庫
- Oracle資料庫備份與恢復之三:OS備份/使用者管理的備份與恢復Oracle資料庫
- 【備份恢復】資料恢復指導資料恢復
- 備份與恢復:polardb資料庫備份與恢復資料庫
- Oracle資料庫冷備份的異地恢復Oracle資料庫
- ORACLE RAC資料庫的備份與恢復(6)Oracle資料庫
- ORACLE RAC資料庫的備份與恢復(5)Oracle資料庫
- ORACLE RAC資料庫的備份與恢復(4)Oracle資料庫
- ORACLE RAC資料庫的備份與恢復(3)Oracle資料庫
- ORACLE RAC資料庫的備份與恢復(2)Oracle資料庫
- ORACLE RAC資料庫的備份與恢復(1)Oracle資料庫
- oracle資料庫備份和恢復的內容Oracle資料庫
- Oracle備份恢復之熱備份恢復及異機恢復Oracle
- oracle 12c 多租戶 pdb 恢復(單個pdb資料檔案、非系統pdb表空間、整個pdb資料庫)Oracle資料庫
- Oracle資料庫備份與恢復之RMANOracle資料庫
- oracle實驗記錄 (恢復-恢復未備份的資料檔案)Oracle
- 【備份恢復】noarchive模式下使用增量備份恢復資料庫Hive模式資料庫
- Oracle資料庫的冷備份及冷備份異地恢復方法Oracle資料庫
- 備份與恢復--從備份的歸檔日誌中恢復資料
- Redis的資料備份與恢復Redis