Oracle-10g

自動清除 ARCHIVELOG

  • June 9, 2015

我有一個 Oracle 10g XE 安裝(專門用於開發),到目前為止已在...\oraclexe\app\oracle\flash_recovery_area\XE\ARCHIVELOG. 我確實需要那個空間,我很想使用 Windows 資源管理器刪除所有內容,但 Oracle 肯定不會被逗樂。

是否可以將 Oracle XE 配置為在不再需要時自動清除這些內容?

“不再需要”是什麼意思?存檔重做日誌只有“一種”用途,它們可以應用於最後一次完整/增量數據庫備份以恢復數據庫。

因此,您可以備份您的開發數據庫,然後您可以在數據庫備份期間通過 RMAN 刪除它們。或者您不備份數據庫,然後您可以在 NO ARCHIVELOG 模式下執行。

要完全禁用存檔日誌記錄,您需要在本地連接(重要一點,否則您將斷開連接)並以 DBA 身份執行 sqlplus:

C:\>sqlplus / as sysdba

…然後執行:

SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database noarchivelog;
SQL> alter database open;

此外,執行它來檢查它是否已啟用:

SQL> archive log list;

不過,這不會刪除現有日誌。您首先需要直接從文件系統中手動刪除文件。完成後,您可以執行 RMAN:

C:\> rman

…並告訴 Oracle 你剛剛做了什麼:

RMAN> connect target;
RMAN> crosscheck archivelog all;
RMAN> delete noprompt expired archivelog all;

免責聲明:我們剛剛禁用了與備份相關的功能!

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