檢視執行計劃出現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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 檢視執行計劃
- 檢視執行計劃(一)
- 檢視執行計劃(二)
- 檢視sql執行計劃SQL
- Oracle檢視執行計劃(五)Oracle
- Oracle檢視執行計劃(六)Oracle
- Oracle檢視執行計劃(一)Oracle
- Oracle檢視執行計劃(二)Oracle
- Oracle檢視執行計劃(三)Oracle
- Oracle檢視執行計劃(四)Oracle
- 檢視歷史執行計劃
- ORACLE執行計劃的檢視Oracle
- oracle如何檢視執行計劃Oracle
- 檢視oracle執行計劃 - 轉Oracle
- 檢視執行計劃的方法
- 檢視 OceanBase 執行計劃
- 如何檢視SQL的執行計劃SQL
- Oracle檢視執行計劃的命令Oracle
- DBMS_XPLAN檢視執行計劃
- 檢視SQL的執行計劃方法SQL
- oracle檢視執行計劃的方法Oracle
- 使用PL/SQL檢視執行計劃SQL
- db2檢視執行計劃DB2
- Oracle 檢視SQL的執行計劃OracleSQL
- 檢視sql執行計劃--set autotraceSQL
- Oracle檢視執行計劃常用方法Oracle
- TOAD檢視執行計劃表
- 執行Bex 出現 61704 錯誤
- 交流(1)-- 執行計劃錯誤問題
- 執行計劃-2:檢視更多的資訊
- ORACLE資料庫檢視執行計劃Oracle資料庫
- 檢視ORACLE的實際執行計劃Oracle
- 檢視sql執行計劃方法彙總SQL
- 使用EXPLAIN PLAN來檢視執行計劃AI
- MySQL 5.7 檢視理解SQL執行計劃MySql
- 【Explain Plan】檢視SQL的執行計劃AISQL
- 執行jdonMVC示例出現了錯誤MVC
- Oracle檢視正在執行的SQL以及執行計劃分析OracleSQL