li
  当前位置:主页 > 备份恢复 > 文章内容
li
流配置异常(ORA-01403)的完整解决过程(一)
来源: http://yangtingkun.itpub.net/  作者: yangtingkun    时间:2008-01-26   阅读:17  
本文章共1788字,分2页,当前第1页,快速翻页:
 

在检查DBA_APPLY_ERROR视图,发现了很多应用失败的事务,失败错误原因为:ORA-01403: no data found

数据库的流配置在应用阶段设置DISABLE_ON_ERROR参数为N,应用虽然可以跳过错误的事务继续执行与之不相关的事务,但是受错误影响而报错的事务会越来越多。

系统的流环境不是我搭建的,虽然近来一段时间虽然看了一些流的概念,对流的工作原理大致清楚,但是基本上没有实际动手配置过流环境,流环境的维护操作也不是很熟悉。因此,只能临时抱佛脚,一边查询Oracle的文档,一边解决实际问题。所幸的是,用了两天半的时间(琐碎的事情比较多,不可能把全部时间投在一件事情上,两天半的时间还包括大半天的新系统上线的工作,汗),终于解决了问题。

庆幸之余,打算把解决问题的过程和思路记录下来。最主要的目的是记录一下问题的产生已经解决方法,顺便整理一下自己写的一个过程。另外一个考虑是,希望其他人可以从这篇文章中得到一些东西。虽然问题是在流环境中出现的,但是问题的解决和处理过程中需要的流的知识并不是很多,而是通过大量的PL/SQL代码解决了问题。无论是读者能从里面学到一些Oracle的使用技巧,还是能发现到一种解决问题的思路,亦或是能感悟到一个DBA所需的基本素质——细心、信心和锲而不舍的精神。那么我发布这篇文章的目的就达到了。

需要说明的是,由于解决问题前后历时三天,很多关键信息的屏幕打印记录已经找不到了,当时并没有打算要总结成一篇文章,也没有去保存。错误很难重新而且短期内也不打算重新了。所以,我只能根据印象去补充,或者简单的口述处理。有不准确的地方在所难免,希望尽量可以描述清楚。

最后说明一点,由于本人对流的配置、维护的了解还处于起步阶段,可能很多复杂的步骤可以通过简单的方式来解决,甚至可能解决方法本身就是错误的。如果你发现了类似的问题,也请帮忙指出。


首先,简单描述一下环境。

数据库版本为Oracle9204 for Solaris,配置流环境的时候打了一个补丁3339368

流环境比较简单,是单向的流复制。有两个源数据库对于一个应用数据库。出问题的是其中一个源数据库和应用数据库。

问题产生:

前一段时间由于开发人员的疏忽,在更新的时候漏掉了一个WHERE语句,导致系统负荷突然增加,3个小时内产生的REDO日志的数量是平时一天的20多倍。这对流的捕获来说,绝对是一个灾难,虽然被海量更新的表不是需要捕获的表,但是在捕获进程仍然要处理比平时大得多的数据量。

可能是由于压力比较大的原因,导致了后台出现了两个ORA-600错误。

Errors in file /opt/oracle/admin/zjtrade/bdump/zjtrade_cp01_18471.trc:

ORA-00600: internal error code, arguments: [knlcEnqueueLCR250], [3023165202], [0], [3023191099], [0], [], [], []

而后,在应用端则出现了ORA-01403: no data found

METALINK上查询了ORA-600错误,发现这个问题似乎是Oraclebug

IXDBA.NET技术社区

Metalink上查到的文档信息:https://metalink.oracle.com/metalink/plsql/showdoc?db=NOT&id=2892926.8&blackframe=1

这篇文档是bug2892926的一个支持性描述文档,包含的内容比较简单:

Bug 2892926 Streams may fail with OERI [knlcEnqueueLCR250]

This note gives a brief overview of bug 2892926.

Affects:

Product (Component)

Oracle Server (Rdbms)

Range of versions believed to be affected

Versions < 10G

Versions confirmed as being affected

* 9.2.0.4

Platforms affected

Generic (all / most platforms affected)

Fixed:

This issue is fixed in

* 9.2.0.5 (Server Patch Set)

* 10g Production Base Release

Symptoms:

* Internal Error may occur (ORA-600)

* ORA-600 [knlcEnqueueLCR250]

Related To:

* Streams / Logical Standby

Description

Streams may fail with ORA-600 [knlcEnqueueLCR250] 					  


阅读更多内容1 · 2 · 下一页>>


  上一篇: 流配置异常(ORA-01403)的完整解决...   下一篇: ORA-600(kolaslGetLength-1)错误
li
 §相关评论  
 热点文章

·Oracle数据库远程复制与异地容
·Oracle 11g备份恢复功能增强
·UNDO表空间的ORA-1122错误解决
·UNDO表空间的ORA-1122错误解决
·UNDO表空间的ORA-1122错误解决
·使用Flashback Query 恢复误删
·如何开启/关闭oracle的归档
·Rman的format格式中的%s类似的
·怎么样创建RMAN恢复目录
·ORA-01843:无效的月份,这个是
·ORA-01843:无效的月份
li
 编辑推荐
·Oracle数据库远程复制与异地容
·Oracle 11g备份恢复功能增强
·UNDO表空间的ORA-1122错误解决
·UNDO表空间的ORA-1122错误解决
·UNDO表空间的ORA-1122错误解决
·使用Flashback Query 恢复误删
·如何开启/关闭oracle的归档
·Rman的format格式中的%s类似的
·怎么样创建RMAN恢复目录
·ORA-01843:无效的月份,这个是
·ORA-01843:无效的月份
li
 相关篇章
·流配置异常(ORA-01403)的完整解决...
·流配置异常(ORA-01403)的完整解决...
·流配置异常(ORA-01403)的完整解决...
·流同步机制优化(二)
·流配置异常(ORA-01403)的完整解决...
·Oracle9i流环境清除(一)
·流故障解决(数据类型冲突)
·流同步机制优化(一)
·ORA-24170错误
·Oracle9i流环境清除(二)
·ORA-600(kolaslGetLength-1)错误
·srvctl添加数据库信息报错
·利用TAR恢复ORACLE RAC环境的软件...
·RAC环境一个实例删除已被另一个实...
·RAC环境中修改系统时间可能导致S...
·RAC环境的恢复策略
·一次带库备份异常
·RAC环境中的快照控制文件
·RAC环境中的密码文件
·RAC环境中的TNSNAMES文件
 
li
设为首页 | 关于我们 | 技术服务 | 收藏本站 | 网站地图 | 联系方式 | 本站友情连接