您好,登錄后才能下訂單哦!
利用備份恢復的第一步就是從備份中還原數據文件。
還原數據文件的動作很簡單,就是利用操作系統命令將備份的數據文件拷貝到數據文件的位置。需要注意的是這個動作的準備動作。
首先需要確定哪些數據文件需要還原,然后確定合適的備份,這個備份一般是最近的備份,但也有可能需要從以前的備份恢復。
在下面的步驟中,為了模擬數據庫打開狀態下數據文件的損壞,使用了Ultraedit修改了USERS表空間的數據文件。
SQL> SELECT COUNT(*) FROM TEST;
SELECT COUNT(*) FROM TEST
*
ERROR 位于第 1 行:
ORA-00376: 此時無法讀取文件 5
ORA-01110: 數據文件 5: 'F:ORACLEORADATATESTUSERS01.DBF'
首先查詢V$RECOVER_FILE視圖,這個視圖中會包括需要恢復的數據文件的名稱,已經數據文件的錯誤類型。注意,從備份中恢復的控制文件或通過CREATE CONTROLFILE重新創建的控制文件不會包含損壞的數據文件的信息。
SQL> SELECT * FROM V$RECOVER_FILE;
FILE# ONLINE ONLINE_ ERROR CHANGE# TIME
---------- ------- ------- -------------------- ---------- -------------------
5 OFFLINE OFFLINE CORRUPT HEADER 1109606706 2006-02-08 02:05:11
然后確定該數據文件的物理位置:
SQL> SELECT D.NAME, T.NAME AS TABLESPACE_NAME
2 FROM V$DATAFILE D, V$TABLESPACE T
3 WHERE T.TS# = D.TS#
4 AND D.FILE# = 5;
NAME TABLESPACE_NAME
---------------------------------------- ------------------------------
F:ORACLEORADATATESTUSERS01.DBF USERS
由于數據庫處于打開狀態,首先將表空間脫機:
SQL> ALTER TABLESPACE USERS OFFLINE IMMEDIATE;
表空間已更改。
SQL> HOST COPY F:ORACLEBACKUPTEST20060207USERS01.DBF F:ORACLEORADATATESTUSERS01.DBF
SQL> RECOVER TABLESPACE USERS;
完成介質恢復。
SQL> ALTER TABLESPACE USERS ONLINE;
表空間已更改。
SQL> SELECT COUNT(*) FROM TEST;
COUNT(*)
----------
6288
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。