将AutoTrace的权限分配给其它普通用户

参考:eygle:http://www.eygle.com/faq/AutoTrace.htm

[oracle@dac-vm02 admin]$ sqlplus /nolog


SQL*Plus: Release 11.2.0.3.0 Production on 星期五 3月 1 15:26:38 2013


Copyright (c) 1982, 2011, Oracle.  All rights reserved.


SQL> conn /as sysdba
已连接。
SQL> 

创建plan_table表:

SQL> @/u/oracle/product/11.2/rdbms/admin/utlxplan.sql

表已创建。

为表plan_table创建同义词:

SQL> create public synonym plan_table for plan_table;

同义词已创建。

将同义词plan_table上的所有权限分配给public:

SQL> grant all on plan_table to public;

授权成功。

运行脚本,plustrce.sql创建角色,并赋予相关权限:

SQL> @/u/oracle/product/11.2/sqlplus/admin/plustrce.sql
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> 

将plustrace角色授予给public,以便其它用户都拥有plustrace角色的权限(如需限定AutoTrace权限,可以将public具体到某个用户):

SQL> grant plustrace to public;

授权成功。

接着其它所有用户都可以使用AUTOTRACE的功能:

SQL> conn seven/oracle
已连接。
SQL> set time on
15:42:11 SQL> set autotrace on
15:42:19 SQL> 

15:42:19 SQL> select count(*) from t;

  COUNT(*)
----------
        37


执行计划
----------------------------------------------------------
Plan hash value: 2966233522

-------------------------------------------------------------------
| Id  | Operation          | Name | Rows  | Cost (%CPU)| Time     |
-------------------------------------------------------------------
|   0 | SELECT STATEMENT   |      |     1 |     3   (0)| 00:00:01 |
|   1 |  SORT AGGREGATE    |      |     1 |            |          |
|   2 |   TABLE ACCESS FULL| T    |    37 |     3   (0)| 00:00:01 |
-------------------------------------------------------------------


统计信息
----------------------------------------------------------
          1  recursive calls
          0  db block gets
          2  consistent gets
          0  physical reads
          0  redo size
        534  bytes sent via SQL*Net to client
        519  bytes received via SQL*Net from client
          2  SQL*Net roundtrips to/from client
          0  sorts (memory)
          0  sorts (disk)
          1  rows processed

15:43:00 SQL> 

关于AutoTrace几个常用的选项说明:

SET AUTOTRACE OFF --------------------不生成AUTOTRACE 报告,此为缺省模式

SET AUTOTRACE ON EXPLAIN --------AUTOTRACE只显示优化器执行路径报告

SET AUTOTRACE ON STATISTICS----只显示执行统计信息

SET AUTOTRACE ON --------------------包含执行计划和统计信息

SET AUTOTRACE TRACEONLY ------同SET AUTOTRACE ON一样,但不显示查询输出 




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

版权所有,转载请注明作者及原文链接,否则追究法律责任!

QQ:      584307876

作者:    Seven

原文链接:  http://blog.csdn.net/sunjiapeng/article/details/8626366

邮箱:    seven_ginna@foxmail.com
posted @ 2013-03-01 15:44  Seven_sun  阅读(113)  评论(0编辑  收藏  举报