li
  当前位置:主页 > 性能优化 > 文章内容
li
streams流复制ORA-01403错误解决一则
来源: www.eygle.com  作者: eygle    时间:2008-03-13   阅读:18  
在Streams复制中,很多时候会遇到ORA-01403: no data found的错误(定义冲突解决方案很重要):
SQL> select apply_name,LOCAL_TRANSACTION_ID,SOURCE_TRANSACTION_ID,ERROR_MESSAGE
  2  from dba_apply_error;

APPLY_NAME  LOCAL_TRANSACTION_ID  SOURCE_TRANSACTION_ID  ERROR_MESSAGE
----------- ---------------------- ---------------------- -------------------------
APP97_APPLY 5.27.1273              4.46.576              ORA-01403: no data found

通过print_transaction可以找到相关事务的出错原因:
SQL> SET SERVEROUTPUT ON SIZE 1000000
SQL> EXEC print_transaction('5.27.1273')

----- Local Transaction ID: 5.27.1273
----- Source Database: TEST201.EYGLE.COM
----Error in Message: 1
----Error Number: 1403
----Message Text: ORA-01403: no data found

--message: 1
type name: SYS.LCR$_ROW_RECORD
source database: TEST201.EYGLE.COM
owner: SCOTT
object: DEPT
is tag null: Y
command_type: UPDATE
old(1): DEPTNO
50
old(2): LOC
CHINA
new(1): LOC
CHINA

如果能够定位错误数据,可以手工纠正一下:
SQL> connect scott/tiger
Connected.
SQL> select * from dept;

    DEPTNO DNAME          LOC
---------- -------------- -------------
        50 EYGLE          BEIJING
        10 ACCOUNTING    NEW YORK
        20 RESEARCH      DALLAS
        30 SALES          CHICAGO
        40 OPERATIONS    BOSTON

SQL> update dept set loc='CHINA' where deptno=50;

1 row updated.

SQL> commit;

Commit complete.

然后再次执行原事务,该事务就可以被正常执行:
SQL> BEGIN
  2  DBMS_APPLY_ADM.EXECUTE_ERROR(
  3  LOCAL_TRANSACTION_ID => '5.27.1273',
  4  EXECUTE_AS_USER => FALSE);
  5  END;
  6  /

PL/SQL procedure successfully completed

SQL> select apply_name,LOCAL_TRANSACTION_ID,SOURCE_TRANSACTION_ID,ERROR_MESSAGE
  2  from dba_apply_error
  3  /

APPLY_NAME  LOCAL_TRANSACTION_ID  SOURCE_TRANSACTION_ID  ERROR_MESSAGE
----------- ---------------------- ---------------------- ------------------------



  上一篇: Oracle10gR2 ORA-3136 错误解决方...   下一篇: ORA-00600: 内部错误代码,参数:...
li
 §相关评论  
 热点文章

·Resize datafile导致ASM Crash
·在Oracle10g RAC下新增ASM磁盘
·ORACLE SQL性能优化系列 (一)
·oracle性能调优:管理oracle日志
·oracle RAC环境中系统时钟的调
·why:Rac的心跳线不支持交叉线?
·RAC的VIP及实例依赖关系:版本O
·如何启动DataGuard的备用数据库
·系统表空间IO错误 数据损坏处理
·不幸中的万幸:遭遇ORA-00600 [
·用ORACLE的高级复制实现内外网
li
 编辑推荐
·Resize datafile导致ASM Crash
·在Oracle10g RAC下新增ASM磁盘
·ORACLE SQL性能优化系列 (一)
·oracle性能调优:管理oracle日志
·oracle RAC环境中系统时钟的调
·why:Rac的心跳线不支持交叉线?
·RAC的VIP及实例依赖关系:版本O
·如何启动DataGuard的备用数据库
·系统表空间IO错误 数据损坏处理
·不幸中的万幸:遭遇ORA-00600 [
·用ORACLE的高级复制实现内外网
li
 相关篇章
·Oracle10gR2 ORA-3136 错误解决方...
·Oracle中ORA-01599错误的解决方法
·Oracle10gR2 Dataguard 环境ORA-...
·Oracle 11g最有特点的五大新特性
·ORA-00604 error occurred at re...
·ORA-00257错误解决方法
·影响Oracle数据库性能的主要因素
·ORA-04052,TNS-12640错误解决方法
·ORA-12516: TNS:监听程序找不到符...
·ORA-27123 错误解决方法 unable ...
·ORA-00600: 内部错误代码,参数:...
·ora-02069 错误解决方法
·ORA-01562 和 ORA-01628 问题解决...
·ORA-12154: TNS: 无法解析指定的...
·Oracle中ORA-01599错误的解决方法
·ORA-00600: internal error code...
·如何解决ora-600 12700错误
·ora-12638:身份证明检索失败的解...
·ORA-04098错误解决方法
·ORA-600 [2103]错误解决过程
 
li
设为首页 | 关于我们 | 技术服务 | 收藏本站 | 网站地图 | 联系方式 | 本站友情连接