還原整個資料庫 (表格區和控制檔)
您可以還原整個資料庫 (所有表格區和控制檔)。還原之前,您必須先找到檔案。找到檔案時,請確定資料庫處於已開啟狀態。如果資料庫處於已開啟狀態,請使用 ALTER TABLESPACE. OFFLINE 陳述式可先將表格區或資料檔案設為離線狀態,再開始還原程序。
請採取以下步驟:
- 登入您要還原表格區或資料檔案的電腦。
- 使用下列命令尋找使用者表格區或資料檔案:
- 在您還原表格區或資料檔案之前,請先將資料庫的狀態變更為未裝載或關閉。
- 登入 Arcserve UDP 主控台。
- 使用還原精靈將表格區或資料檔案還原。如需還原程序的詳細資訊,請參閱〈如何從復原點還原〉。
- 登入目標電腦。
- 瀏覽至特定資料夾,並驗證表格區或資料檔案已還原。
- 復原資料庫。
- 套用提示的封存日誌。
- 附註:如果所需的封存日誌遺失,表示必要的重做記錄位在線上重做日誌中。因為執行個體失敗時,未封存的變更會位於線上日誌中,此狀況便會發生。您可以指定線上重做日誌檔的完整路徑,然後按下 Enter (您可能必須嘗試幾次,直到找到正確日誌為止)。
- 輸入下列命令,以傳回資料庫重做日誌的相關控制檔資訊:
- (選用) 輸入下列命令,以查看群組所有成員的名稱:
- 範例:在套用提示的封存日誌後,您可能會看到下列訊息:
- 指定線上重做日誌檔的完整路徑,然後按下 Enter。
- 範例:E:\app\Administrator\oradata\orcl\redo01.log
- 附註:您必須多次指定完整路徑,直到您取得正確日誌為止。
- 隨即顯示下列訊息:
- 在完成復原程序後,使用 RESETLOGS 子句開啟資料庫。
- 附註:對於多租用戶資料庫 (CDB/PDB),也必須開啟所有隨插即用資料庫。
- 針對多租用戶資料庫執行步驟 1 到 13 之後,將 Oracle 伺服器重新開機。
- 附註:對於只在獨立資料庫中執行的伺服器,不需要此步驟。
SQL> SELECT TABLESPACE_NAME, FILE_NAME from DBA_DATA_FILES;
SQL> SHOW PARAMETER CONTROL FILES;
SQL> STARTUP NOMOUNT;
SQL>shutdown immediate;
SQL> RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL;
SQL>SELECT * FROM V$LOG;
SQL>SELECT * FROM V$LOGFILE;
ORA-00279: change 55636 generated at 24/06/2014 16:59:47 needed for thread 1
ORA-00289: suggestion e:\app\Administrator\flash_recovery_area\orcl\ARCHIVELOG\2014_06_24\ O1_MF_1_2_9TKXGGG2_.ARC
ORA-00280: change 55636 for thread 1 is in sequence #24
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
日誌已套用
媒體復原完成
SQL> ALTER DATABASE OPEN RESETLOGS;
SQL> ALTER PLUGGABLE DATABASE <PDB_NAME> OPEN;
整個資料庫已還原。