ORA-02046: 分布式事务处理已经开始解决方案
来源:互联网 发布:js 对象未定义 编辑:程序博客网 时间:2024/05/16 05:21
业务场景:A库上的数据同步到B库上,这个本来是很简单的问题,但由于要在B库上建表,A库只能通过调用B库的存储过程才能实现,就这样就报错了,错误如下:
ORA-02046: 分布式事务处理已经开始
ORA-02063: 紧接着 line (起自 DBLINK_TO_GD)ORA-06512: 在 "LC_SC_DBLINK_TEST.PKG_SP_ETL_DBLINK_SOUR", line 253
[oracle@oracle ~]$ oerr ora 20463
02046, 00000, "distributed transaction already begun"
// *Cause: internal error or error in external transaction manager.
// A server session received a begin_tran RPC before finishing
// with a previous distributed tran.
在远程调用的存储过程或者包中使用事务控制语句。因为远程调用的包执行时没有机制执行2-phase commit。事务控制语句应该在发起事务的节点执行。
解决方案:
所有的操作在A上执行,可以通过dbms_utility.EXEC_DDL_STATEMENT实现在A上远程DDL,在操作前后都加上。
dbms_session.close_database_link(dblink_name);
exec dbms_utility.EXEC_DDL_STATEMENT@db_link_developer('create table test as select * from dba_objects@dblink_to_A');
--实验参见http://blog.csdn.net/stevendbaguo/article/details/50155845
dbms_session.close_database_link(dblink_name);
- ORA-02046: 分布式事务处理已经开始解决方案
- ORA-02046: 分布式事务处理已经开始解决方案
- ORA-02046: ORA-02046:分布式事务处理已经开始
- 最近碰到一个oracle“分布式事务处理已经开始”的问题
- ORA-01591: 锁被未决分布式事务处理解决方案
- 分布式事务处理解决方案
- ORA-02049: 超时: 分布式事务处理等待锁
- ORA-02049 超时分布式事务处理等待锁
- 【ORA-02049】超时分布式事务处理等待锁
- ORA-01591 锁被未决分布式事务处理
- ORA-02409:超时:分布式事务处理等待锁定ORA-02063
- 分布式跨数据库的事务处理解决方案jta
- 【ORA-02049】超时分布式事务处理等待锁 解决方法
- ORA-01591: 锁被有问题的分布式事务处理 11.8.22878 持有
- ORA-01591: 锁被有问题的分布式事务处理 4.17.13830 持有
- ORA-01591: 锁被有问题的分布式事务处理 4.22.2389 持有
- 【ORA-02049】超时分布式事务处理等待锁 解决方法
- 【ORA-02049】超时分布式事务处理等待锁 解决方法
- UIButton的文字显示位置、字体的大小、字体的颜色
- hdu 素数环
- 设计模式之单例模式
- RESTful API 设计指南
- HTTP Headers
- ORA-02046: 分布式事务处理已经开始解决方案
- 3.毕向东_贴图
- 生成.dll时,如果只有.dll,没有.lib,如何解决?(生成.DLL提供方用的是dllexport,使用方用的是dllimport,用个宏来代替)
- SignalR 集线器简单实例2
- csdn
- Android创建和使用数据库
- 【Codeforces Round 269 (Div 2)D】【KMP】我们的积木和目标积木的等增幅的匹配位点数
- 开始我的编程日志
- 给相同的类对象赋值