在oracle中维护计划表
如果在Oracle 9i之后自动创建了在oracle中维护计划表,oracle,oracle11g,sql-execution-plan,Oracle,Oracle11g,Sql Execution Plan,如果在Oracle 9i之后自动创建了计划表,那么我为什么要 “表或视图不存在” 在试图解释计划时。我正在使用oracle 11.1。我使用架构所有者帐户登录 为什么我在解释计划时会得到“表或视图不存在” 有两种可能性: 您以身份登录的用户没有在计划表上的权限 计划表实际上不存在 如果你能把第一点修好,那就好了 如果是,则可以通过执行Oracle提供的脚本utlxplan.sql(假定用户具有创建表权限),创建自己的PLAN\u表: 如果一切都失败了,请与DBA联系 从所有同义词中选择*,其
计划表
,那么我为什么要
“表或视图不存在”
在试图解释计划时。我正在使用oracle 11.1。我使用架构所有者帐户登录
为什么我在解释计划时会得到“表或视图不存在”
有两种可能性:
- 您以身份登录的
没有在用户
上的权限计划表
计划表实际上不存在
utlxplan.sql
(假定用户具有创建表权限),创建自己的PLAN\u表
:
如果一切都失败了,请与DBA联系
从所有同义词中选择*,其中同义词\u name='PLAN\u TABLE'
如果看不到任何结果,则表示您无权访问该表。即使您看到结果,如果您的架构或公共未列出,您仍然没有访问权限。请参阅。感谢您的快速响应。我知道这个脚本,但有一个疑问。这个脚本是否与oracle中的plan_表相同?或者我需要处理查询或参数中的其他内容?@Nitesh当您第一次安装Oracle并创建数据库时,或者当您希望在Oracle中以标准方式创建计划表时,由Oracle提供的脚本创建计划表。
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)