ITPub博客

首页 > 数据库 > Oracle > 查看执行计划出现ORA-22992错误

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

原创 Oracle 作者:zhang41082 时间:2019-07-05 11:27:04 0 删除 编辑

查看一个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/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2002-10-11

  • 博文量
    105
  • 访问量
    82316