關於oracle丟失控制檔案的恢復辦法

2021-06-26 01:35:41 字數 1504 閱讀 5058

1,在備份的情況下

在nomount狀態下restore controlfile form autobackup(針對自動備份開啟的情況如果沒有開啟,就緒指定到具體的目錄)

這裡指出 using backup controlfile 的幾種情況

(1) 在使用備份控制檔案做恢復的時候。(如果在全被恢復的情況直接recover database 然後用resetlogs open 相對控制檔案沒有資料丟失)

(2)用resetlogs 方法重建控制檔案,如果用 noresetlogs 重建不必使用using backup controlfile;

2,在沒有備份的情況

(1) 使用noresetlogs 方法手動建立控制檔案

和resetlogs的區別就是 當聯機日誌檔案還在,如果用resetlogs的方法,則要求聯機日誌中必須要沒有活動事務才行,建立控制檔案的操作並不會清空當前聯機日誌的內容,英雌如果有資料檔案的不一致還是可以用日誌檔案來恢復的。所以如果不需要清空日誌檔案就需要用norestlogs的方式重建

具體操作

將資料庫啟動到nomount狀態

sql>create controlfile reuse databse 」databasename「 noresetlogs archivelog

2 maxlogfile 16

3 maxlogmembers 3

4 maxdatafiles 16

5 maxinstances 8

6 maxloghistory 292

7 logfile 

8 group 1 'redofilename01',size

9 group 2 'redofilename02',size

10 group 3 'redofilename03',size

-------------sdandby logfile (有dataguard災備的情況)

11 datafile

12 『datafilename1』

13  'datafilename2'..

.17 character set zhs16gbk;

需要注意的是,操作之前需要資料庫的物理結構,如資料檔案 日誌檔案等(在生產環境由於資料檔案較多,一定要仔細確認,缺一不可)

control file created;

然後嘗試  alter database mount以及open,不出意外肯定會報錯。

根據報錯內容 recover database (不需要是用using backup controlfile)

然後 alter database open;

(2) 是用resetlogs 手動建立控制檔案

指令碼基本一樣 需要指出 是用的是resetlogs

接下來recover的時候有卻別,需要用recover database using backup controlfile;然後給出檔案位址,隨後用restlogs開啟資料庫。

如果有基於時間點或是scn恢復的 

rman> run

Oracle控制檔案丟失怎麼辦

oracle的控制檔案丟失怎麼辦 如果有文字備 的份控制檔案 就可以使用文字備份的控制檔案 sql alter database backup controlfile to traceas 路徑 檔名 sql alter database backup controlfile to trace as...

oracle資料檔案丟失。

今天來上班聽說我們的資料庫伺服器連不上,說是昨晚停電伺服器都掛掉了。初步考慮應該是資料庫沒有自動拉起造成的,手動執行拉起指令碼資料庫仍然無法連線。後來檢視oracle啟動日誌以及跟蹤日誌如下 cd opt oracle admin oracle9i bdump more alert oracle9i...

oracle控制檔案

nomount時可以用show parameter control files檢視。而此時yon用select from v controlfile則沒有任何資訊。nomount狀態只是通過引數檔案來找到控制檔案。進入mount後可以用select from v controlfile檢視。控制檔案...