Oracle设置AUTOTRACE时出现SP2-0611错误

这个错误比较奇怪,设置AUTOTRACE是出现SP2-0611和ORA-942错误。

版本11.2 for Linux x86-64:

SQL> CONN TEST/TEST

已连接。

SQL> SET AUTOT TRACE

搜集统计信息时出错ORA-942

SP2-0611:启用STATISTICS报告时出错

SQL> SET AUTOT ON

搜集统计信息时出错ORA-942

SP2-0611:启用STATISTICS报告时出错

SQL> SET AUTOT OFF

SQL> SET AUTOT ON

搜集统计信息时出错ORA-942

SP2-0611:启用STATISTICS报告时出错

SQL> @?/rdbms/admin/utlxplan

表已创建。

SQL> SET AUTOT TRACE

搜集统计信息时出错ORA-942

SP2-0611:启用STATISTICS报告时出错

SQL> SET AUTOT ON

搜集统计信息时出错ORA-942

SP2-0611:启用STATISTICS报告时出错

这个错误以前还真没有碰到过,一般导致AUTOTRACE失败不是因为PLAN_TABLE不存在,就是由于缺少PLUSTRACE角色或PLUSTRACE角色包含的视图权限。

更多精彩内容:http://www.bianceng.cn/database/Oracle/

而11g中PLAN_TABLE是一个同义词,指向SYS的PLAN_TABLE$表,而且这个表的DML权限已经授权给PUBLIC了,因此不应该是这个表导致的问题。

将PLAN_TABLE建立了当前用户下,错误依旧。

怀疑是由于缺少权限造成的问题:

SQL> CONN / AS SYSDBA

已连接。

SQL> @?/sqlplus/admin/plustrce

SQL>

SQL> drop role plustrace;

drop role plustrace

*

第1行出现错误:

ORA-01919:角色'PLUSTRACE'不存在

SQL> create role plustrace;

角色已创建。

SQL>

SQL> grant select on v_$sesstat to plustrace;

授权成功。

SQL> grant select on v_$statname to plustrace;

授权成功。

SQL> grant select on v_$mystat to plustrace;

授权成功。

SQL> grant plustrace to dba with admin option;

授权成功。

SQL>

SQL> set echo off

SQL> GRANT PLUSTRACE TO TEST;

授权成功。

返回刚才的TEST用户,并重新登陆:

SQL> CONN TEST/TEST

已连接。

SQL> SET AUTOT ON

问题消失,看来就是由于缺少权限造成的。不过正常情况下Oracle的报错应该是:

SQL> CREATE USER A IDENTIFIED BY A;

用户已创建。

SQL> GRANT CONNECT TO A;

授权成功。

SQL> CONN A/A

已连接。

SQL> SET AUTOT ON

SP2-0618:无法找到会话标识符。启用检查PLUSTRACE角色

SP2-0611:启用STATISTICS报告时出错

SQL> SET AUTOT OFF

检查TEST用户拥有的权限:

SQL> SELECT OWNER, TABLE_NAME, PRIVILEGE

2  FROM USER_TAB_PRIVS

3  WHERE WNER = 'SYS'

4  AND PRIVILEGE  = 'SELECT';

OWNER                          TABLE_NAME                     PRIVILEGE

------------------------------ ------------------------------ ---------------------

SYS                            V_$PROCESS                     SELECT

SYS                            V_$SESSION                     SELECT

SYS                            V_$PARAMETER                   SELECT

SYS                            V_$MYSTAT                      SELECT

怀疑因为包含了V_$MYSTAT视图的权限,使得Oracle没有报错缺少PLUSTRACE权限,而是报错ORA-942错误。

SQL> CONN / AS SYSDBA

已连接。

SQL> GRANT SELECT ON V_$MYSTAT TO A;

授权成功。

SQL> CONN A/A

已连接。

SQL> SET AUTOT ON

搜集统计信息时出错ORA-942

SP2-0611:启用STATISTICS报告时出错

问题果然如此。

时间: 2024-12-03 01:56:45

Oracle设置AUTOTRACE时出现SP2-0611错误的相关文章

oracle11g-oracle 00306 调用‘||’时个数或参数错误

问题描述 oracle 00306 调用'||'时个数或参数错误 create or replace procedure lable_to_lable_relation is Cursor phases is select distinct lt.phase from lable_temple lt ; phaseName varchar2(100); sqlStr varchar2(2000); begin --创建标签关系表 sqlStr:='create table SYSTEM.labl

