解决归档出错,ORA-00257: archiver error. Connect internal only, until freed.

来源:互联网 发布:订单管理系统java流程 编辑:程序博客网 时间:2024/06/16 07:39

[Oracle@jingmin ~]$ sqlplus test1/test1

SQL*Plus: Release 11.2.0.3.0 Production on Fri Dec 21 10:08:57 2012Copyright (c) 1982, 2011, oracle. All rights reserved.ERROR:ORA-00257: archiver error. Connect internal only, until freed.

 

原因:归档进程在归档重做日志的时候,发生了错误。如果问题不马上解决,数据库将不可用,无法进行任何事物,出现这个错误信息的最大可能是:存储重做日志的空间不足

解决办法:检查归档跟踪文件查看详细原因,检查archive_log_dest参数设置

 

查看了一下归档模式没有问题:

[sql] view plain copy
  1. SQL> archive log list;  



查看重做日志空间使用请况:因为每小时都备份并删除Archive Log, 没有问题:

[sql] view plain copy
  1. SQL> SELECT * FROM V$RECOVERY_FILE_DEST;  
  2.   
  3. NAME  
  4.   
  5. --------------------------------------------------------------------------------  
  6.   
  7. SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES  
  8.   
  9. ----------- ---------- -----------------   
  10.   
  11. ---------------  
  12.   
  13. +DATA1   
  14.   
  15. 6.4425E+10 3.3210E+9 0 3  
  16.   
  17. SQL> select * from v$flash_recovery_area_usage;  
  18.   
  19. FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE  
  20.   
  21. -------------------- ------------------ -------------------------  
  22.   
  23. NUMBER_OF_FILES-  
  24.   
  25. --------------  
  26.   
  27. CONTROL FILE 0 0 0  
  28.   
  29. REDO LOG 4.04 0 3ARCHIVED LOG 0 0  


因为用的是ASM统一存储管理,所以下面语句会报错,因为使用的参数不是 log_archive_dest :

[sql] view plain copy
  1. SQL> alter system set log_archive_dest='+FDA1';  
  2.   
  3. ERROR at line 1:ORA-02097: parameter cannot be modified because specified value is invalid  
  4.   
  5. ORA-16018: cannot use LOG_ARCHIVE_DEST with LOG_ARCHIVE_DEST_n orDB_RECOVERY_FILE_DEST  
下面是正确的解决办法:

[sql] view plain copy
  1. SQL> alter system set db_recovery_file_dest='+FDA1';  
  2. System altered.  
  3. SQL> alter system switch logfile;  
  4. System altered.  
  5. SQL> conn test1/test1Connected.  

————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
下面是一篇文章的翻译:原载地址:http://www.dba-oracle.com/sf_ora_00257_archiver_error_connect_internal_only_until_freed.htm 
数据库的后台进程ARCH是负责将在线重做日志归档到目标地址文件系统,详细参考一篇文章:ADRCI cannot create archive log file ORA-00257是一个Oracle常见错误,一旦数据库的闪回区域被日志占满了,或者db_recovery_file_dest_size太小,你会一直看到这个错误 第一、使用以下语句确认归档模式是否开启

SQL> archive log list;

第二、你需要去找到你存储归档日志的目标地址,如果你是用确切的目标地址的话(文件系统,不是ASM管理),即使用了db_recovery_file_dest参数

SQL> show parameter db_recovery_file_dest; (SQL> show parameter recovery)

第三、需要解决ORA-00257,你需要找到存储数据库重做日志的空间大小

SQL> SELECT * FROM V$RECOVERY_FILE_DEST; (SQL> select * from v$flash_recovery_area_usage;)

第四、通过上面的语句,可以看到使用了多少空间,最大空间限制等数值,如果可能是因为这个原因,我们应该把那些archive logs移到其他地方去 第五、,你要做的是把当前系统在线日志都归档到离线:

SQL> alter system archive log all;

请了解,执行第五步的时候,很可能会遇到这个错误:ORA-16020 in the LOG_ARCHIVE_MIN_SUCCEED_DEST,这时你应该选用正确的归档地址(如果你是用flash Recovery区域来管理的话,请记住一定要多方考虑,因为你正在试验的是Log_ARCHIVE_DEST):

SQL>alter system set LOG_ARCHIVE_DEST_.. = 'location=/archivelogpath reopen';

解决ORA-00257的最后一步是切换日志文件,从而确认是否解决

SQL> alter system switch logfile;

阅读全文
1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 在厂里辞一个月厂长不批怎么办 在厂里做管理被员工恐吓怎么办 在葡京娱乐输了很多钱怎么办 从珠海入镜澳门北京往返签注怎么办 艾艾灸灸了一身小子子怎么办? 微信视频已过期或已清理怎么办 视频已过期或已被清理怎么办 小孩作业不会老婆天天吵骂打怎么办 苹果手机在太阳下屏幕变暗怎么办 斗鱼的鱼丸竞猜主播结算了怎么办 附近有个小姐姐想加她好友怎么办 孩子出现听别人说话语速很快怎么办 苹果手机上的邮件删了怎么办 手机qq邮箱独立密码忘记了怎么办 哺乳期吃了人参回奶了怎么办? 扣扣邮箱里的邮件过期了怎么办 一体机的管理员账号被删除了怎么办 手机里的邮箱重要吗删除了怎么办 华为荣耀10账号邮箱忘记了怎么办 大陆微信号在台湾登录不上怎么办 威纶触摸屏被禁止到反编译了怎么办 微信公众号邮箱被占用怎么办 京东绑定的手机号不用了怎么办 绑定微信的手机号不用了怎么办 绑定支付宝的手机号不用了怎么办 百度账号手机号换了密码忘了怎么办 换手机好了华为账号密码忘了怎么办 苹果手机忘了id账号和密码怎么办 金立手机账号密码忘了怎么办 乐视手机账号密码忘了怎么办 企业邮箱发出去邮件撤不回来怎么办 餐厅加热保温设备零线带电怎么办 小米手机不小心把照片删了怎么办 华为手机不小心把照片删了怎么办 网易邮箱被改成别人的姓名怎么办 苹果手机忘记id密码和邮箱怎么办 163邮箱下载的附件没有了怎么办 小米自带浏览器打开网页太慢怎么办 再歪一点授权码忘记了怎么办 注册支付宝的手机号不用了怎么办 手机号被别人注册了支付宝怎么办