溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

恢復(fù)之還原數(shù)據(jù)文件

發(fā)布時(shí)間:2020-08-11 07:29:02 來源:ITPUB博客 閱讀:126 作者:達(dá)芬奇的夢(mèng) 欄目:建站服務(wù)器

利用備份恢復(fù)的第一步就是從備份中還原數(shù)據(jù)文件。


還原數(shù)據(jù)文件的動(dòng)作很簡(jiǎn)單,就是利用操作系統(tǒng)命令將備份的數(shù)據(jù)文件拷貝到數(shù)據(jù)文件的位置。需要注意的是這個(gè)動(dòng)作的準(zhǔn)備動(dòng)作。

首先需要確定哪些數(shù)據(jù)文件需要還原,然后確定合適的備份,這個(gè)備份一般是最近的備份,但也有可能需要從以前的備份恢復(fù)。

在下面的步驟中,為了模擬數(shù)據(jù)庫(kù)打開狀態(tài)下數(shù)據(jù)文件的損壞,使用Ultraedit修改了USERS表空間的數(shù)據(jù)文件。

SQL> SELECT COUNT(*) FROM TEST;
SELECT COUNT(*) FROM TEST
*
ERROR 位于第 1 行:
ORA-00376: 此時(shí)無法讀取文件 5
ORA-01110: 數(shù)據(jù)文件 5: 'F:ORACLEORADATATESTUSERS01.DBF'

首先查詢V$RECOVER_FILE視圖,這個(gè)視圖中會(huì)包括需要恢復(fù)的數(shù)據(jù)文件的名稱,已經(jīng)數(shù)據(jù)文件的錯(cuò)誤類型。注意,從備份中恢復(fù)的控制文件或通過CREATE CONTROLFILE重新創(chuàng)建的控制文件不會(huì)包含損壞的數(shù)據(jù)文件的信息。

SQL> SELECT * FROM V$RECOVER_FILE;

FILE# ONLINE ONLINE_ ERROR CHANGE# TIME
---------- ------- ------- -------------------- ---------- -------------------
5 OFFLINE OFFLINE CORRUPT HEADER 1109606706 2006-02-08 02:05:11

然后確定該數(shù)據(jù)文件的物理位置:

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

由于數(shù)據(jù)庫(kù)處于打開狀態(tài),首先將表空間脫機(jī):

SQL> ALTER TABLESPACE USERS OFFLINE IMMEDIATE;

表空間已更改。

SQL> HOST COPY F:ORACLEBACKUPTEST20060207USERS01.DBF F:ORACLEORADATATESTUSERS01.DBF

SQL> RECOVER TABLESPACE USERS;
完成介質(zhì)恢復(fù)。
SQL> ALTER TABLESPACE USERS ONLINE;

表空間已更改。

SQL> SELECT COUNT(*) FROM TEST;

COUNT(*)
----------
6288

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI