在 oracle 中维护计划 table
maintaining a plan table in oracle
如果 PLAN_TABLE
是自动创建的 post Oracle 9i,那为什么我得到
"Table or view does not exists"
同时试图解释计划。我正在使用甲骨文 11.1。我使用架构所有者帐户登录。
why do I get "Table or view does not exists" while trying to explain plan.
有两种可能:
您登录的 USER
没有 PLAN_TABLE
的权限。
PLAN_TABLE
其实不存在
如果你能解决第 1 点,那就太好了。
如果 plan table doesn't exist,那么您可以通过执行 Oracle 提供的脚本 utlxplan.sql
创建自己的 PLAN_TABLE
(前提是用户具有创建 table 的权限):
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)
If everything fails, talk to your DBA.
如果 PLAN_TABLE
是自动创建的 post Oracle 9i,那为什么我得到
"Table or view does not exists"
同时试图解释计划。我正在使用甲骨文 11.1。我使用架构所有者帐户登录。
why do I get "Table or view does not exists" while trying to explain plan.
有两种可能:
您登录的
USER
没有PLAN_TABLE
的权限。PLAN_TABLE
其实不存在
如果你能解决第 1 点,那就太好了。
如果 plan table doesn't exist,那么您可以通过执行 Oracle 提供的脚本 utlxplan.sql
创建自己的 PLAN_TABLE
(前提是用户具有创建 table 的权限):
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)
If everything fails, talk to your DBA.