Oracle+9i&10g编程艺术:深入数据库体系结构读书笔记--------三、设置SQL*Plus的AUTOTRACE
2011-07-29 16:21
459 查看
AUTOTRACE是SQL*Plus中一个工具,可以显示所执行查询的解释计划(explainplan)以及所用的资源。这本书中大量使用了AUTOTRACE工具。
DBA用户首先被授予了plustrace角色,然后我们可以把plustrace授予public
这样所有用户都将拥有plustrace角色的权限.
然后我们就可以使用AutoTrace的功能了.
关于Autotrace几个常用选项的说明:
SETAUTOTRACEOFF----------------不生成AUTOTRACE报告,这是缺省模式
SETAUTOTRACEONEXPLAIN------AUTOTRACE只显示优化器执行路径报告
SETAUTOTRACEONSTATISTICS--只显示执行统计信息
SETAUTOTRACEON-----------------包含执行计划和统计信息
SETAUTOTRACETRACEONLY------同setautotraceon,但是不显示查询输出
对于dba用户这样就可以查看执行计划了.但对于没有dba权限的用户,还需要grantselectanydictionarytouser_name;
F:\oracle\ora92>sqlplus/nolog SQL*Plus:Release9.2.0.1.0-Productionon星期二6月315:16:032003 Copyright(c)1982,2002,OracleCorporation.Allrightsreserved. SQL>connectsysassysdba 请输入口令: 已连接。 SQL>@?\rdbms\admin\utlxplan 表已创建。 SQL>createpublicsynonymplan_tableforplan_table; 同义词已创建。 SQL>grantallonplan_tabletopublic; 授权成功。 SQL>@?\sqlplus\admin\plustrce SQL> SQL>droproleplustrace; droproleplustrace * ERROR位于第1行: ORA-01919:角色'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几个常用选项的说明:
SETAUTOTRACEOFF----------------不生成AUTOTRACE报告,这是缺省模式
SETAUTOTRACEONEXPLAIN------AUTOTRACE只显示优化器执行路径报告
SETAUTOTRACEONSTATISTICS--只显示执行统计信息
SETAUTOTRACEON-----------------包含执行计划和统计信息
SETAUTOTRACETRACEONLY------同setautotraceon,但是不显示查询输出
SQL>selecttable_namefromuser_tables; TABLE_NAME ------------------------------ BONUS DEPT DUMMY EMP SALGRADE 已用时间:00:00:00.00
ExecutionPlan ---------------------------------------------------------- 0SELECTSTATEMENTOptimizer=CHOOSE 10NESTEDLOOPS 21NESTEDLOOPS(OUTER) 32NESTEDLOOPS(OUTER) 43NESTEDLOOPS(OUTER) 54NESTEDLOOPS(OUTER) 65NESTEDLOOPS 76TABLEACCESS(BYINDEXROWID)OF'OBJ 87INDEX(RANGESCAN)OF'I_OBJ2'(UNIQUE) 96TABLEACCESS(CLUSTER)OF'TAB$' 109INDEX(UNIQUESCAN)OF'I_OBJ#'(NON-UNIQUE) 115TABLEACCESS(BYINDEXROWID)OF'OBJ$' 1211INDEX(UNIQUESCAN)OF'I_OBJ1'(UNIQUE) 134INDEX(UNIQUESCAN)OF'I_OBJ1'(UNIQUE) 143TABLEACCESS(CLUSTER)OF'USER$' 1514INDEX(UNIQUESCAN)OF'I_USER#'(NON-UNIQUE) 162TABLEACCESS(CLUSTER)OF'SEG$' 1716INDEX(UNIQUESCAN)OF'I_FILE#_BLOCK#'(NON-UNIQUE) 181TABLEACCESS(CLUSTER)OF'TS$' 1918INDEX(UNIQUESCAN)OF'I_TS#'(NON-UNIQUE
Statistics
----------------------------------------------------------
0recursivecalls
0dbblockgets
73consistentgets
0physicalreads
0redosize
452bytessentviaSQL*Nettoclient
503bytesreceivedviaSQL*Netfromclient
2SQL*Netroundtripsto/fromclient
0sorts(memory)
0sorts(disk)
5rowsprocessed
对于dba用户这样就可以查看执行计划了.但对于没有dba权限的用户,还需要grantselectanydictionarytouser_name;
相关文章推荐
- Oracle+9i&10g编程艺术:深入数据库体系结构读书笔记--------一、创建SCOTT/TIGGER数据库表
- 设置sql*plus的autotrace(摘自Oracle编程艺术)
- Oracle+9i&10g编程艺术:深入数据库体系结构(读书笔记二)
- Oracle+9i&10g编程艺术:深入数据库体系结构(读书笔记一)
- Oracle 9i & 10g编程艺术-深入数据库体系结构——第11章:索引
- 设置SQL*Plus中的SQL>提示符
- 2、oracle专家编程---SQLPLUS设置
- Oracle 9i & 10g编程艺术-深入数据库体系结构——第12章:数据类型
- Docker: oracle_xe_10g 数据库 运行sqlplus 时Message file sp1<lang>.msb not found 错误解决办法_20160513_七侠镇莫尛貝
- Oracle 9i & 10g编程艺术-深入数据库体系结构——序
- 设置SQL*Plus 的AUTOTRACE
- 老是忘记如何设置SQLPlus的autotrace,特此记录一篇
- Oracle 9i & 10g编程艺术-深入数据库体系结构——第2章:体系结构概述
- 设置SQL*PLUS的AUTOTRACE
- Oracle 9i & 10g编程艺术-深入数据库体系结构——第3章:文件
- Oracle 9i & 10g编程艺术-深入数据库体系结构——第4章:内存结构
- 设置sqlplus的autotrace
- [小e分享]之Oracle9i&10g编程艺术:深入数据库体系结构_Thomas Kyte电子书(附pdf下载)
- Oracle 9i & 10g编程艺术-深入数据库体系结构——第5章:Oracle进程
- Oracle 9i & 10g编程艺术-深入数据库体系结构——第13章:分区