查看执行计划出现ORA-22992错误

查看一个sql的执行计划,结果出现ORA-22992提示,知道这个提示是远程DB LINK包含LOB字段,所以不能在select中被显示,但是仔细核对后,发现这个sql使用的三个表的连接都是本地表,而且这三个表根本不包含LOB字段,见鬼!

[@more@]

首先怀疑是工具的问题,发生问题时是使用PL/SQL DEVELOPER来执行的,登陆服务器,直接使用SET AUTOTRACE TRACEONLY来查看执行计划,结果统计信息能出来,计划还是出不来,提示:
Execution Plan
----------------------------------------------------------
ERROR: an uncaught error in function display has happened; please contact Oracle support
Please provide also a DMP file of the used plan table PLAN_TABLE
ORA-22992: cannot use LOB locators selected from remote tables

于是又怀疑到是否是SQL_PLAN出现问题,于是按下面步骤把SQL_PLAN重建:
@$ORACLE_HOME/rdbms/admin/utlxplan
create public synonym plan_table for plan_table;
grant all on plan_table to public ;
@$ORACLE_HOME/sqlplus/admin/plustrce
grant plustrace to public;

问题依旧,想来想去,既然oracle说是LOB字段在DB LINK上有问题,那只能按照这个提示去找。于是把所有同义词全部找出来,把通过DB LINK建立的同义词的字段全部拎出来,然后确定哪些远程表包含LOB字段,然后把这些表的同义词删除,问题小时!!!

虽然问题解决了,可以真搞不懂,ORACLE为啥在我根本没有用到这个LOB字段的时候会出现这个问题呢?难道查看执行计划会用到这些咚咚?还是ORACLE的BUG?

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

转载于:http://blog.itpub.net/25016/viewspace-981498/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值