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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle使用備份檔案集恢復歸檔日誌Oracle
- RMAN備份與恢復測試
- dg丟失歸檔,使用rman增量備份恢復
- 12 使用RMAN備份和恢復檔案
- RMAN備份整庫和歸檔日誌的方法
- oracle rman備份歸檔日誌需要先切換日誌嗎Oracle
- Oracle設定多個歸檔路徑生成多份歸檔日誌,Rman備份時也只備份其中的一份歸檔日誌Oracle
- DG歸檔日誌缺失恢復
- 測試在丟失歸檔日誌的情況下,跳過部分歸檔日誌進行資料恢復資料恢復
- RMAN備份恢復典型案例——資料檔案存在壞快
- 手工rm刪除歸檔日誌對備份歸檔日誌的影響
- 【RMAN】Oracle中如何備份控制檔案?備份控制檔案的方式有哪幾種?Oracle
- oracle dg 歸檔日誌恢復情況Oracle
- MySQL 日誌管理、備份與恢復MySql
- 【備份】RMAN中對控制檔案的幾種備份方法
- rman 還原歸檔日誌(restore archivelogRESTHive
- 如何備份及恢復Linux檔案許可權Linux
- 從備份片中恢復某個指定得歸檔或者資料檔案
- 【RMAN】如果控制檔案損壞那麼如何恢復?恢復控制檔案的方式有哪幾種?
- Rman在run命令塊裡臨時設定歸檔目錄,歸檔日誌能否恢復主要看預設的歸檔路徑
- rman恢復控制檔案的一個小錯誤
- rman 增量備份恢復
- RMAN備份恢復技巧
- Android測試日誌檔案抓取與分析Android
- RMAN備份異機恢復
- [20221121]rman刪除歸檔日誌問題.txt
- XFS檔案系統的備份、恢復、修復
- MySQL日誌管理,備份和恢復MySql
- 與控制檔案有關的恢復
- 檔案的基本管理和XFS檔案系統備份恢復
- RMAN備份恢復典型案例——RMAN備份&系統變慢
- rman開啟備份優化對備份歸檔的影響優化
- Oracle-無備份情況下,如何手動恢復控制檔案Oracle
- 【Oracle】歸檔日誌管理-設定歸檔日誌路徑以及歸檔日誌冗餘Oracle
- 【RMAN】在多租戶環境下的RMAN備份及恢復
- RMAN備份恢復效能優化優化
- ORACLE NBU調取oracle rman指令碼備份歸檔不自動刪除歸檔Oracle指令碼
- RMAN-ERROR:因為找不到過期和丟失的歸檔日誌而備份失敗Error
- 與控制檔案有關的恢復(二)