通过以下方法可以把Autotrace的权限授予Everyone
如果你需要限制Autotrace权限可以把对public的授权改为对特定user的授权
D:\oracle\ora>sqlplus/nolog
SQL*Plus:ReleaseProductionon星期二月::
Copyright(c)OracleCorporationAllrightsreserved
SQL>connectsysassysdba
请输入口令:
已连接
SQL>@?\rdbms\admin\utlxplan
表已创建
SQL>createpublicsynonymplan_tableforplan_table;
同义词已创建
SQL>grantallonplan_tabletopublic;
授权成功
SQL>@?\sqlplus\admin\plustrce
SQL>
SQL>droproleplustrace;
droproleplustrace
*
ERROR 位于第 行:
ORA: 角色PLUSTRACE不存在
SQL>createroleplustrace;
角色已创建
SQL>
SQL>grantselectonv_$sesstattoplustrace;
授权成功
SQL>grantselectonv_$statnametoplustrace;
授权成功
SQL>grantselectonv_$sessiontoplustrace;
授权成功
SQL>grantplustracetodbawithadminoption;
授权成功
SQL>
SQL>setechooff
DBA用户首先被授予了plustrace角色然后我们可以把plustrace授予public
这样所有用户都将拥有plustrace角色的权限
SQL>grantplustracetopublic;
授权成功
然后我们就可以使用AutoTrace的功能了
SQL>connecteqsp/eqsp
已连接
SQL>setautotraceon
SQL>settimingon
SQL>
关于Autotrace几个常用选项的说明:
SET AUTOTRACE OFF 不生成AUTOTRACE 报告这是缺省模式
SET AUTOTRACE ON EXPLAIN AUTOTRACE只显示优化器执行路径报告
SET AUTOTRACE ON STATISTICS 只显示执行统计信息
SET AUTOTRACE ON 包含执行计划和统计信息
SET AUTOTRACE TRACEONLY 同set autotrace on但是不显示查询输出
SQL>setautotracetraceonly
SQL>selecttable_namefromuser_tables;
已选择行
已用时间: : :
ExecutionPlan
SELECTSTATEMENTptimizer=CHOOSE
NESTEDLOOPS
NESTEDLOOPS(OUTER)
NESTEDLOOPS(OUTER)
NESTEDLOOPS(OUTER)
NESTEDLOOPS(OUTER)
NESTEDLOOPS
TABLEACCESS(BYINDEXROWID)OFOBJ$
INDEX(RANGESCAN)OFI_OBJ(UNIQUE)
TABLEACCESS(CLUSTER)OFTAB$
INDEX(UNIQUESCAN)OFI_OBJ#(NONUNIQUE)
TABLEACCESS(BYINDEXROWID)OFOBJ$
INDEX(UNIQUESCAN)OFI_OBJ(UNIQUE)
INDEX(UNIQUESCAN)OFI_OBJ(UNIQUE)
TABLEACCESS(CLUSTER)OFUSER$
INDEX(UNIQUESCAN)OFI_USER#(NONUNIQUE)
TABLEACCESS(CLUSTER)OFSEG$
INDEX(UNIQUESCAN)OFI_FILE#_BLOCK#(NONUNIQUE)
TABLEACCESS(CLUSTER)OFTS$
INDEX(UNIQUESCAN)OFI_TS#(NONUNIQUE)
Statistics
recursivecalls
dbblockgets
consistentgets
physicalreads
redosize
bytessentviaSQL*Nettoclient
bytesreceivedviaSQL*Netfromclient
SQL*Netroundtripsto/fromclient
sorts(memory)
sorts(disk)
rowsprocessed
SQL>
补充一下在g中的用法
在g中带有plan_table这张表但是将名字改为了plan_table$
只需$ORACLE_HOME/sqlplus/admin/plustrcesql创建plustrace角色
grant plustrace to public