`

ORA-00308: cannot open archived log(原创)

 
阅读更多

笔者在为客户配置DG时发现主备库日志无法正常传输,经仔细检查后

备库发现日志报错如下
Sat Mar 10 13:30:35 2012
Errors in file /oracle/EPD/saptrace/background/epd_mrp0_11731148.trc:
ORA-19527: physical standby redo log must be renamed
ORA-00312: online log 1 thread 1: '/oracle/EPD/origlogA/log_g11m1.dbf'
Clearing online redo logfile 1 complete
Media Recovery Waiting for thread 1 sequence 9
Fetching gap sequence in thread 1, gap sequence 9-108
FAL[client, MRP0]: Error 16191 fetching archived redo log from EPD.WORLD
Sat Mar 10 13:30:35 2012
Errors in file /oracle/EPD/saptrace/background/epd_mrp0_11731148.trc:
ORA-16191: Primary log shipping client not logged on standby

报错找不到/oracle/EPD/origlogA/log_g11m1.dbf日志,并报没有找到9-108号归档日志,说明备库没有自动从主库上获取缺失的日志。

主库报错如下

Additional information: 3

logfile /oracle/EPD/oraarch/EPDarch1_106_755387553.dbf open failed:308

kcrrwkx: unknown error:0

ORA-16055: FAL request rejected

ARCH: Connecting to console port...

ARCH: Connecting to console port...

ORA-00308: cannot open archived log '/oracle/EPD/oraarch/EPDarch1_107_755387553.dbf'

ORA-27037: unable to obtain file status

IBM AIX RISC System/6000 Error: 2: No such file or directory

上metalink上查询一番后没有发现完全符合报错信息的,相对接近的解释是,在oracle 11.1版本中,oracle会对12小时内的redo记录进行扫描或转储,如果在扫描或转储中发现所需的redo记录已经被删除,则会报ORA-00308和 ORA-27037错误。oracle建议解决方法为:打Patch 8825048补丁升级至: 11.1.0.7.3 (Patch Set Update)或者升级至11.2.0.1 (Base Release)

但笔者的数据库版本为10.2.0.4,且经主库上的/oracle/EPD/oraarch/EPDarch1_106_755387553.dbf日志是几个月前的日志了,也许是MOS上信息不全的缘故吧。

个人解决方式,删除相应的归档信息:

RMAN>delete noprompt expired archivelog all;
RMAN>delete noprompt expired archivelog until logseq 150;
虽然不知道这是不是长治久安之计,但至少主、备库报错停止,主备库能够正常同步数据。

付metalink的具体信息
Applies to:


Oracle Server - Enterprise Edition - Version: 11.1.0.6 and later   [Release: 11.1 and later ]
Information in this document applies to any platform.
***Checked for relevance on 30-Jan-2012***

Symptoms

Getting the following messages in the alert.log referencing archive logs which have already been created, backed up, and removed from the system.

Errors in file /app/opt/oracle/admin/myora/bdump/diag/rdbms/myoradb/myoradb/trace/myoradb_ora_22222.trc:
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3
ORA-00308: cannot open archived log '/dbarch/oradata/myoradb/arch/arch_1_6199_760938736.dbf'
ORA-27037: unable to obtain file status
Linux-x86_64 Error: 2: No such file or directory
Additional information: 3 

Cause

Per unpublished
Bug 9207154: GET ORA-00308 ORA-27037 ATTEMPTING TO ACCESS VERY OLD ARCHIVE LOG

Prior to 11g, certain errors that would not normally be reported such as "ORA-8103: object no longer exists" would result in redo from all the online redo logs being scanned. From 11.1 onwards Oracle now potentially scans the past 12 hours of redo, and that can mean looking at archived logs too.

The fact that in 11.1 the diagnostic redo scans/dumps potentially search for the past 12 hours of redo and if the redo dump tries to access an archived log that has been deleted then ORA-27037 and ORA-308 errors are raised, and caught and handled internally, but in the alert log, this is effectively publicizing the internally handled exception conditions, and could be confusing to the DBA viewing the alert log.

NOTE:
For 11.2 releases the same problem is covered by
BUG 9651350 - ORA-00308 AND ORA-27037 WHEN ORA-8103 WITHOUT EVENT 10736 BEEN SET

Solution

This process was changed via Patch 8825048 for
Bug 8825048 - 11.1 - DUMPING DIAGNOSTIC INFO FOR ORA-8103 RESULTS IN ORA-308

The bug is fixed in:

  • 11.1.0.7.3 (Patch Set Update)
  • 11.2.0.1 (Base Release)

参考至:https://support.oracle.com/CSP/ui/flash.html#tab=KBHome%28page=KBHome&id=%28%29%29,%28page=KBNavigator&id=%28bmDocTitle=Oracle%20Alert%20Log%20Is%20Reporting%20Archive%20Log%20Status%20Is%20Not%20Available%20For%20Logs%20That%20Have%20Long%20Been%20Backed%20Up&bmDocType=PROBLEM&bmDocID=1161573.1&viewingMode=1143&bmDocDsrc=KB&from=BOOKMARK%29%29

本文原创,转载请注明出处、作者

如有错误,欢迎指正

邮箱:czmcj@163.com

分享到:
评论

相关推荐

    ora-01033:oracle initialization or shutdown in progress 解决方法

    ### ora-01033: Oracle Initialization or Shutdown in Progress 解决方法 #### 一、问题背景及原因 **标题**: “ora-01033: Oracle initialization or shutdown in progress 解决方法” **描述**: “ora-01033: ...

    如何处理错误ORA-29275:部分多字节字符

    ### 如何处理错误ORA-29275:部分多字节字符 #### 问题背景与描述 在Oracle数据库操作过程中,用户可能会遇到一个特定的错误提示——ORA-29275:部分多字节字符。这一错误通常出现在执行查询`SELECT * FROM V$...

    ORA-04052p5731178_92080_WINNT.zip

    ORA-00604: 递归SQL层1出现错误 ORA-03106: 致命的双工通信协议错误 ORA-02063: 紧接着line(源于dblink) 以及 ORA-04052: 在查找远程对象时出错 ORA-00604: 递归SQL层1出现错误 ORA-03120: 双工转换例行程序:整数...

    ORA-12154: TNS: 无法解析指定的连接标识符的解决方法

    ORA-12154: TNS: 无法解析指定的连接标识符的解决方法

    Oracle 授权 ORA-00990: 权限缺失或无效

    在Oracle数据库管理中,"ORA-00990: 权限缺失或无效"是一个常见的错误代码,它表示用户尝试执行的操作没有足够的权限。这个错误通常发生在试图访问、修改或者管理数据库对象(如表、视图、索引等)时。在本篇文章中...

    ORA-32001:请求写入spfile,但没有使用spfile的解决方法

    ORA-32001:write to spfile requested but no spfile is in use请求写入spfile,但没有使用spfile的解决方法 在输入以下语句中报了这样的错误: SQL>alter system set control_files=’/u01/app/oracle/oradata/prod/...

    oracle报错大全(珍藏版)

    #### ORA-00064: Unable to Open O/S File 打开操作系统文件时失败。这可能是由于文件权限问题、文件不存在或其他操作系统级别的问题。 #### ORA-00065: FIXED_DATE Parameter Value Incorrect 当FIXED_DATE参数值...

    ORA-00060: 等待资源时检测到死锁--oracle 数据库表死锁异常

    在Oracle数据库系统中,"ORA-00060: 等待资源时检测到死锁" 是一个常见的错误提示,它表明两个或多个事务在执行过程中陷入了无法继续进行的状态,因为彼此都在等待对方释放资源。这种情况通常发生在并发操作中,比如...

    ORA-00904: "WM_CONCAT": 标识符无效

    在Oracle数据库中,"ORA-00904"是一个常见的错误代码,它表示尝试引用一个不存在或无效的标识符。在这个场景下,错误信息提到的是"WM_CONCAT"函数,这表明在Oracle 19c数据库环境中,用户尝试使用WM_CONCAT函数,但...

    oracle特有的错误:ORA-01036:非法的变量名/编号

    在Oracle数据库系统中,"ORA-01036:非法的变量名/编号"是一个常见的错误,通常出现在PL/SQL代码或者SQL查询语句中,当你尝试使用一个不正确或者未定义的变量时,Oracle数据库会抛出这个错误。这个错误可能是由于...

    oracle12c ORA-01017: 用户名/口令无效; 登录被拒绝 解决方案

    oracle12c程序连接时异常: ORA-01017: 用户名/口令无效; 登录被拒绝 的解决方案。

    CLOB 字段类型报错 ORA-01704: 文字字符串过长的解决

    然而,当你尝试向CLOB字段插入数据时,如果超过了Oracle规定的最大限制,就会遇到“ORA-01704: 文字字符串过长”的错误。这个错误通常意味着你试图插入的字符串超过了Oracle数据库允许的最大长度,对于VARCHAR2类型...

    使用工具IMPDP导入数据时ORA-39002、ORA-39070错误排查

    #### ORA-39070: Unable to open the log file 此错误表明无法打开指定的日志文件,通常是由于日志文件路径不可访问、文件不存在或权限不足等原因造成的。 #### ORA-29283: invalid file operation 此错误通常与...

    WMSYS.zip解决ORA-00904:

    -- 解决ORA-00904: "WMSYS"."WM_CONCAT": 标识符无效 的文件包....... -- 解决ORA-00904: "WMSYS"."WM_CONCAT": 标识符无效 的文件包....... -- 解决ORA-00904: "WMSYS"."WM_CONCAT": 标识符无效 的文件包....... ...

    Oracle错误码大全

    ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020: 超出最大进程数 () ORA-00021: 会话附属于其它某些进程;无法转换...

    ORA-00031:标记要终止的会话

    在处理Oracle数据库时,我们经常遇到错误代码ORA-00031,它表明指定的会话已经被标记为终止。这个错误通常与数据库锁定和会话管理有关。本文将详细解析这一问题的解决方案,并提供一系列SQL语句和命令来处理和解决...

    Oracle 回收站功能,彻底删除表ORA-00933:SQL command not properly ended

    ### Oracle回收站功能详解与彻底删除表方法 #### 一、Oracle回收站功能概述 Oracle数据库自10g版本开始引入了回收站功能...同时,需要注意避免因SQL语句编写不当而导致的ORA-00933错误,以确保操作的顺利进行。

    ORA-12737: Instant Client Light oci sqlplus

    ORA-12737: Instant Client Light: unsupported server character set CHS16GBK/ZHS16GBK解决方案oci sqlplus instantclient_12_2

Global site tag (gtag.js) - Google Analytics