RMAN備份與恢復(新舊控制檔案及歸檔日誌)測試
(我的實驗)
一直知道我們公司使用的
backup format='G:\20090607rman\datafile\data_%s_%p_%T_%t.bak'
database plus archivelog delete all input
format 'G:\20090607rman\archivelog\arc_%s_%p_%T_%t.bak';
來進行備份的,當然是LINUX系統,但是由於在家中沒有LINUX環境,就改用WINDOWS環境來做,理論是一樣的。該語句是進行RMAN的全備加上歸檔日誌的備份,當然也會備份控制檔案和SPFILE,但是我有時候就在想如果某一天公司的資料庫完全消失了(我說的消失的是某種原因下,資料庫完全不存在了,就像被解除安裝了一樣,也許是伺服器硬碟完全壞掉了),連DG都不能恢復的情況下,只留下了RMAN的備份(每天公司都會去用系統的TAR進行把所有的備份檔案壓縮然後ftp到其他地方)
然後需要如何去做那?
很可以確定的可以恢復,但是可以恢復到那個程度?完全恢復是肯定不可能的,因為當前的日誌組已經消失了,裡面記錄的所有操作資訊也就沒有了,所以資料丟失是肯定的。
現在的疑惑是:1、如果恢復是使用最新的控制檔案還是比較就的控制檔案,也許很多人會說最新的控制檔案,這個確實是對的,但是為了加深印象還是做一次實驗。
2、如果我使用比較舊的控制檔案,裡面並沒有記錄新的歸檔備份集,ORACLE是否可以跨越歸檔備份集,然後進行恢復?
3、如果我沒有使用delete all input,歸檔備份到備份集,而且在檔案系統中沒有刪除,是否可以找到?
4、在RMAN自動全備的時候,控制檔案是在資料檔案備份前進行,還是之後,這個很重要,涉及到是否能記錄當前我們當前備份的資料檔案的備份資訊。
我就做了這一系列發散,然後開始做實驗來解答這一切。(用紅色標記試驗過程,用粉色標記重點)
OK 開始
首先看看當前的日誌檔案序列
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARCHIVED STATUS FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- -----------
1 1 359 52428800 1 NO CURRENT 10863283 2009-6-7 19
2 1 357 52428800 1 YES INACTIVE 10863116 2009-6-7 19
3 1 358 52428800 1 YES ACTIVE 10863119 2009-6-7 19
359是當前日誌組,然後進行4次切換使用ALTER SYSTEM SWITCH LOGFILE,來模擬真實系統中的日誌滿後的切換
切換後的日誌組為
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARCHIVED STATUS FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- -----------
1 1 362 52428800 1 YES INACTIVE 10863613 2009-6-7 19
2 1 363 52428800 1 NO CURRENT 10863615 2009-6-7 19
3 1 361 52428800 1 YES INACTIVE 10863610 2009-6-7 19
363是現在的日誌組
然後我進行備份使用語句
backup format='G:\20090607rman\datafile\data_%s_%p_%T_%t.bak'
database plus archivelog delete all input
format 'G:\20090607rman\archivelog\arc_%s_%p_%T_%t.bak';
為了能看清楚我只分配了一個通道,然後貼出所有的備份過程
啟動 backup 於 07-6月 -09
當前日誌已存檔
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在啟動存檔日誌備份集
通道 ORA_DISK_1: 正在指定備份集中的存檔日誌
輸入存檔日誌執行緒 =1 序列 =359 記錄 ID=6 時間戳=688939127
輸入存檔日誌執行緒 =1 序列 =360 記錄 ID=7 時間戳=688939129
輸入存檔日誌執行緒 =1 序列 =361 記錄 ID=8 時間戳=688939133
輸入存檔日誌執行緒 =1 序列 =362 記錄 ID=9 時間戳=688939137
輸入存檔日誌執行緒 =1 序列 =363 記錄 ID=10 時間戳=688939232
通道 ORA_DISK_1: 正在啟動段 1 於 07-6月 -09
通道 ORA_DISK_1: 已完成段 1 於 07-6月 -09
段控制程式碼=G:\20090607RMAN\ARCHIVELOG\ARC_2_1_20090607_688939233.BAK 標記=TAG200906
7T200032 註釋=NONE
通道 ORA_DISK_1: 備份集已完成, 經過時間:00:00:02
通道 ORA_DISK_1: 正在刪除存檔日誌
存檔日誌檔名 =E:\ORACLE10GHOME\RDBMS\ARC00359_0671122145.001 記錄 ID=6 時間戳
=688939127
存檔日誌檔名 =E:\ORACLE10GHOME\RDBMS\ARC00360_0671122145.001 記錄 ID=7 時間戳
=688939129
存檔日誌檔名 =E:\ORACLE10GHOME\RDBMS\ARC00361_0671122145.001 記錄 ID=8 時間戳
=688939133
存檔日誌檔名 =E:\ORACLE10GHOME\RDBMS\ARC00362_0671122145.001 記錄 ID=9 時間戳
=688939137
存檔日誌檔名 =E:\ORACLE10GHOME\RDBMS\ARC00363_0671122145.001 記錄 ID=10 時間戳
=688939232
完成 backup 於 07-6月 -09
啟動 backup 於 07-6月 -09
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 啟動全部資料檔案備份集
通道 ORA_DISK_1: 正在指定備份集中的資料檔案
輸入資料檔案 fno=00001 name=E:\ORADATA\PP\SYSTEM01.DBF
輸入資料檔案 fno=00003 name=E:\ORADATA\PP\SYSAUX01.DBF
輸入資料檔案 fno=00002 name=E:\ORADATA\PP\UNDOTBS01.DBF
輸入資料檔案 fno=00008 name=E:\ORADATA\PP\BIGPP1.DBF
輸入資料檔案 fno=00005 name=E:\ORADATA\PP\TEST.DBF
輸入資料檔案 fno=00006 name=E:\ORADATA\PP\PP.DBF
輸入資料檔案 fno=00004 name=E:\ORADATA\PP\USERS01.DBF
通道 ORA_DISK_1: 正在啟動段 1 於 07-6月 -09
通道 ORA_DISK_1: 已完成段 1 於 07-6月 -09
段控制程式碼=G:\20090607RMAN\DATAFILE\DATA_3_1_20090607_688939237.BAK 標記=TAG2009060
T200036 註釋=NONE
通道 ORA_DISK_1: 備份集已完成, 經過時間:00:04:56
通道 ORA_DISK_1: 啟動全部資料檔案備份集
通道 ORA_DISK_1: 正在指定備份集中的資料檔案
備份集中包括當前控制檔案
在備份集中包含當前的 SPFILE
通道 ORA_DISK_1: 正在啟動段 1 於 07-6月 -09
通道 ORA_DISK_1: 已完成段 1 於 07-6月 -09
段控制程式碼=G:\20090607RMAN\DATAFILE\DATA_4_1_20090607_688939533.BAK 標記=TAG2009060
T200036 註釋=NONE
通道 ORA_DISK_1: 備份集已完成, 經過時間:00:00:07
完成 backup 於 07-6月 -09
啟動 backup 於 07-6月 -09
當前日誌已存檔
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在啟動存檔日誌備份集
通道 ORA_DISK_1: 正在指定備份集中的存檔日誌
輸入存檔日誌執行緒 =1 序列 =364 記錄 ID=11 時間戳=688939541
通道 ORA_DISK_1: 正在啟動段 1 於 07-6月 -09
通道 ORA_DISK_1: 已完成段 1 於 07-6月 -09
段控制程式碼=G:\20090607RMAN\ARCHIVELOG\ARC_5_1_20090607_688939542.BAK 標記=TAG200906
7T200541 註釋=NONE
通道 ORA_DISK_1: 備份集已完成, 經過時間:00:00:02
通道 ORA_DISK_1: 正在刪除存檔日誌
存檔日誌檔名 =E:\ORACLE10GHOME\RDBMS\ARC00364_0671122145.001 記錄 ID=11 時間戳
=688939541
完成 backup 於 07-6月 -09
根據順序能夠清楚的看到控制檔案是在資料檔案備份之後進行的,所以問題4可以解決了。
這裡也順便提下,其實這個備份語句做很好了在備份完後可以看到現在日誌組為
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARCHIVED STATUS FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- -----------
1 1 365 52428800 1 NO CURRENT 10863997 2009-6-7 20
2 1 363 52428800 1 YES INACTIVE 10863615 2009-6-7 19
3 1 364 52428800 1 YES ACTIVE 10863751 2009-6-7 20
實現了兩次切換,一次在備份資料檔案前一次在之後,這個是為了保證資料檔案備份的完整性,避免恢復時的問題。
然後我又進行了3次切換,語句一樣,模擬的是一個備份週期,然後日誌組序號來到了368
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARCHIVED STATUS FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- -----------
1 1 368 52428800 1 YES ACTIVE 10864109 2009-6-7 20
2 1 369 52428800 1 NO CURRENT 10864800 2009-6-7 20
3 1 367 52428800 1 YES INACTIVE 10864106 2009-6-7 20
這樣又生成了3個歸檔檔案,然後為了節約時間(機器不好,備份很卡),這次我只備份了控制檔案和歸檔日誌檔案,其實重試驗的角度出發效果是一樣的。
語句如下:
BACKUP FORMAT 'G:\20090607rman\archivelog\arc_%s_%p_%T_%t.bak' ARCHIVELOG ALL DELETE ALL INPUT;
backup current controlfile format ='G:\20090607rman\controlfile\ctl_%s_%p_%T_%t.bak' ;
同樣我貼出備份過程,
啟動 backup 於 07-6月 -09
當前日誌已存檔
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 正在啟動存檔日誌備份集
通道 ORA_DISK_1: 正在指定備份集中的存檔日誌
輸入存檔日誌執行緒 =1 序列 =365 記錄 ID=12 時間戳=688939757
輸入存檔日誌執行緒 =1 序列 =366 記錄 ID=13 時間戳=688939765
輸入存檔日誌執行緒 =1 序列 =367 記錄 ID=14 時間戳=688939771
輸入存檔日誌執行緒 =1 序列 =368 記錄 ID=15 時間戳=688940100
通道 ORA_DISK_1: 正在啟動段 1 於 07-6月 -09
通道 ORA_DISK_1: 已完成段 1 於 07-6月 -09
段控制程式碼=G:\20090607RMAN\ARCHIVELOG\ARC_6_1_20090607_688940101.BAK 標記=TAG2009060
7T201500 註釋=NONE
通道 ORA_DISK_1: 備份集已完成, 經過時間:00:00:02
通道 ORA_DISK_1: 正在刪除存檔日誌
存檔日誌檔名 =E:\ORACLE10GHOME\RDBMS\ARC00365_0671122145.001 記錄 ID=12 時間戳
=688939757
存檔日誌檔名 =E:\ORACLE10GHOME\RDBMS\ARC00366_0671122145.001 記錄 ID=13 時間戳
=688939765
存檔日誌檔名 =E:\ORACLE10GHOME\RDBMS\ARC00367_0671122145.001 記錄 ID=14 時間戳
=688939771
存檔日誌檔名 =E:\ORACLE10GHOME\RDBMS\ARC00368_0671122145.001 記錄 ID=15 時間戳
=688940100
完成 backup 於 07-6月 -09
啟動 backup 於 07-6月 -09
使用通道 ORA_DISK_1
通道 ORA_DISK_1: 啟動全部資料檔案備份集
通道 ORA_DISK_1: 正在指定備份集中的資料檔案
備份集中包括當前控制檔案
通道 ORA_DISK_1: 正在啟動段 1 於 07-6月 -09
通道 ORA_DISK_1: 已完成段 1 於 07-6月 -09
段控制程式碼=G:\20090607RMAN\CONTROLFILE\CTL_7_1_20090607_688940106.BAK 標記=TAG200906
07T201506 註釋=NONE
通道 ORA_DISK_1: 備份集已完成, 經過時間:00:00:06
完成 backup 於 07-6月 -09
當前日誌已存檔這句話表示日誌組又切換了,同樣是為了保證歸檔備份的完整性,有利於恢復。
現在的日誌組序列來到了369
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARCHIVED STATUS FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- -------- ---------------- ------------- -----------
1 1 368 52428800 1 YES ACTIVE 10864109 2009-6-7 20
2 1 369 52428800 1 NO CURRENT 10864800 2009-6-7 20
3 1 367 52428800 1 YES INACTIVE 10864106 2009-6-7 20
到這裡我的備份完成了,然後用DBCA刪除現在資料庫,來模擬資料庫消失,然後我新建了一個同名了資料庫,應為我恢復SPFILE沒有成功,但是這個不是重點,SPFILE記錄只是控制檔案
的位置和引數,然後我刪除了新建資料庫中的控制檔案日誌檔案和控制檔案,我只要一個SPFILE來啟動到NOMOUNT階段。
然後我做的第一個測試是證明是否可以在控制檔案比較舊的情況下沒有新的歸檔日誌備份集資訊的情況下,來進行恢復,
我這裡也就是取第一次備份控制檔案然後RESOTRE DATABASE,然後RECOVER ,看是否可以恢復到368這裡。
這裡貼出列出過程:
RMAN> restore controlfile from 'G:\20090607rman\datafile\DATA_4_1_20090607_68893
9533.BAK';
啟動 restore 於 07-6月 -09
使用目標資料庫控制檔案替代恢復目錄
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK
通道 ORA_DISK_1: 正在復原控制檔案
通道 ORA_DISK_1: 恢復完成, 用時: 00:00:07
輸出檔名=E:\ORADATA\PP\CONTROL01.CTL
輸出檔名=E:\ORADATA\PP\CONTROL02.CTL
輸出檔名=E:\ORADATA\PP\CONTROL03.CTL
完成 restore 於 07-6月 -09
RMAN> sql 'alter database mount';
sql 語句: alter database mount
釋放的通道: ORA_DISK_1
RMAN> list backup;
備份集列表
===================
BS 關鍵字 大小 裝置型別佔用時間 完成時間
------- ---------- ----------- ------------ ----------
1 36.38M DISK 00:00:13 07-6月 -09
BP 關鍵字: 1 狀態: AVAILABLE 已壓縮: NO 標記: TAG20090607T195056
段名:G:\20090607RMAN\ARCHIVELOG\ARC_1_1_20090607_688938657.BAK
備份集 1 中的已存檔日誌列表
Thrd Seq 低 SCN 短時間 下一個 SCN 下一次
---- ------- ---------- ---------- ---------- ---------
1 354 10851174 05-6月 -09 10862844 07-6月 -09
1 355 10862844 07-6月 -09 10863113 07-6月 -09
1 356 10863113 07-6月 -09 10863116 07-6月 -09
1 357 10863116 07-6月 -09 10863119 07-6月 -09
1 358 10863119 07-6月 -09 10863283 07-6月 -09
BS 關鍵字 大小 裝置型別佔用時間 完成時間
------- ---------- ----------- ------------ ----------
2 474.50K DISK 00:00:01 07-6月 -09
BP 關鍵字: 2 狀態: AVAILABLE 已壓縮: NO 標記: TAG20090607T200032
段名:G:\20090607RMAN\ARCHIVELOG\ARC_2_1_20090607_688939233.BAK
備份集 2 中的已存檔日誌列表
Thrd Seq 低 SCN 短時間 下一個 SCN 下一次
---- ------- ---------- ---------- ---------- ---------
1 359 10863283 07-6月 -09 10863608 07-6月 -09
1 360 10863608 07-6月 -09 10863610 07-6月 -09
1 361 10863610 07-6月 -09 10863613 07-6月 -09
1 362 10863613 07-6月 -09 10863615 07-6月 -09
1 363 10863615 07-6月 -09 10863751 07-6月 -09
BS 關鍵字 型別 LV 大小 裝置型別 經過時間 完成時間
------- ---- -- ---------- ----------- ------------ ----------
3 Full 896.16M DISK 00:04:52 07-6月 -09
BP 關鍵字: 3 狀態: AVAILABLE 已壓縮: NO 標記: TAG20090607T200036
段名:G:\20090607RMAN\DATAFILE\DATA_3_1_20090607_688939237.BAK
備份集 3 中的資料檔案列表
檔案 LV 型別 Ckp SCN Ckp 時間 名稱
---- -- ---- ---------- ---------- ----
1 Full 10863756 07-6月 -09 E:\ORADATA\PP\SYSTEM01.DBF
2 Full 10863756 07-6月 -09 E:\ORADATA\PP\UNDOTBS01.DBF
3 Full 10863756 07-6月 -09 E:\ORADATA\PP\SYSAUX01.DBF
4 Full 10863756 07-6月 -09 E:\ORADATA\PP\USERS01.DBF
5 Full 10863756 07-6月 -09 E:\ORADATA\PP\TEST.DBF
6 Full 10863756 07-6月 -09 E:\ORADATA\PP\PP.DBF
8 Full 10863756 07-6月 -09 E:\ORADATA\PP\BIGPP1.DBF
可以看到沒有新的備份的歸檔日誌檔案資訊,只到日誌序號363
然後restore recover:
RMAN> restore database;
啟動 restore 於 07-6月 -09
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=155 devtype=DISK
通道 ORA_DISK_1: 正在開始恢復資料檔案備份集
通道 ORA_DISK_1: 正在指定從備份集恢復的資料檔案
正將資料檔案00001恢復到E:\ORADATA\PP\SYSTEM01.DBF
正將資料檔案00002恢復到E:\ORADATA\PP\UNDOTBS01.DBF
正將資料檔案00003恢復到E:\ORADATA\PP\SYSAUX01.DBF
正將資料檔案00004恢復到E:\ORADATA\PP\USERS01.DBF
正將資料檔案00005恢復到E:\ORADATA\PP\TEST.DBF
正將資料檔案00006恢復到E:\ORADATA\PP\PP.DBF
正將資料檔案00008恢復到E:\ORADATA\PP\BIGPP1.DBF
通道 ORA_DISK_1: 正在讀取備份段 G:\20090607RMAN\DATAFILE\DATA_3_1_20090607_68893
9237.BAK
通道 ORA_DISK_1: 已恢復備份段 1
段控制程式碼 = G:\20090607RMAN\DATAFILE\DATA_3_1_20090607_688939237.BAK 標記 = TAG2009
0607T200036
通道 ORA_DISK_1: 恢復完成, 用時: 00:04:55
完成 restore 於 07-6月 -09
RMAN> recover database;
啟動 recover 於 07-6月 -09
使用通道 ORA_DISK_1
正在開始介質的恢復
無法找到存檔日誌
存檔日誌執行緒 =1 序列=364
可以看到這裡出錯了,不能找到364歸檔日誌,這裡報錯資訊是說不能找到,也許是因為我們的檔案系統沒有這個歸檔日誌檔案,如果還在檔案系統而沒有刪除也許還可以恢復,但是這個只是猜測。
但是這裡的確證明了問題2,如果我使用比較舊的控制檔案,裡面並沒有記錄新的歸檔備份集,ORACLE是不能跨越歸檔備份集恢復的。
如果我們使用的是新的控制檔案會如何哪?
這裡使用前面出錯的資料檔案,只是RESOTRE 了新的控制檔案
然後進行恢復
RMAN> recover database until sequence 368;
啟動 recover 於 07-6月 -09
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=156 devtype=DISK
正在開始介質的恢復
通道 ORA_DISK_1: 正在啟動到預設目標的存檔日誌恢復
通道 ORA_DISK_1: 正在恢復存檔日誌
存檔日誌執行緒 =1 序列=364
通道 ORA_DISK_1: 正在讀取備份段 G:\20090607RMAN\ARCHIVELOG\ARC_5_1_20090607_6889
39542.BAK
通道 ORA_DISK_1: 已恢復備份段 1
段控制程式碼 = G:\20090607RMAN\ARCHIVELOG\ARC_5_1_20090607_688939542.BAK 標記 = TAG200
90607T200541
通道 ORA_DISK_1: 恢復完成, 用時: 00:00:02
存檔日誌檔名 =E:\ORACLE10GHOME\RDBMS\ARC00364_0671122145.001 執行緒 =1 序列 =364
通道 ORA_DISK_1: 正在啟動到預設目標的存檔日誌恢復
通道 ORA_DISK_1: 正在恢復存檔日誌
存檔日誌執行緒 =1 序列=365
通道 ORA_DISK_1: 正在恢復存檔日誌
存檔日誌執行緒 =1 序列=366
通道 ORA_DISK_1: 正在恢復存檔日誌
存檔日誌執行緒 =1 序列=367
通道 ORA_DISK_1: 正在讀取備份段 G:\20090607RMAN\ARCHIVELOG\ARC_6_1_20090607_6889
40101.BAK
通道 ORA_DISK_1: 已恢復備份段 1
段控制程式碼 = G:\20090607RMAN\ARCHIVELOG\ARC_6_1_20090607_688940101.BAK 標記 = TAG200
90607T201500
通道 ORA_DISK_1: 恢復完成, 用時: 00:00:02
存檔日誌檔名 =E:\ORACLE10GHOME\RDBMS\ARC00365_0671122145.001 執行緒 =1 序列 =365
存檔日誌檔名 =E:\ORACLE10GHOME\RDBMS\ARC00366_0671122145.001 執行緒 =1 序列 =366
存檔日誌檔名 =E:\ORACLE10GHOME\RDBMS\ARC00367_0671122145.001 執行緒 =1 序列 =367
介質恢復完成, 用時: 00:00:06
完成 recover 於 07-6月 -09
這裡回覆到368,說明了如果要恢復到最近還是應該使用最新的控制檔案,證明了問題1
最後是問題3了如果我使用舊的控制檔案,但是在備份過程中沒有最後的歸檔資訊,結果會如何,這裡我貼回來了最歸檔日誌364,365,366,367
試驗最後的RECOVER 如下
RMAN> recover database;
啟動 recover 於 07-6月 -09
使用通道 ORA_DISK_1
正在開始介質的恢復
存檔日誌檔名 =E:\ORACLE10GHOME\RDBMS\ARC00364_0671122145.001 執行緒 =1 序列 =364
存檔日誌檔名 =E:\ORACLE10GHOME\RDBMS\ARC00365_0671122145.001 執行緒 =1 序列 =365
存檔日誌檔名 =E:\ORACLE10GHOME\RDBMS\ARC00366_0671122145.001 執行緒 =1 序列 =366
存檔日誌檔名 =E:\ORACLE10GHOME\RDBMS\ARC00367_0671122145.001 執行緒 =1 序列 =367
存檔日誌檔名 =E:\ORACLE10GHOME\RDBMS\ARC00367_0671122145.001 執行緒 =1 序列 =368
然後就是報找不到序號368的錯誤,當然找不到,我沒有貼回368到檔案系統歸檔目錄。
而重整個恢復試驗來看,可以看到使用的越新的控制檔案,裡面記錄的備份資訊也就越新,當然也包括最新的歸檔日誌備份集,這樣使用了DELETE ALL INPUT語句的情況可以透過控制檔案中記錄的歸檔日誌備份集資訊,來讀取最新的歸檔備份集,這也就證明了問題1,當然如果你並非想恢復到最新的這個時刻,而是過去的某一點,那就另當別論了。
最後我總結下:
1、如果要恢復到最近的時間,最好使用最新的控制檔案,如果要恢復到以前某一點,根據需求要定使用何時的控制檔案。
2、如果我使用比較舊的控制檔案,裡面並沒有記錄新的歸檔備份集,ORACLE是不能跨越歸檔備份集恢復的。
3、如果沒有使用delete all input,歸檔備份到備份集,而且在檔案系統中沒有刪除,是可以找到的。
4、在RMAN自動全備的時候,控制檔案是在資料檔案備份之後進行備份的。(PS:如果備份中包含了SYSTEM資料檔案會自動備份控制檔案)
如果就像我開頭說的我們公司這樣的備份方式,如果資料庫消失了(所有檔案,也許是伺服器壞掉),而且DG不能恢復,最好的方法是取出最近的控制檔案,然後使用不完全恢復,最多隻會丟失1天的資料。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7728585/viewspace-605407/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- RMAN備份與恢復(新舊控制檔案及歸檔日誌)測試(敘)
- RMAN備份及恢復歸檔日誌的語法
- RMAN備份資料檔案+控制檔案+歸檔日誌
- 從備份集恢復歸檔日誌的測試與說明
- rman備份恢復-rman恢復資料檔案測試
- Oracle使用備份檔案集恢復歸檔日誌Oracle
- 【備份恢復】恢復 丟失已歸檔重做日誌檔案
- rman全庫備份備份歸檔日誌檔案
- 【管理篇備份恢復】rman恢復測試(二) 控制檔案恢復(三)
- 【管理篇備份恢復】rman恢復測試(二) 控制檔案恢復(二)
- 【管理篇備份恢復】rman恢復測試(二) 控制檔案恢復(一)
- 使用logmnr,在RMAN備份檔案中恢復備份的歸檔日誌檔案進行分析
- 使用舊的控制檔案備份來恢復控制檔案
- 冷備份+歸檔日誌的恢復
- 不完全恢復(資料檔案備份--新建表空間--控制檔案備份--日誌歸檔檔案)
- Oracle RMAN 不完全恢復(只有資料檔案備份,丟失歸檔日誌備份)Oracle
- 備份與恢復--從備份的歸檔日誌中恢復資料
- RMAN備份恢復之歸檔日誌對BLOCKRECOVER的影響BloC
- 恢復控制檔案後,沒有最後一個歸檔日誌的備份,也沒新增歸檔日誌資訊,怎麼恢復?
- 【rman 備份與恢復】恢復丟失所有的控制檔案
- rman備份丟失控制檔案恢復
- rman恢復控制檔案測試--log
- 備份歸檔日誌檔案
- RMAN備份恢復之控制檔案的恢復(三)
- RMAN備份恢復之控制檔案的恢復(二)
- RMAN備份恢復之控制檔案的恢復(一)
- RMAN備份歸檔日誌多份 %c
- 備份與恢復--利用備份的控制檔案恢復
- RMAN備份歸檔日誌指令碼指令碼
- 恢復案例:無歸檔,丟失全部控制檔案、日誌檔案恢復案例
- 備份與恢復--重建控制檔案
- 沒備份,歸檔日誌存在,丟失資料檔案的恢復
- 備份與恢復系列 十一 控制檔案的備份與恢復
- rman備份-(1) 利用備份級恢復資料檔案和控制檔案
- 無歸檔日誌恢復rman資料
- 用RMAN備份歸檔日誌時檢查歸檔日誌是否存在
- rman恢復--歸檔模式有備份,丟失資料檔案的恢復模式
- rman恢復--歸檔模式無備份,丟失資料檔案的恢復模式