歸檔模式是生產庫高可用的前提。本文覆蓋模式查詢、非歸檔轉歸檔標準流程、歸檔參數配置、9i/10g/11g 版本差異、自動歸檔啟用與強制切日志實操。
-- 通用
SELECT name, log_mode FROM v$database;
-- 需 SYSDBA
ARCHIVE LOG LIST;
ALTER SYSTEM SET log_archive_dest_1='location=/oracle/oracle10g/log/archive_log';
ALTER SYSTEM SET log_archive_dest_2='location=/oracle/oracle10g/log2/archive_log';
SHUTDOWN IMMEDIATE;STARTUP MOUNT;ALTER DATABASE ARCHIVELOG;ALTER DATABASE OPEN;ALTER SYSTEM SET log_archive_max_processes = 5;
ALTER SYSTEM SET log_archive_format = 'archive_%t_%s_%r.log' SCOPE=SPFILE;
| 項目 | 9i | 10g/11g |
|---|---|---|
| 自動歸檔啟用參數 | log_archive_start=true(需設 SCOPE=SPFILE 重啟生效) | 已廢除,實例啟動自動啟用 |
| 驗證命令 | ARCHIVE LOG LIST 顯示「自動存檔 啟用/禁用」 | 同命令,默認即啟用 |
SQL> SHOW PARAMETER log_archive_start;
-- FALSE
SQL> ALTER SYSTEM SET log_archive_start=TRUE SCOPE=SPFILE;
SQL> STARTUP FORCE;
SQL> ARCHIVE LOG LIST;
-- 自動存檔 啟用
ALTER SYSTEM SWITCH LOGFILE;SELECT * FROM v$log;SELECT * FROM v$archive_gap;生產庫必須啟用歸檔模式並配置多路徑歸檔,定期清理過期歸檔(RMAN DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7'),防止磁盤寫滿導致實例掛起。