书名书名书名书名书名书名书名书名书名书名书名书名书名书名
·2·
*
ERROR 位于第 1 行:
ORA-01919: 角色'PLUSTRACE'不存在
SQL> create role plustrace;
角色已创建
SQL> grant select on v_$sesstat to plustrace;
授权成功。
SQL> grant select on v_$statname to plustrace;
授权成功。
SQL> grant select on v_$session to plustrace;
授权成功。
SQL> grant plustrace to dba with admin option;
授权成功。
SQL> set echo off
3. 一点增强
DBA 用户首先被授予了 plustrace 角色,然后我们可以手工把 plustrace 授予 public,这样
所有用户都将拥有 plustrace 角色的权限,所有数据库用户也就拥有了使用 autotrace 功能的权
限。
SQL> grant plustrace to public ;
授权成功。
完成以上步骤我们就可以使用 AutoTrace 的功能了。Autotrace 有几个常用选项,简单说明
如下:
! SET AUTOTRACE OFF ---------------- 不生成 AUTOTRACE 报告,这是缺省模式
! SET AUTOTRACE ON EXPLAIN ------ AUTOTRACE 只显示优化器执行路径报告
! SET AUTOTRACE ON STATISTICS -- 只显示执行统计信息
! SET AUTOTRACE ON ----------------- 包含执行计划和统计信息
! SET AUTOTRACE TRACEONLY ------ 同 set autotrace on,但是不显示查询输出
在 SQL*Plus 中,autotrace 的基本输出大致类似:
SQL> set autotrace on
SQL> select * from v$version where rownum <2;
BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE
1 0 COUNT (STOPKEY)
2 1 FIXED TABLE (FULL) OF 'X$VERSION'
评论