ofbiz+oracle-刚学习ofbiz,将ofbiz的数据库改成oracle时,出现如下错误,求帮忙

问题描述 刚学习ofbiz,将ofbiz的数据库改成oracle时,出现如下错误,求帮忙 刚学习ofbiz ,想将ofbiz数据库改成oracle,我改了配置文件之后,ant load-demo ,没有报错,然后ant start后抱如下错,改怎么解决啊.谢谢 2013-12-11 13:41:21,694 (catalina-startup-0) [ UtilXml.java:1060:ERROR] XmlFileLoader: File file:/E:/Project 10/ofbiz/s

oracle分区表述的FOR语句(下)测试FOR语句时碰到的ORA-14702错误

指定一个分区除了使用分区名称外,很多时候还可以使用FOR语句. 这篇描述测试FOR语句时碰到的ORA-14702错误. 仍然使用上一篇文章的例子: SQL> CREATE TABLE T_PART_RANGE 2  (ID NUMBER, 3  NAME VARCHAR2(30), 4  CREATE_DATE DATE) 5  PARTITION BY RANGE (CREATE_DATE) 6  (PARTITION P1 VALUES LESS THAN (TO_DATE('2009-1'

oracle 导入-oracle导入数据时遇到以下错误请大神们看看怎么回事

问题描述 oracle导入数据时遇到以下错误请大神们看看怎么回事 通过imp命令导入: . . importing partition "T_CMS_HB_PROCESS_LOG_3G":"PARTMAX" 1694 rows imported IMP-00017: following statement failed with ORACLE error 1917: "GRANT SELECT ON "T_CMS_HB_PROCESS_LOG_3

.net2005开发编译时提示HTML验证错误,在选项中文本编辑HTML验证去掉后,不出现错误,可是过一会又出现了,设置好象不起作用?

问题描述 .net2005开发编译时提示HTML验证错误,在选项中文本编辑HTML验证去掉后,不出现错误,可是过一会又出现了,设置好象不起作用? 解决方案 解决方案二:把HTMLSourceEditing工具条的"TargetSchemaforvalidation"的下拉列表,选取InternetExplorer6.0

Win7做主机设置共享时,提示"错误0x000006d9",如何解决

现 象:Win7系统做主机设置共享时,提示"错误0x000006d9".   原 因:Windows Firewall服务未开启. 解决方法如下:  1.在电脑桌面上,右键点击[计算机]图标,选择[管理].   2.双击[服务和应用程序].   3.双击[服务],找到[Windows Firewall]并双击打开.   4.将[服务状态]设置为[已启动],点击[启动],再按[确定]保存即可.         完成上述操作后,Win7系统做主机设置共享就恢复正常了.

[推荐]ORACLE PL/SQL编程之五:异常错误处理(知已知彼、百战不殆)

原文:[推荐]ORACLE PL/SQL编程之五:异常错误处理(知已知彼.百战不殆) [推荐]ORACLE PL/SQL编程之五: 异常错误处理(知已知彼.百战不殆)       继上三篇:ORACLE PL/SQL编程之八:把触发器说透               ORACLE PL/SQL编程之六:把过程与函数说透(穷追猛打,把根儿都拔起!)               [推荐]ORACLE PL/SQL编程之四:把游标说透(不怕做不到,只怕想不到)  得到了大家的强力支持与建议,万分感谢.

ORACLE FOR WINDOWS ORA-12560:TNS:协议适配器错误&ORA-12557:TNS:协议适配器不可加载

    对于DBA维护oracle数据库时,登录数据库查看运行状态是必须的事.然而,当oracle架设在windows上时,尤其单个win服务器上安装多个实例或 同时安装有客户端,加之oracle相关环境变量设置混乱时,一切变的不再是那么容易.今天,处理武汉oracle数据库问题时就遇到了这种闹心的情况: Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Microsoft Corporation.保留所有权利. C:\Users\Administrat

使用MySQL时的一些常见错误

mysql|错误 MySQL server has gone away错误本小节也涉及有关Lost connection to server during query的错误. 对MySQL server has gone away错误最常见的原因是服务器超时了并且关闭了连接.缺省地,如果没有事情发生,服务器在 8个小时后关闭连接.你可在启动mysqld时通过设置wait_timeout变量改变时间限制. 你可以通过执行mysqladmin version并且检验正常运行的时间来检查MySQL还没