1. 程式人生 > >修改默認歸檔日誌

修改默認歸檔日誌

數據 cat glob 產生 testin rod s/4 有一個 enter



Oracle11g版本,ORACLE默認的日誌歸檔路徑為閃回恢復區($ORACLE_BASE/fast_recovery_area)。對於這個路徑,Oracle有一個限制,就是默認只有4G的空間,而且不只是歸檔日誌的默認路徑,也是備份文件和閃回日誌的默認地址,這樣的話歸檔日誌鎖使用的空間就達不到4G,在沒有設置好這個路徑大小的情況下,很多系統都遇到過歸檔日誌滿而無法歸檔導致數據庫夯住的問題。

1.查看歸檔日誌路徑

  1. SQL> archive log list
  2. Database log mode Archive Mode
  3. Automatic archival Enabled
  4. Archive destination USE_DB_RECOVERY_FILE_DEST
  5. Oldest online log sequence 4
  6. Next log sequence to archive 6
  7. Current log sequence 6

這裏可以看到Archive destination的值為USE_DB_RECOVERY_FILE_DEST,可以理解為USE(使用)DB_RECOVERY_FILE_DEST這個路徑

2.查看DB_RECOVERY_FILE_DEST路徑

  1. SQL> show parameter db_recovery
  2. NAME TYPE VALUE
  3. ------------------------------------ ----------- ------------------------------
  4. db_recovery_file_dest string /u01/oracle/fast_recovery_area
  5. db_recovery_file_dest_size big integer
    4G

由上可以很清楚的看到DB_RECOVERY_FILE_DEST路徑參數的值默認為/u01/oracle/fast_recovery_area,並且Oracle設置的大小為4G。
默認情況下,歸檔日誌會存放到閃回恢復區($ORACLE_BASE/fast_recovery_area)內,如果閃回恢復區已經使用到4G,歸檔日誌就有可能無法繼續歸檔,數據庫夯住。

1)解決方法一

通常的解決方法是增大閃回恢復區,可以用以下SQL實現。

  1. --修改語句
  2. SQL> alter system set db_recovery_file_dest_size=10G;
  3. System altered.
  4. --再次查看
  5. SQL> show parameter db_recovery
  6. 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來修改歸檔日誌的存放路徑。

  1. --修改log_archive_dest_1值來重新制定路徑
  2. SQL> alter system set log_archive_dest_1=‘location=/u01/oracle/archive‘;
  3. System altered.

這裏特別要註意location參數,並且指定的目錄要存在並且有Oracle的權限
重新啟動數據庫,查看歸檔路徑是否修改成功


  1. --關閉
  2. SQL> shutdown immediate
  3. Database closed.
  4. Database dismounted.
  5. ORACLE instance shut down.
  6. SQL> startup
  7. ORACLE instance started.
  8. 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.

  1. 15.

16. Database opened.

  1. 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

可以通過切換日誌,查看歸檔路徑下是否有歸檔日誌產生來驗證歸檔路徑設置是否正確,可以通過下面的命令切換日誌

  1. SQL> alter system switch logfile;
  2. System altered.
  3. SQL> exit
  4. Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
  5. With the Partitioning, OLAP, Data Mining and Real Application Testing options
  6. [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

歸檔格式:

  1. SQL> show parameter log_archive_format
  2. NAME TYPE VALUE
  3. ------------------------------------ ----------- ------------------------------
  4. log_archive_format string %t_%s_%r.dbf

修改默認歸檔日誌