ORA-00257: archiver error. Connect internal only, until freed.| Oracle数据库归档日志满导致应用系统反应缓慢的问题处理
一:查看原因
查看了下V$FLASH_RECOVERY_AREA_USAGE,看看归档目录使用的情况。果然是归档满了。
1 Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production 2 With the Partitioning, OLAP, Data Mining and Real Application Testing options 3 [oracle@localhost ~]$ sqlplus / as sysdba; 4 5 SQL*Plus: Release 11.2.0.3.0 Production on Thu Dec 21 09:06:54 2017 6 7 Copyright (c) 1982, 2011, Oracle. All rights reserved. 8 9 10 Connected to: 11 Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production 12 With the Partitioning, OLAP, Data Mining and Real Application Testing options 13 14 09:06:56 SYS@orcl SQL> select * from v$flash_recovery_area_usage; 15 16 FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES 17 -------------------- ------------------ ------------------------- --------------- 18 CONTROL FILE 0 0 0 19 REDO LOG 0 0 0 20 ARCHIVED LOG 99.62 0 107 21 BACKUP PIECE 0 0 0 22 IMAGE COPY 0 0 0 23 FLASHBACK LOG 0 0 0 24 FOREIGN ARCHIVED LOG 0 0 0 25 26 7 rows selected. 27 28 Elapsed: 00:00:01.76
注:可以看出,ARCHIVELOG日志已经达到99.9%了。造成归档满的原因是因为有一个用户在做大量更新操作,由于更新操作产生大量重做日志,
归档日志切换频繁。解决方法是要把大量归档日志清除掉!
二 处理方式:
有两种方式可以解决该问题。
一使用RMAN清除归档日志。
二修改闪回恢复区的大小DB_RECOVERY_FILE_DEST_SIZE。
第一种使用RMAN清除归档日志。
1 ========= 删除归档日志 ========= 2 3 第一步: 直接删除 物理数据 rm 4 5 第二步:通过 rman 删除: 6 7 oracle@linux112:/opt/oracle/> rman 8 9 Recovery Manager: Release 11.1.0.7.0 - Production on Mon Sep 3 11:47:06 2012 10 11 Copyright (c) 1982, 2007, Oracle. All rights reserved. 12 13 RMAN> connect target sys/sys_passwd 14 15 16 17 执行如下命令: 18 19 (1) crosscheck backup; 20 21 (2) delete obsolete; 22 23 (3) delete expired backup; 24 25 (4) crosscheck archivelog all; 26 27 (5) delete expired archivelog all; 28 29 (6) host;
注:删除过期的归档
这样就把归档文件删除了。再进入sqlplus 查看ARCHIVELOG日志使用率!
第二种方法就是增大闪回恢复区的大小。
如下:
在归档数据中要制定备份策略。以免造成该问题。
configure retention policy to recovery window of 15 days;
或者在备份时删除日志信息。
DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7'; //删除七天前的归档
DELETE ARCHIVELOG FROM TIME 'SYSDATE-7'; //删除七天到现在的归档
-----------------------------------------------------------------------------------------------------------------------
三:ORACLE 归档日志打开关闭方法;
注意:下文参考:fengyifei11228 《 ORACLE 归档日志打开关闭方法 》
三 、一: 设置为归档方式
1 sql> archive log list; -- #查看是不是归档方式 2 sql> alter system set log_archive_start=true scope=spfile; --#启用主动归档 3 sql> alter system set log_archive_dest='location=/oracle/ora9/oradata/arch' scope=spfile; 4 -- #设置归档路径 5 sql> alter system set log_archive_dest_1='location=/oracle/ora9/oradata/arch1' scope=spfile; 6 sql> alter system set log_archive_dest_2='location=/oracle/ora9/oradata/arch2' scope=spfile; 7 -- #如果归档到两个位置,则可以通过上边方法实现 8 sql> alter system set log_archive_format='arch_%d_%t_%r_%s.log' -- #设置归档日记款式 9 sql> shutdown immediate; 10 sql> startup mount; -- #打开控制文件,不打开数据文件 11 sql> alter database archivelog; -- #将数据库切换为归档模式 12 sql> alter database open; -- #将数据文件打开 13 sql> archive log list; -- #查看此时是否处于归档模式 14 -- 查询以确定数据库位于archivelog模式中且归档过程正在运行 15 sql> select log_mode from v$database; 16 sql> select archiver from v$instance; 17 -- 日志切换 18 sql> alter system switch logfile; 19 -- 这次日志切换将归档写到两个目标地, 20 -- 1,即第二步的/oracle/ora9/oradata/arch1和/oracle/ora9/oradata/arch1,要是要对目录确认 21 22 -- 在oracle情况中运行如下查询: 23 sql> select name from v$archived_log; 24 -- 而后在操作系统中确认查询所列出的文件 25
三 、二 :设置非归档方式
1 sql> archive log list; -- #查看是否是归档方式 2 sql> alter system set log_archive_start=false scope=spfile;-- #禁用自动归档 3 sql> shutdown immediate; 4 sql> startup mount; -- #打开控制文件,不打开数据文件 5 sql> alter database noarchivelog;-- #将数据库切换为非归档模式 6 sql> alter database open; ---#将数据文件打开 7 sql> archive log list; --- #查看此时便处于非归档模式
三 、三 :归档相关命令
为人:谦逊、激情、博学、审问、慎思、明辨、 笃行
学问:纸上得来终觉浅,绝知此事要躬行
为事:工欲善其事,必先利其器。
态度:道阻且长,行则将至;行而不辍,未来可期
.....................................................................
------- 桃之夭夭,灼灼其华。之子于归,宜其室家。 ---------------
------- 桃之夭夭,有蕡其实。之子于归,宜其家室。 ---------------
------- 桃之夭夭,其叶蓁蓁。之子于归,宜其家人。 ---------------
=====================================================================
* 博客文章部分截图及内容来自于学习的书本及相应培训课程以及网络其他博客,仅做学习讨论之用,不做商业用途。
* 如有侵权,马上联系我,我立马删除对应链接。 * @author Alan -liu * @Email no008@foxmail.com
转载请标注出处! ✧*꧁一品堂.技术学习笔记꧂*✧. ---> https://www.cnblogs.com/ios9/
学问:纸上得来终觉浅,绝知此事要躬行
为事:工欲善其事,必先利其器。
态度:道阻且长,行则将至;行而不辍,未来可期
.....................................................................
------- 桃之夭夭,灼灼其华。之子于归,宜其室家。 ---------------
------- 桃之夭夭,有蕡其实。之子于归,宜其家室。 ---------------
------- 桃之夭夭,其叶蓁蓁。之子于归,宜其家人。 ---------------
=====================================================================
* 博客文章部分截图及内容来自于学习的书本及相应培训课程以及网络其他博客,仅做学习讨论之用,不做商业用途。
* 如有侵权,马上联系我,我立马删除对应链接。 * @author Alan -liu * @Email no008@foxmail.com
转载请标注出处! ✧*꧁一品堂.技术学习笔记꧂*✧. ---> https://www.cnblogs.com/ios9/