2015-11-25 95 views
2

如果PLAN_TABLE創建自動發佈是Oracle 9i,那麼爲什麼會維護計劃表在Oracle

「表或視圖不存在」

試圖解釋計劃。我正在使用oracle 11.1。我使用架構所有者帳戶登錄。

+0

'select * from ALL_synonyms where synonym_name ='PLAN_TABLE''如果您沒有看到任何結果,則表示您沒有權限。即使您看到了結果,如果您的模式或公共信息未列出,您仍然無法訪問。 – xQbert

+0

請參閱[**爲什麼PLAN_TABLE不存在**](http://lalitkumarb.com/tag/plan-table-does-not-exist/)。 –

回答

2

爲什麼我會在試圖解釋計劃時得到「表或視圖不存在」。

有兩種可能性:

  • USER您已經登錄作爲,不會對PLAN_TABLE的特權。其實不存在。

如果你能得到點1固定,那麼很好。

如果plan table doesn't exist,那麼你可以創建自己的PLAN_TABLE通過執行Oracle提供的腳本utlxplan.sql(假設用戶已經創建表特權):

Connected to: 
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production 
With the Partitioning and Automatic Storage Management options 

SQL> @?/rdbms/admin/utlxplan.sql 

Table created. 

SQL> DESC PLAN_TABLE; 
Name          Null? Type 
----------------------------------------- -------- ---------------------------- 

STATEMENT_ID          VARCHAR2(30) 
PLAN_ID           NUMBER 
TIMESTAMP           DATE 
REMARKS           VARCHAR2(4000) 
OPERATION           VARCHAR2(30) 
OPTIONS           VARCHAR2(255) 
OBJECT_NODE          VARCHAR2(128) 
OBJECT_OWNER          VARCHAR2(30) 
OBJECT_NAME          VARCHAR2(30) 
OBJECT_ALIAS          VARCHAR2(65) 
OBJECT_INSTANCE         NUMBER(38) 
OBJECT_TYPE          VARCHAR2(30) 
OPTIMIZER           VARCHAR2(255) 
SEARCH_COLUMNS          NUMBER 
ID             NUMBER(38) 
PARENT_ID           NUMBER(38) 
DEPTH            NUMBER(38) 
POSITION           NUMBER(38) 
COST            NUMBER(38) 
CARDINALITY          NUMBER(38) 
BYTES            NUMBER(38) 
OTHER_TAG           VARCHAR2(255) 
PARTITION_START         VARCHAR2(255) 
PARTITION_STOP          VARCHAR2(255) 
PARTITION_ID          NUMBER(38) 
OTHER            LONG 
OTHER_XML           CLOB 
DISTRIBUTION          VARCHAR2(30) 
CPU_COST           NUMBER(38) 
IO_COST           NUMBER(38) 
TEMP_SPACE           NUMBER(38) 
ACCESS_PREDICATES         VARCHAR2(4000) 
FILTER_PREDICATES         VARCHAR2(4000) 
PROJECTION           VARCHAR2(4000) 
TIME            NUMBER(38) 
QBLOCK_NAME          VARCHAR2(30) 

如果一切都失敗了,談談你的DBA 。

+0

感謝您的快速響應。我知道這個腳本,但有疑問。這個工作是否與oracle中的plan_table相同?或者我需要在我的查詢或參數中處理額外的事情? – Nitesh

+0

@Nitesh它是** Oracle提供的腳本**,當您首次安裝Oracle並創建數據庫時,或者您想要在Oracle中以標準方式創建PLAN_TABLE時,它會創建「PLAN_TABLE」。 –