ORA-02068,ORA-03113 报错

来源:互联网 发布:golang编程圣经 编辑:程序博客网 时间:2024/05/16 16:21

ORA-02068,ORA-03113 报错

Solution The Error ORA-02068,ORA-03113
2010-01-05 09:45Symptoms:
alert日志经常报如下错误:
Error 2068 trapped in 2PC on transaction 74.40.87328. Cleaning up.
Error stack returned to user:
ORA-02068: following severe error from PRODWEB
ORA-03113: end-of-file on communication channel
且查询数据库表dba_2pc_neighbors,dba_2pc_pending无值显示

Cause:
由于大量使用dblink远程连接未正常释放所致,也可能是bug所致。

Solution:
一,最好不要大量使用dblink方式实时远程取数据,有大概如下几个缺点:
1,频繁对远程数据库创建连接,释放连接会有较大开销,特别是OLTP类数据库。
2,此类远程dblink连接session,如本地session不退出或手动释放,此类session是不会及时自动释放的。大量耗用远程数据库资源。
3,占用网络带宽
4,触发bug,此类bug很多
此类应用根绝实际需求可以用物化视图,触发器等方式替代.
注:切忌使用dblink嵌套dblink的访问方式,性能会非常糟糕,而且不稳定。

二,使用ALTER SESSION CLOSE DATABASE LINK dblink_name;语句来手动关闭远程dblink session.
在使用此语句前,切忌先执行commit;否则报错ORA-02080或者不能达到预期效果。