修改默認歸檔日誌
Oracle11g版本,ORACLE默認的日誌歸檔路徑為閃回恢復區($ORACLE_BASE/fast_recovery_area)。對於這個路徑,Oracle有一個限制,就是默認只有4G的空間,而且不只是歸檔日誌的默認路徑,也是備份文件和閃回日誌的默認地址,這樣的話歸檔日誌鎖使用的空間就達不到4G,在沒有設置好這個路徑大小的情況下,很多系統都遇到過歸檔日誌滿而無法歸檔導致數據庫夯住的問題。
1.查看歸檔日誌路徑
- SQL> archive log list
- Database log mode Archive Mode
- Automatic archival Enabled
- Archive destination USE_DB_RECOVERY_FILE_DEST
- Oldest online log sequence 4
- Next log sequence to archive 6
- Current log sequence 6
這裏可以看到Archive destination的值為USE_DB_RECOVERY_FILE_DEST,可以理解為USE(使用)DB_RECOVERY_FILE_DEST這個路徑
2.查看DB_RECOVERY_FILE_DEST路徑
- SQL> show parameter db_recovery
- NAME TYPE VALUE
- ------------------------------------ ----------- ------------------------------
- db_recovery_file_dest string /u01/oracle/fast_recovery_area
- db_recovery_file_dest_size big integer
由上可以很清楚的看到DB_RECOVERY_FILE_DEST路徑參數的值默認為/u01/oracle/fast_recovery_area,並且Oracle設置的大小為4G。
默認情況下,歸檔日誌會存放到閃回恢復區($ORACLE_BASE/fast_recovery_area)內,如果閃回恢復區已經使用到4G,歸檔日誌就有可能無法繼續歸檔,數據庫夯住。
1)解決方法一
通常的解決方法是增大閃回恢復區,可以用以下SQL實現。
- --修改語句
- SQL> alter system set db_recovery_file_dest_size=10G;
- System altered.
- --再次查看
- SQL> show parameter db_recovery
- NAME TYPE VALUE
10. ------------------------------------ ----------- ------------------------------
11. db_recovery_file_dest string /u01/oracle/fast_recovery_area
12. db_recovery_file_dest_size big integer 10G
2)解決方法二
修改歸檔日誌的路徑,將歸檔日誌放到其他不受限制的路徑下來解決這個問題,可通過下面的SQL來修改歸檔日誌的存放路徑。
- --修改log_archive_dest_1值來重新制定路徑
- SQL> alter system set log_archive_dest_1=‘location=/u01/oracle/archive‘;
- System altered.
這裏特別要註意location參數,並且指定的目錄要存在並且有Oracle的權限
重新啟動數據庫,查看歸檔路徑是否修改成功
- --關閉
- SQL> shutdown immediate
- Database closed.
- Database dismounted.
- ORACLE instance shut down.
- SQL> startup
- ORACLE instance started.
- Total System Global Area 784998400 bytes
10. Fixed Size 2257352 bytes
11. Variable Size 478154296 bytes
12. Database Buffers 301989888 bytes
13. Redo Buffers 2596864 bytes
14. Database mounted.
- 15.
16. Database opened.
- 17.
18. --再次查看,修改成功
19. SQL> archive log list
20. Database log mode Archive Mode
21. Automatic archival Enabled
22. Archive destination /u01/oracle/archive
23. Oldest online log sequence 4
24. Next log sequence to archive 6
25. Current log sequence 6
可以通過切換日誌,查看歸檔路徑下是否有歸檔日誌產生來驗證歸檔路徑設置是否正確,可以通過下面的命令切換日誌
- SQL> alter system switch logfile;
- System altered.
- SQL> exit
- Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
- With the Partitioning, OLAP, Data Mining and Real Application Testing options
- [oracle@cancer oracle]$ ll /u01/oracle/archive/
10. total 36540
11. -rw-r----- 1 oracle oinstall 9608704 Oct 20 14:39 1_6_893515662.dbf
歸檔格式:
- SQL> show parameter log_archive_format
- NAME TYPE VALUE
- ------------------------------------ ----------- ------------------------------
- log_archive_format string %t_%s_%r.dbf
修改默認歸檔日誌