0

ORA-19809: limit exceeded for recovery files

黄廷忠 2019-06-18
51
摘要:我做的事情增加了resetlog的方式,在生产环境这里可以使用noresetlogs的方式就可以了,因为我们只是更改一下归档模式的。

问题描述

常常会遇到下面的报错信息

ARCH: Error 19809 Creating archive log file to ‘/oracle/app/oracle/fast_recovery_area/ORCL1124/archivelog/2014_06_05/o1_mf_1_113_%u_.arc’
ARC1: Error 19809 Creating archive log file to ‘/oracle/app/oracle/fast_recovery_area/ORCL1124/archivelog/2014_06_05/o1_mf_1_114_%u_.arc’
Errors in file /oracle/app/oracle/diag/rdbms/orcl1124/orcl1124/trace/orcl1124_ora_22611.trc:
ORA-16038: log 2 sequence# 113 cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 2 thread 1: ‘/oracle/app/oracle/oradata/orcl1124/redo02.log’
ARCH: Archival stopped, error occurred. Will continue retrying
ORACLE Instance orcl1124 – Archival Error
ORA-16038: log 3 sequence# 114 cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 3 thread 1: ‘/oracle/app/oracle/oradata/orcl1124/redo03.log’
System state dump requested by (instance=1, osid=22611), summary=[abnormal instance termination].
System State dumped to trace file /oracle/app/oracle/diag/rdbms/orcl1124/orcl1124/trace/orcl1124_diag_22544_20140605180150.trc
Dumping diagnostic data in directory=[cdmp_20140605180150], requested by (instance=1, osid=22611), summary=[abnormal instance termination].
USER (ospid: 22611): terminating the instance due to error 16038
Instance terminated by USER, pid = 22611


专家解答

原因很简单:归档目录满了,解决的方法也很多的

1,如果归档存放在FRA区,修改一个FRA区的大小就可以了,前提是FRA目录上还有剩余的空间。

2,使用单独的归档目录,扩一下文件系统或者将归档路径修改到其它的地方就可以了。

3,下面我们测试另一种方法


1,启动数据库报错

[oracle@www.htz.pw oradata]$sqlplus / as sysdba
 
SQL*Plus: Release 11.2.0.4.0 Production on Thu Jun 5 18:01:30 2014
 
Copyright (c) 1982, 2013, Oracle.  All rights reserved.
 
Connected to an idle instance.
 
www.htz.pw > startup
ORACLE instance started.
 
Total System Global Area  379965440 bytes
Fixed Size                  2253464 bytes
Variable Size             171969896 bytes
Database Buffers          201326592 bytes
Redo Buffers                4415488 bytes
Database mounted.
ORA-03113: end-of-file on communication channel
Process ID: 22611
Session ID: 1 Serial number: 5

2,alert中报下面的错误

ORA-19815: WARNING: db_recovery_file_dest_size of 4385144832 bytes is 100.00% used, and has 0 remaining bytes available.
************************************************************************
You have following choices to free up space from recovery area:
1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard,
   then consider changing RMAN ARCHIVELOG DELETION POLICY.
2. Back up files to tertiary device such as tape using RMAN
   BACKUP RECOVERY AREA command.
3. Add disk space and increase db_recovery_file_dest_size parameter to
   reflect the new space.
4. Delete unnecessary files using RMAN DELETE command. If an operating
   system command was used to delete files, then use RMAN CROSSCHECK and
   DELETE EXPIRED commands.
