RHEL 5.5 + Oracle 10.2.0.5 + ASM + Data Guard 環境,刪除歸檔日志報 ORA-15028: ASM file not dropped; currently being accessed。原因:DG 同步曾中斷,該日志尚未傳送應用到備庫,主庫控制文件仍標記為「需發送」,拒絕刪除。最直接規避:關閉實例後通過 ASMCMD 物理刪除文件,繞過實例鎖定檢查。
ORA-15028: ASM file '+DG1/ctsdb/archivelog/2014_12_06/thread_1_seq_39662.1458.865624635' not dropped; currently being accessed
Data Guard 環境下,主庫歸檔日志狀態由 V$ARCHIVED_LOG.DELETED、APPLIED、STANDBY_DEST 等列標記。若備庫應用滯後或網絡中斷,主庫判定該日志「仍需傳送」,禁止刪除。RMAN DELETE ARCHIVELOG 或 ASMCMD RM 在實例開啟時均會檢查此狀態並報錯。
SQL> SHUTDOWN IMMEDIATE;
ASMCMD> cd +DG1/ctsdb/archivelog/2014_12_06/
ASMCMD> rm thread_1_seq_39662.1458.865624635
SQL> STARTUP
| 方案 | 優點 | 缺點/風險 |
|---|---|---|
| 關機刪除(本文) | 快速、必成 | 需停機、繞過 DG 保護機制、可能導致備庫缺檔需重搭 |
| RMAN CROSSCHECK + DELETE EXPIRED | 在線、同步控制文件 | 若日志仍標記「需發送」同樣無法刪除 |
| 修復 DG 同步後正常刪除 | 最安全、保持 HA | 需排查網絡/應用滯後、耗時較長 |
| 調整 LOG_AUTO_DELETE / RMAN 配置 | 自動化管理 | 前提是 DG 同步正常 |
V$ARCHIVE_GAP,若出現 Gap 需增量備份恢復或重搭備庫。LOG_AUTO_DELETE=TRUE、配置 RMAN 保留策略,避免手工刪除。DG 環境下歸檔日志被標記「在用」而無法刪除是保護機制。關機刪除屬應急手段,核心治理在於保障 DG 傳輸鏈路健康、建立自動化歸檔管理策略。