ORA-01775無法檢視SQL執行計劃的問題的解決方案

djb1008發表於2012-05-18

一. 問題描述

在SQLPLUS 裡面想開啟sql的執行計劃的顯示,結果報錯,如下:

SQL> set autot traceonly exp;
SQL> select * from t where object_id=2345;

ERROR:
ORA-01775: looping chain of synonyms
SP2-0612: Error generating AUTOTRACE EXPLAIN report

[@more@]

二. 問題分析

這個問題主要是執行計劃的一些表和物件需要建立,同時需要賦一些許可權給需要看執行計劃的資料庫使用者


三. 問題解決

1.建立執行計劃的表和同義詞
SQL> conn system/oracle
Connected.

SQL> @?/rdbms/admin/utlxplan
Table created.
SQL> grant all on plan_table to public;
Grant succeeded.
SQL> create or replace public synonym plan_table for plan_table;
Synonym created.


2.測試是否可以檢視執行計劃,結果失敗
SQL> conn aidu/aidu
Connected.

SQL> set autot trace
SP2-0618: Cannot find the Session Identifier. Check PLUSTRACE role is enabled
SP2-0611: Error enabling STATISTICS report

3.執行plustrce.sql 完成相關物件的賦權
SQL> conn / as sysdba
Connected.
SQL> @?/sqlplus/admin/plustrce.sql
......
4.賦權給當前使用者aidu,結果可以檢視執行計劃了.
SQL> grant plustrace to aidu;
Grant succeeded.
SQL> conn aidu/aidu
Connected.
SQL> set autot trace
SQL>

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/32980/viewspace-1058251/,如需轉載,請註明出處,否則將追究法律責任。

相關文章