************************************************************************
ARCH: Error 19809 Creating archive log file to ‘/oracle/app/oracle/fast_recovery_area/ORCL1124/archivelog/2014_06_05/o1_mf_1_113_%u_.arc’
ARC1: Error 19809 Creating archive log file to ‘/oracle/app/oracle/fast_recovery_area/ORCL1124/archivelog/2014_06_05/o1_mf_1_114_%u_.arc’
Errors in file /oracle/app/oracle/diag/rdbms/orcl1124/orcl1124/trace/orcl1124_ora_22611.trc:
ORA-16038: log 2 sequence# 113 cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 2 thread 1: ‘/oracle/app/oracle/oradata/orcl1124/redo02.log’
ARCH: Archival stopped, error occurred. Will continue retrying
ORACLE Instance orcl1124 – Archival Error
ORA-16038: log 3 sequence# 114 cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 3 thread 1: ‘/oracle/app/oracle/oradata/orcl1124/redo03.log’
System state dump requested by (instance=1, osid=22611), summary=[abnormal instance termination].
System State dumped to trace file /oracle/app/oracle/diag/rdbms/orcl1124/orcl1124/trace/orcl1124_diag_22544_20140605180150.trc
Dumping diagnostic data in directory=[cdmp_20140605180150], requested by (instance=1, osid=22611), summary=[abnormal instance termination].
USER (ospid: 22611): terminating the instance due to error 16038
Instance terminated by USER, pid = 22611

3,下面将归档库更改为非归档就可以正常启动了

我做的事情增加了resetlog的方式,在生产环境这里可以使用noresetlogs的方式就可以了,因为我们只是更改一下归档模式的。

CREATE CONTROLFILE REUSE DATABASE "ORCL1124" RESETLOGS  NOARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
LOGFILE
  GROUP 1 ‘/oracle/app/oracle/oradata/orcl1124/redo01.log’  SIZE 50M BLOCKSIZE 512,
  GROUP 2 ‘/oracle/app/oracle/oradata/orcl1124/redo02.log’  SIZE 50M BLOCKSIZE 512,
  GROUP 3 ‘/oracle/app/oracle/oradata/orcl1124/redo03.log’  SIZE 50M BLOCKSIZE 512
— STANDBY LOGFILE
DATAFILE
  ‘/oracle/app/oracle/oradata/orcl1124/system01.dbf’,
  ‘/oracle/app/oracle/oradata/orcl1124/sysaux01.dbf’,
  ‘/oracle/app/oracle/oradata/orcl1124/undotbs01.dbf’,
  ‘/oracle/app/oracle/oradata/orcl1124/users01.dbf’,
  ‘/oracle/app/oracle/oradata/orcl1124/htz01.dbf’,
  ‘/oracle/app/oracle/oradata/orcl1124/undotbs02.dbf’
CHARACTER SET ZHS16GBK
;
 
 
 
www.htz.pw > recover database using backup controlfile until cancel;
ORA-00279: change 2795841 generated at 06/05/2014 17:52:39 needed for thread 1
ORA-00289: suggestion :
/oracle/app/oracle/fast_recovery_area/ORCL1124/archivelog/2014_06_05/o1_mf_1_115
_%u_.arc
ORA-00280: change 2795841 for thread 1 is in sequence #115
 
 
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
/oracle/app/oracle/oradata/orcl1124/redo03.log
ORA-00310: archived log contains sequence 114; sequence 115 required
ORA-00334: archived log: ‘/oracle/app/oracle/oradata/orcl1124/redo03.log’
 
 
www.htz.pw > recover database using backup controlfile until cancel;
ORA-00279: change 2795841 generated at 06/05/2014 17:52:39 needed for thread 1
ORA-00289: suggestion :
/oracle/app/oracle/fast_recovery_area/ORCL1124/archivelog/2014_06_05/o1_mf_1_115
_%u_.arc
ORA-00280: change 2795841 for thread 1 is in sequence #115
 
 
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
/oracle/app/oracle/oradata/orcl1124/redo01.log
Log applied.
Media recovery complete.
这里一定要手动输入日志路径,不然可以会丢失数据,或者遇到其它的报错的。
 
 
www.htz.pw > alter database open resetlogs;
 
Database altered.
 
 
www.htz.pw > archive log list;
Database log mode              No Archive Mode
Automatic archival             Disabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     1
Current log sequence           1


「喜欢文章,快来给作者赞赏墨值吧」

评论

0
0
Oracle
订阅
欢迎订阅Oracle频道,订阅之后可以获取最新资讯和更新通知。
墨值排行
今日本周综合
近期活动
全部
相关课程
全部