【Oracle】SP2-0613,SP2-0611问题解决

简介: 查看sql的执行计划遇到如下报错:sys@im1>explain plan for SELECT JOB, LOG_USER, SCHEMA_USER FROM DBA_JOBS;explain plan for SELECT JOB, LOG_USER, ...
查看sql的执行计划遇到如下报错:
sys@im1>explain plan for SELECT JOB, LOG_USER, SCHEMA_USER FROM DBA_JOBS;
explain plan for SELECT JOB, LOG_USER, SCHEMA_USER FROM DBA_JOBS
                                                      *
ERROR at line 1:
ORA-02402: PLAN_TABLE not found
sys@im1>set autot trace on;
SP2-0613: Unable to verify PLAN_TABLE format or existence
SP2-0611: Error enabling EXPLAIN report
sys@im1>exit
该错误的的主要原因是由于当前用户下没有PLAN_TABLE这张表及相应的PLUSTRACE角色权限。
解决方法就是直接创建此表和对应的PLUSTRACE角色即可
1 以sys 用户登录数据库,运行utlxplan.sql脚本创建 PLAN_TABLE并赋予相关权限,以便让其他用户使用
oracle@t01a03053-vm1.corp-hz01.aliyun.com:/home/oracle/admin/bin>sqlplus "/as sysdba"
Oracle9i Enterprise Edition Release 9.2.0.8.0 - 64bit Production
sys@im1>@?/rdbms/admin/utlxplan.sql 
Table created.
sys@im1>create public synonym plan_table for plan_table; 
grant all on plan_table to public;
Synonym created.
sys@im1>
Grant succeeded.
2 通过执行 plustrce.sql脚本创建 plustrace 角色,这将V$视图上的选择权限授予该角色,也将plustrace角色授予DBA角色:
sys@im1>@/opt/oracle/products/9.2.0/sqlplus/admin/plustrce.sql
sys@im1>
sys@im1>drop role plustrace;
drop role plustrace
          *
ERROR at line 1:
ORA-01919: role 'PLUSTRACE' does not exist
sys@im1>create role plustrace;
Role created.
sys@im1>
sys@im1>grant select on v_$sesstat to plustrace;
Grant succeeded.
sys@im1>grant select on v_$statname to plustrace;
Grant succeeded.
sys@im1>grant select on v_$mystat to plustrace;
Grant succeeded.
sys@im1>grant plustrace to dba with admin option;
Grant succeeded.
sys@im1>
sys@im1>set echo off
sys@im1>
sys@im1>
再次执行:
sys@im1>explain plan for SELECT JOB, LOG_USER, SCHEMA_USER FROM DBA_JOBS;
Explained.
sys@im1>select * from table(dbms_xplan.display());
PLAN_TABLE_OUTPUT
--------------------------------------------------------------------
| Id  | Operation            |  Name       | Rows  | Bytes | Cost  |
--------------------------------------------------------------------
|   0 | SELECT STATEMENT     |             |       |       |       |
|   1 |  TABLE ACCESS FULL   | JOB$        |       |       |       |
--------------------------------------------------------------------
Note: rule based optimization
9 rows selected.
ok!
    
目录
相关文章
|
SQL 存储 数据库
sp_Msforeachtable与sp_Msforeachdb详解
原文:sp_Msforeachtable与sp_Msforeachdb详解   一.简要介绍: 系统存储过程sp_MSforeachtable和sp_MSforeachdb,是微软提供的两个不公开的存储过程。
1380 0
|
SQL 关系型数据库 Android开发
Oracle Berkeley DB加入SQL支持并能应用于Windows Mobile等移动设备
Oracle Berkeley DB 11gR2于2010年3月23日发布,首次引入SQL支持,完全兼容SQLite的SQL API。 SQLite程序可以无缝移植到BDB上。   使用Oracle Berkeley DB可以有SQL, Key/Value, XML/XQuery or Java Object storage 等多种选择。
2199 0
|
Oracle 关系型数据库 Linux
|
搜索推荐
P2S、P2P、P2SP之对比
P2S、P2P、P2SP之对比 一、下载原理分析          1、服务端下载技术(P2S):P2S下载方式分为HTTP与FTP两种类型,它们分别是Hyper Text Transportation Protocol(超文本传输协议)与File Transportation Protocol(文件传输协议)的缩写,它们是计算机之间交换数据的方式,也是两种最经典的下载方式,该下载方式原理非常简单,就是用户通过两种规则(协议)和提供文件的服务器取得联系并将文件搬到自己的计算机中来,从而实现下载的功能。
2609 0
|
Oracle 关系型数据库 数据库
oracle for windows cmd登录sqlplus之SP2-0750
    又是奇葩的windows惹的祸,有测试同事在windows上安装了plsql,竟然还修改了操作系统环境变量oracle_home的值,导致数据库服务器本地执行oracle命令报错SP2-0750 报错信息如下:    处理次问题很简单,要么是设置临时的oracle_home环境变量,要么修改操作系统环境变量oracle_home的值,地市技术人员决定修改操作系统环境变量oracle_home的值,原因是数据库服务器本地操作频繁。
1247 0
|
SQL
SQL*Plus中plustrce.sql(SP2-0613、SP2-0611)和(SP2-0618、SP2-0611)
AUTOTRACE是一项 SQL*Plus 功能,自动跟踪为 SQL 语句生成一个执行计划并且提供与该语句的处理有关的统计。SQL*Plus AUTOTRACE 可以用来替代 SQL Trace 使用,AUTOTRACE 的好处是您不必设置跟踪文件的格式,并且它将自动为 SQL 语句显示执行计划。
1143 0