码迷,mamicode.com
首页 > 其他好文 > 详细

修改默认归档日志

时间:2018-05-18 14:01:55      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:ati   size   lis   1.2   ref   tar   parameter   rtu   oct   

 



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.   
  3. NAME                                 TYPE        VALUE  
  4. ------------------------------------ ----------- ------------------------------  
  5. db_recovery_file_dest                string      /u01/oracle/fast_recovery_area  
  6. 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.   
  4. System altered.  
  5.   
  6. --再次查看  
  7. SQL> show parameter db_recovery  
  8.   
  9. 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.   
  4. 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.   
  9. 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.   
  3. System altered.  
  4.   
  5. SQL> exit  
  6. Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production  
  7. With the Partitioning, OLAP, Data Mining and Real Application Testing options  
  8.   
  9. [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.   
  3. NAME                                 TYPE        VALUE  
  4. ------------------------------------ ----------- ------------------------------  
  5. log_archive_format                   string      %t_%s_%r.dbf  

修改默认归档日志

标签:ati   size   lis   1.2   ref   tar   parameter   rtu   oct   

原文地址:https://www.cnblogs.com/zy-303/p/9055578.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!