您的位置:首页 > 其它

set autotrace on(SP2-0618,SP2-0611,ORA-01919)

2015-01-07 16:59 423 查看
1、首先set autotrace只能在sql plus下执行

2、需要创建plustrace角色并授权

问题描述:

在CMD窗体中

C:\Users\Administrator>sqlplus
请输入用户名: scott
输入口令:

连接到:
Oracle Database 11gEnterpriseEdition Release 11.2.0.1.0 - Production
With thePartitioning, OLAP, Data Mining and Real Application Testing options

SQL> set autotrace on
SP2-0618: 无法找到会话标识符。启用检查 PLUSTRACE 角色
SP2-0611: 启用 STATISTICS 报告时出错
SQL> conn /assysdba
已连接。
SQL> grantplustrace to scott;
grant plustraceto scott
*
第 1 行出现错误:
ORA-01919: 角色 'PLUSTRACE' 不存在

解决方法:

运行脚本@ROACLE_HOME\sqlplus\admin\plustrce.sql即可创建'PLUSTRACE'角色。

在windows下ORACLE_HOME环境变量是通过注册表设置的,其值指向oracle客户端所在

的目录。 win7下,oracle在注册表中的位置为HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE

可见

"ORACLE_HOME"="D:\app\Administrator\product\11.2.0\dbhome_1"
在CMD窗体中运行脚本

SQL>@D:\app\Administrator\product\11.2.0\dbhome_1\sqlplus\admin\plustrce.sql
SQL>
SQL> droprole plustrace;
drop roleplustrace
*
第 1 行出现错误:
ORA-01919: 角色 'PLUSTRACE' 不存在
SQL> createrole plustrace;
角色已创建。
SQL>
SQL> grantselect on v_$sesstat to plustrace;
授权成功。
SQL> grantselect on v_$statname to plustrace;
授权成功。
SQL> grantselect on v_$mystat to plustrace;
授权成功。
SQL> grantplustrace to dba with admin option;
授权成功。
SQL>
SQL> set echo off

脚本执行完毕后,给scott用户赋权限

SQL> grantplustrace to scott;

授权成功。

另:SQL Plus中AUTOTRACE的选项

AUTOTRACE选项

是否显示执行计划

是否显示统计信息

是否执行查询

AUTOT[RACE] OFF







AUTOT[RACE] ON







AUTOT[RACE] ON EXP[LAIN]







AUTOT[RACE] ON STAT[ISTICS]







AUTOT[RACE] TRACE[ONLY]





是,但查询输出被取消

AUTOT[RACE] TRACE[ONLY] EXP[LAIN]







内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: