Welcome 微信登录

首页 / 数据库 / MySQL / Oracle 错误“ORA-19809: limit exceeded for recovery files”处理办法

当运行archive命令的时候,数据库报错:
  1. SQL> alter system archive log current;
  2. alter system archive log current
  3. *
  4. ERROR at line 1:
  5. ORA-16038: log 1 sequence# 1 cannot be archived
  6. ORA-19809: limit exceeded for recovery files
  7. ORA-00312: online log 1 thread 1: "/u01/livedata/live/redo01.log"
这个错误的原因是recovery文件的大小超出限制了,解决方法有两个,一个是删除旧有的文件,另一个是扩大空间限制

1. 删除旧文件

这种方式是进入RMAN,把归档文件删掉一部分(或者全删)
  1. $ rman
  2. Recovery Manager: Release 11.2.0.3.0 - Production on Mon Aug 12 10:35:46 2013
  3. RMAN> connect target sys/<password>
  4. RMAN> delete archivelog all;
  5.  
  6. 或者是
  7. [$ rman target /]
  8. [RMAN>DELETE ARCHIVELOG UNTIL TIME "SYSDATE-2";]
  9. RMAN> crosscheck archivelog all;

2. 扩大空间限制

首先找到archive文件的位置
  1. $ sqlplus / as sysdba
  2.  
  3. SQL> show parameter background_dump_dest
  4. SQL> archive log list
  5. Database log mode Archive Mode
  6. Automatic archival Enabled
  7. Archive destination USE_DB_RECOVERY_FILE_DEST
  8. Oldest online log sequence 572
  9. Next log sequence to archive 572
  10. Current log sequence 580
可以看到归档日志的位置是DB_RECOVERY_FILE_DEST,精确路径也可以查到
  1. SQL> show parameter db_recover
  2. NAME TYPE VALUE
  3. ------------------------------------ ----------- ------------------------------
  4. db_recovery_file_dest string /oradata2/flash_recovery_area
  5. db_recovery_file_dest_size big integer 10G
查看空间使用情况
  1. SQL> SELECT * FROM V$RECOVERY_FILE_DEST;
  2. NAME
  3. --------------------------------------------------------------------------------
  4. SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES
  5. ----------- ---------- ----------------- ---------------
  6. /u01/testlog
  7. 4322230272 3996808192 0 28
然后就可以增加db_recovery_file_dest_size
  1. SQL> alter system set db_recovery_file_dest_size=20G;
  2. System altered.
  3. SQL> alter database open;
  4. Database altered.
相关阅读:关于ORA-01000: maximum open cursors exceeded" 问题分析总结 http://www.linuxidc.com/Linux/2013-06/86057.htm关于Oracle游标的问题(ORA-01000: maximum open cursors exceeded) http://www.linuxidc.com/Linux/2009-01/18148.htmOracle ORA-01000:maximum open cursors exceeded http://www.linuxidc.com/Linux/2013-01/77754.htmORA-01000: maximum open cursors exceeded http://www.linuxidc.com/Linux/2013-02/80071.htm更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12MongoDB初学笔记Oracle shell调用SQL操作DB相关资讯      ORA-19809 
  • DBCA出错:ORA-19809: limit   (10/27/2015 19:41:29)
  • ORA-19809: limit exceeded for   (01/12/2014 19:14:25)
  • RMAN备份时ORA-19809错误  (02/15/2014 19:05:07)
  • ORA-19809&&ORA-03113  (12/30/2013 18:46:39)
本文评论 查看全部评论 (0)
表情: 姓名: 字数