在紅帽5上成功安裝Oracle。建庫的時候特意未啟用歸檔模式。
SQL> select name,open_mode,log_mode from v$database;
NAME OPEN_MODE LOG_MODE
--------- -------------------- ------------
SZPDCORA READ WRITE NOARCHIVELOG
SQL> archive log list
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 6
Current log sequence 8
可以看到沒有啟用。
更改歸檔模式步驟:
SQL> shutdown immediate
SQL> startup nomount
SQL> alter database mount;
SQL> alter database archivelog;
SQL> alter database open;
Database altered.
再看一下歸檔模式
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 6
Next log sequence to archive 8
Current log sequence 8
SQL> select name,open_mode,log_mode from v$database;
可以看到預設歸檔日誌存放路徑在閃回區($ORACLE_BASE/flash_recovery_area)。對於這個路徑,ORACLE有一個限制,就是預設只有2G的空間,而且不只是歸檔日誌的預設路徑,也是備份檔案和閃回日誌的預設地址,這樣的話歸檔日誌鎖使用的空間就達不到2G,在沒有設定好這個路徑大小的情況下,很多系統都遇到過歸檔日誌滿而無法歸檔導致資料庫夯住的問題
空間不夠了,要麼更改閃回區大小;要麼切換歸檔日誌到其他目錄
SQL> show parameter db_recovery
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string /u01/app/oracle/flash_recovery
_area
db_recovery_file_dest_size big integer 3852M