ORA-00604: 递归SQL级别1出现错误, ORA-02067:要求事务处理或保存回退点
来源:互联网 发布:visio2010软件下载 编辑:程序博客网 时间:2024/06/05 08:51
报的错如题:
ORA-00604: 递归SQL级别1出现错误
ORA-02067:要求事务处理或保存回退点
A服务器oracle建立dblink,存储过程的内容是:往B服务器中oracle的表里插入数据。 在客户端访问调用此存储过程的时候报以上错误。
解決模拟
客户系统经常报错误ORA-02067,搜了一下,有关这个错误的解释几乎都是:Cause: A failure (typically a trigger or stored procedure with multiple remote updates) occurred such that the all-or-nothing execution of a previous Oracle call cannot be guaranteed.Action: rollback to a previous savepoint or rollback the transaction and resubmit.[@more@]下面是我的一个模拟过程:C:>sqlplus system/system@orclSQL*Plus: Release 10.2.0.1.0 - Production on 星期六 9月 3 21:33:32 2011Copyright (c) 1982, 2005, Oracle. All rights reserved.连接到:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining optionsSQL> create table t(id int primary key) tablespace users;表已创建。SQL>--==================================C:>sqlplus system/system@testSQL*Plus: Release 10.2.0.1.0 - Production on 星期六 9月 3 21:32:37 2011Copyright (c) 1982, 2005, Oracle. All rights reserved.连接到:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining optionsSQL> create table t(id int primary key) tablespace users;表已创建。SQL> create public database link dbl connect to system identified by system using 'orcl';数据库链接已创建。SQL> select sysdate from dual@dbl;SYSDATE-------------------2011-09-03 21:34:10SQL> declare2 begin3 insert into t@dbl values(1);4 insert into t values(1);5 insert into t values(1);6 commit;7 end;8 /declare*第 1 行出现错误:ORA-02055: 分布式更新操作失效; 要求回退ORA-00001: 违反唯一约束条件 (SYSTEM.SYS_C002971)ORA-06512: 在 line 5SQL> select sysdate from dual;select sysdate from dual*第 1 行出现错误:ORA-02067: 要求事务处理或保存点回退SQL> rollback;回退已完成。SQL> declare2 begin3 insert into t values(1);4 insert into t@dbl values(1);5 insert into t@dbl values(1);6 commit;7 end;8 /declare*第 1 行出现错误:ORA-02055: 分布式更新操作失效; 要求回退ORA-00001: 违反唯一约束条件 (SYSTEM.SYS_C004151)ORA-02063: 紧接着 line (起自 DBL)ORA-06512: 在 line 5SQL> select sysdate from dual;select sysdate from dual*第 1 行出现错误:ORA-02067: 要求事务处理或保存点回退SQL>--==================================造成这个错误的最根本的原因是通过dblink远程更新以及同时还要涉及到本地更新时,其中一部分失败了,但是没有出错处理,或者准确的说是没有rollback,这样错误ORA-02067还不是被直接报出来,而是如果没有在该session中执行rollback,之后不论执行什么错误都会在这个session中报ORA-02067错误,那怕是执行一个查询,这也是不好模拟的原因,客户的系统报了这个错误之后输出的sql都是一个非常简单的查询,所以前面到底执行了什么sql不容易捕获。出现错误之后如果不修改程序,我觉得似乎没有什么办法,只能是重启实例,或者断开所有连接...
0 0
- ORA-00604: 递归SQL级别1出现错误, ORA-02067:要求事务处理或保存回退点
- ORA-00604: 递归SQL级别1出现错误, ORA-02067:要求事务处理或保存回退点
- ORA-00604 递归 SQL 级别 1 出现错误,ORA-01000 超出打开游标的最大数
- ORA-00604: 递归 SQL 级别 1 出现错误,ORA-01000: 超出打开游标的最大数
- ORA-00604 递归 SQL 级别 1 出现错误,ORA-01000 超出打开游标的最大数
- ORA-00604: 递归 SQL 级别 1 出现错误,ORA-01000: 超出打开游标的最大数
- ORA-00604 递归 SQL 级别 1 出现错误,ORA-01000 超出打开游标的...
- “java.sql.SQLException: ORA-00604: 递归 SQL 级别 1 出现错误”的解决办法
- java.sql.SQLException: ORA-00604: 递归 SQL 级别 1 出现错误
- ORA-00604: 递归 SQL 级别 1 出现错误 ORA-01000: 超出打开游标的最大数 ORA-00604: 递归 SQL 级别 1 出现错误 ORA-01000: 超出打开游标的最大数
- 删除表空间,提示:ORA-00604: 递归 SQL 级别 1 出现错误,如何解决
- oracle变态错误解决:ORA-00604: 递归 SQL 级别 2 出现错误
- 第 1 行出现错误: ORA-00604: 递归 SQL 级别 1 出现错误 ORA-38301: 无法对回收站中的对象执行 DDL/DML
- ORA-00604: 递归 SQL 层 1 出现错误
- ORA-00604: 递归 SQL 级别 1 出现错误 ORA-01653: 表 SYS.AUD$ 无法通过 8192 (在表空间 SYSTEM 中) 扩展
- ORA-00604: 递归 SQL 级别 1 出现错误 ORA-01653: 表 SYS.AUD$ 无法通过 8192 (在表空间 SYSTEM 中) 扩展
- 共999条数据,只插入298条,报错:java.sql.SQLException: ORA-00604: 递归 SQL 级别 1 出现错误
- 解决超出打开游标的最大数异常ORA-01000 递归SQL 级别1 出现错误 最全方案-最全方案
- 封装的ViewHolder
- 最小二乘法
- linux的open files的影响
- Java+JTabbedPane+JTable
- 《核心动画——转场动画》
- ORA-00604: 递归SQL级别1出现错误, ORA-02067:要求事务处理或保存回退点
- 编程优化
- MyBatis/MySQL操作
- Linux的硬链接和软链接
- 8进制转12进制
- Java Swing实现的仿QQ气泡消息聊天窗口效果
- Java编程中为了性能优化应做到的26件事
- 极光推送实现锁屏推送以及推送给指定的人
- 《组合变身小宠物游戏》PlayerPetItem(修改更新中)【初学者】