归档日志已满ORA-00257问题

2016年4月3日 14:30

客户环境:LINUX + RAC

客户端账号登录,报错提示:ORA-00257: archiver error. Connect internal only, until freed

 

使用PUTTY连接服务器

进入oracle账户:

[root@hisrac2 ~]# su - oracle

[oracle@hisrac2 ~]$ sqlplus

SQL*Plus: Release 10.2.0.4.0 - Production on 星期日 4月 3 15:06:57 2016

Copyright (c) 1982, 2007, Oracle. ALL Rights Reserved.

 

SQL>conn / as sysdba;

Connected.

SQL>Archive log list;

Database log mode                         Archive Mode

Automatic archive                           Enabled

Archive destination                        /u01/app/oracle/archivelog

Oldest online log sequence          1716

 

[oracle@hisrac2 ~]$ RMAN TARGET/

 

恢复管理器: Release 11.2.0.1.0 - Production on 星期二 4月 5 15:23:09 2016

 

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

 

连接到目标数据库: ORCL (DBID=1285975621)

 --清除45天之前的归档日志;

RMAN>DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-45';

 

使用目标数据库控制文件替代恢复目录

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: SID=30 设备类型=DISK

db_unique_name 为 ORCL 的数据库的归档日志副本列表

=====================================================================

 

关键字     线程序列     S 时间下限

------- ---- ------- - ----------

173     1    142     A 31-3月 -16

        名称: \u01\app\oracle\archivelog\2016_04_02\O1_MF_1_142_CHYQF6FK_.ARC

 

174     1    143     A 01-4月 -16

        名称: \u01\app\oracle\archivelog\\2016_04_02\O1_MF_1_143_CHYQFH52_.ARC

 

175     1    144     A 01-4月 -16

        名称: \u01\app\oracle\archivelog\2016_04_02\O1_MF_1_144_CHYQH98G_.ARC

 

176     1    145     A 02-4月 -16

        名称: \u01\app\oracle\archivelog\2016_04_02\O1_MF_1_145_CHYQNRXX_.ARC

 

177     1    146     A 02-4月 -16

        名称:\u01\app\oracle\archivelog\016_04_02\O1_MF_1_146_CHYQNX6S_.ARC

 

178     1    147     A 02-4月 -16

        名称: \u01\app\oracle\archivelog\2016_04_02\O1_MF_1_147_CHYQRC6C_.ARC

 

………

 

是否确定要删除以上对象 (输入 YES 或 NO)?YES

 

已删除的归档日志

归档日志文件名=\u01\app\oracle\archivelog\2016_04_02\O1_MF_1_142_CHYQF6FK_.ARC RECID=173 STAMP=908113836

已删除的归档日志

归档日志文件名=\u01\app\oracle\archivelog\2016_04_02\O1_MF_1_143_CHYQFH52_.ARC RECID=174 STAMP=908113848

……….

 

XX 对象已删除

RMAN>

 

 

客户端账号重新登录,正常。

 

处理总结:

遇到报错提示:ORA-00257: archiver error. Connect internal only, until freed

--先查询ARCHIVED LOG的使用率,结果超过99%时说明归档日志已经满了

SQL> select * from V$FLASH_RECOVERY_AREA_USAGE where file_type='ARCHIVED LOG';

 

--(1).处理方法一:增大归档日志路径限额大小

--查看归档日志路径限额

SQL> show parameter db_recovery_file_dest;

 

NAME                                     TYPE           VALUE

------------------------------- ------------ ------------------------------

db_recovery_file_dest             string           D:\app\Administrator\flash_recovery_area

db_recovery_file_dest_size      big integer    4000M

 

--可以调整db_recovery_file_dest_size大小(10*1024*1024*1024,10GB

SQL> alter system set db_recovery_file_dest_size=10737418240;

 

--(2).处理方法一:删除归档日志文件

--RMAN登录交叉检查

RMAN> crosscheck archivelog all;

 

--删除过期归档日志

RMAN> delete expired archivelog all;

 

--删除指定时间以前的归档日志...

RMAN>DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';

 

以下附件RMAN_DelArc.rar

个人制作了一个windows环境下的.bat的文件,功能如下

(1).双击可删除所有归档日志;

(2).并生成一个日志文件;

(3).每次执行会清空日志文件内容,重新写入生成日志内容。

 

posted @ 2016-05-19 23:37  囧囧友  阅读(501)  评论(0编辑  收藏  举报