--經過備份日誌發現數據庫備份失敗css
channel c2: starting archived log backup set
released channel: c1
released channel: c2
released channel: c3
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of backup command on c2 channel at 11/13/2019 04:30:30
ORA-19588: archived log RECID 154573 STAMP 1024167886 is no longer valid數據庫
RMAN>日誌
錯誤的是因爲備份期間某一個歸檔文件在控制文件中沒有找到致使備份失敗,可能致使這個錯誤的緣由主要有3個:
一、控制文件信息與歸檔文件信息不一致,可使用以下命令更新控制文件信息;
二、RMAN備份任務被啓動了兩次;
三、錯誤的備份腳本語法。
對於第1種錯誤,可使用下面的命令對控制文件進行更新:code
對於第二種錯誤,須要檢查備份任務的啓動狀況,不要讓RMAN備份任務重複啓動,對於第三種錯誤,一般是在備份腳本中出現了以下的寫法:
input
上面的腳本在RMAN中的執行過程是先備份全部的歸檔,而後刪除歸檔,接着再執行備份直到sysdate-7的歸檔,因此執行第二步備份時會發現歸檔
已經被刪除了,就會出現ORA-19588錯誤。
檢查備份腳本發現,crosscheck archivelog all已經寫入到備份腳本中,因此排除第一種錯誤,在備份腳本中也沒有發現第三種狀況中的錯誤寫法。因此
懷疑NBU啓動了兩次備份任務,可是檢查NBU日誌發現,備份任務只啓動了一次,可是有個奇怪的現象是針對這個系統有兩個不一樣的備份任務,接下來
檢查兩個備份任務的腳本,其中一個是對數據庫進行全備,同時備份全部的歸檔文件和控制文件,另一個備份腳本是備份全部的歸檔,並刪除3天前
的歸檔。兩個備份腳本都涉及到對歸檔的操做,接下來檢查兩個任務的執行時間:class
14:20:19 SYS@ssdb1(ssdb1)> select START_TIME,END_TIME,STATUS,ELAPSED_SECONDS from V$RMAN_BACKUP_JOB_DETAILS order by START_TIME;sed
START_TIM END_TIME STATUS ELAPSED_SECONDS
--------- --------- ----------------------- ---------------
30-OCT-19 31-OCT-19 COMPLETED WITH WARNINGS 15414
31-OCT-19 01-NOV-19 COMPLETED WITH WARNINGS 16518
01-NOV-19 02-NOV-19 COMPLETED WITH WARNINGS 25345
02-NOV-19 03-NOV-19 COMPLETED WITH WARNINGS 17378
03-NOV-19 04-NOV-19 COMPLETED 19038
04-NOV-19 05-NOV-19 COMPLETED 20009
05-NOV-19 06-NOV-19 COMPLETED 20366
06-NOV-19 07-NOV-19 COMPLETED 20461
07-NOV-19 08-NOV-19 COMPLETED 21385
08-NOV-19 09-NOV-19 COMPLETED 22322
09-NOV-19 10-NOV-19 COMPLETED 23005
10-NOV-19 11-NOV-19 COMPLETED 23984
11-NOV-19 12-NOV-19 COMPLETED WITH WARNINGS 24515
12-NOV-19 13-NOV-19 FAILED 26427date
14 rows selected.select
14:20:29 SYS@ssdb1(ssdb1)> 語法
從上面的備份任務的起止時間分析,不存在兩個備份任務出現交叉,以及都涉及到對歸檔的操做,因此不是致使ORA-19588的緣由。不須要將備份任務的時間窗口進行從新分佈,也不用避免同一時間有兩個備份任務執行。