ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 与DBLINK有关的ORA-02050/ORA-02051错误

与DBLINK有关的ORA-02050/ORA-02051错误

原创 Linux操作系统 作者:lastwinner 时间:2013-10-28 15:16:30 0 删除 编辑
今天在插入通过DBLINK取得的数据到本地库时,insert正常,但commit就碰到ORA-02050/ORA-02051错误,类似如下:
ORA-02050: 事务处理 9.17.23660 已回退, 某些远程数据库可能有问题
ORA-02051: 同一事务处理中的另一会话或分支失败或已完成

通过一番搜索,最终确定问题在本地库的表上存在MV LOG所致,于是想到通过建立全局临时表(create global temporary table……)的方式来处理问题,但实践证明这是不行的:
create global temporary table xx as select * from x where 1=2;
insert into xx select * from x@remote;
insert into x select * from xx;
--以上三步都成功,并且都能插入正确的记录数
commit;
--ORA-02050/ORA-02051错误再度出现

于是,只好老老实实用普通表
create table xx as select * from x where 1=2;
insert into xx select * from x@remote;
insert into x select * from xx;
--以上三步都成功,并且都能插入正确的记录数
commit;
--这次这步也成功了
delete from xx;
commit;
--已成功删除普通临时表里的数据。

最后,问题搞定。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29867/viewspace-775178/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2007-12-12

  • 博文量
    223
  • 访问量
    2864418