共计 2784 个字符,预计需要花费 7 分钟才能阅读完成。
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). 每次执行会清空日志文件内容,重新写入生成日志内容。
更多 Oracle 相关信息见 Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-05/131657.htm