Oracle

磁碟上存在舊歸檔日誌文件,但 RMAN 中不存在

  • July 5, 2017

我最近在磁碟上發現了 3 個非常舊的歸檔日誌目錄,它們沒有出現在 RMAN 中。

[oracle@ORACLE01 archivelog]$ du -sh *
122M    2017_02_25
4.9G    2017_02_26
2.5G    2017_02_27
1.6G    2017_06_28
474M    2017_06_29

在 RMAN 中,歸檔日誌從 6 月 28 日開始出現(如我所料)

RMAN> list archivelog all;  (list truncated for brevity)
using target database control file instead of recovery catalog
List of Archived Log Copies for database with db_unique_name R2CI
=====================================================================

Key     Thrd Seq     S Low Time
------- ---- ------- - -------------------
30329   1    81000   A 28/06/2017 10:45:26
       Name: /u01/.../archivelog/2017_06_28/o1_mf_1_81000_do72c0ng_.arc

30330   1    81001   A 28/06/2017 10:48:00
       Name: /u01/.../archivelog/2017_06_28/o1_mf_1_81001_do73f110_.arc

如果我全部執行交叉檢查歸檔日誌,這只會獲取我希望存在的最近的歸檔日誌文件:

RMAN> crosscheck archivelog all;

allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=21 device type=DISK
validation succeeded for archived log
archived log file name=/u01/.../archivelog/2017_06_28/o1_mf_1_81000_do72c0ng_.arc RECID=30329 STAMP=947846881
validation succeeded for archived log
archived log file name=/u01/.../archivelog/2017_06_28/o1_mf_1_81001_do73f110_.arc RECID=30330 STAMP=947847970
validation succeeded for archived log
archived log file name=/u01/.../archivelog/2017_06_28/o1_mf_1_81002_do74pzcw_.arc RECID=30331 STAMP=947849313
validation succeeded for archived log
(list truncated for brevity)

在此之後的“list archivelog all”不會顯示這些舊文件。

問題:

  1. 這些文件可能來自哪裡/為什麼它們最終沒有像其他歸檔日誌一樣過期和刪除?
  2. 為什麼 crosscheck archivelog 都沒有檢測到它們並將它們添加回來?是因為它們與下一個最近的文件之間有 4 個月的差距嗎?
  3. 從磁碟上刪除這些文件是否安全?

謝謝

為什麼 crosscheck archivelog 都沒有檢測到它們並將它們添加回來?

因為那不是crosscheck。Crosscheck 讀取儲存庫中記錄的archlogs 的記錄——rman報告的那些。它從儲存庫中讀取一條記錄,然後檢查該文件是否存在。如果不是,則記錄被標記為“過期”。如果rman沒有跡象表明知道這些文件,我會說刪除它們是安全的。

這些文件可能來自哪裡/為什麼它們最終沒有像其他歸檔日誌一樣過期和刪除?

我懷疑這些文件從您的儲存庫中消失了,因為滿足以下條件:不再需要滿足您的恢復策略(rman 策略)的文件並且它們也超過了參數 controlfile_record_keep_time。此時,Oracle 將覆蓋您的控製文件中的記錄。如果您按天備份和刪除歸檔日誌,則不應有任何“死”歸檔日誌。

EdStevens 已經回答了另外兩個問題……

引用自:https://dba.stackexchange.com/questions/177559