开发者社区 问答 正文

oracle数据库dblink跨库查询报错询问 ?报错

AB两个服务器,在A服务器建立了链接B库的dblink,B库有6个表,只有两个表不能通过跨库查询,其他的表都可以实现跨库查询,
跨库查询语句如下:
select * from stu@Blink
报错如下ORA-02068: following severe error from TEST
ORA-00600: internal error code, arguments: [opidsii1], [9], [4], [], [], [], [], []
ORA-02063: 紧接着2lines(起自blink)

展开
收起
爱吃鱼的程序员 2020-06-23 00:21:36 950 分享 版权
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

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

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

    二,使用ALTERSESSIONCLOSEDATABASELINKdblink_name;语句来手动关闭远程dblinksession.
    在使用此语句前,切忌先执行commit;否则报错ORA-02080或者不能达到预期效果

    2020-06-23 00:21:51
    赞同 展开评论