在SQL*PLUS中应用AUTOTRACEREPORT
2008-04-27 10:14
555 查看
在SQL*PLUS中应用AUTOTRACEREPORT
作者:刘颖博
时间:2004-1-12
mail:liuyingbo@126.com,请指正
转载请注明出处及作者
在SQL*PLUS中,当你成功的执行一个DML语句,比如SELECT,DELETE,UPDATE,INSERT,你可以通过SQL优化器和语句的执行统计自动的获得一份报告。这份报告对于DML语句的性能监控和调优都是很有用处的。这份报告就是本文要讲的AUTOTRACE报告。
配置AUTOTRACE报告(ConfiguringtheAUTOTRACEReport)
你可以通过以下的AUTOTRACE系统变量来配置AUTOTRACE报告.如下表:
Table AUTOTRACESettings
AUTOTRACESetting
Result
SETAUTOTRACEOFF
不能获得AUTOTRACE报告.这是默认的.
SETAUTOTRACEONEXPLAIN
仅仅显示优化器执行计划的AUTOTRACE报告
SETAUTOTRACEONSTATISTICS
仅仅显示SQL语句执行的统计结果的AUTOTRACE报告
SETAUTOTRACEON
包括上面两项内容的AUTOTRACE报告
SETAUTOTRACETRACEONLY
与SETAUTOTRACEON类似,所有的统计和数据都在,但不可以打印
其实,平时我们应该较多的就是SETAUTOTRACEON、SETAUTOTRACEOFF,谁会在乎多看一点AUTOTRACE报告呢!J
安装AUTOTRACE报告(SetupsRequiredfortheAUTOTRACEReport)
要用这个特性,用户必须被赋予PLUSTRACE角色,而PLUSTRACE角色需要DBA来赋予。另外,该用户必须创建PLAN_TABLE表。
I. 首先创建PLUSTRACE角色并且赋给DBA:
CONNECTsys/sys’spasswordASSYSDBA
@$ORACLE_HOME/SQLPLUS/admin/PLUStrce.SQL
II. 赋权限给用户
CONNECT/ASSYSDBA
GRANTPLUSTRACETOUSER(预赋权的用户名);
这样,就可以在该用户下设置AUTOTRACE报告的显示与否了。
AUTOTRACE报告中涉及到的两个方面的内容
I. SQL语句的执行计划
执行计划就是SQL优化器执行语句的查询执行顺序,每一行的执行计划都会有个行号,这个行号是连续的
II. SQL语句的统计
数据库统计是服务器记录的执行当前的这条语句所需要的系统资源等,主要包括下表的内容
DatabaseStatisticName
Description
recursivecalls
Numberofrecursivecallsgeneratedatboththeuserandsystemlevel.maintainstablesusedforinternalprocessing.WhenOracleneedstomakeachangetothesetables,itinternallygeneratesaninternalSQLstatement,whichinturngeneratesarecursivecall.
dbblockgets
NumberoftimesaCURRENTblockwasrequested.
consistentgets
Numberoftimesaconsistentreadwasrequestedforablock.
physicalreads
Totalnumberofdatablocksreadfromdisk.Thisnumberequalsthevalueof"physicalreadsdirect"PLUSallreadsintobuffercache.
redosize
Totalamountofredogeneratedinbytes.
bytessentviaSQL*Nettoclient
Totalnumberofbytessenttotheclientfromtheforegroundprocesses.
bytesreceivedviaSQL*Netfromclient
TotalnumberofbytesreceivedfromtheclientoverOracleNet.
SQL*Netroundtripsto/fromclient
TotalnumberofOracleNetmessagessenttoandreceivedfromtheclient.
sorts(memory)
Numberofsortoperationsthatwereperformedcompletelyinmemoryanddidnotrequireanydiskwrites.1
作者:刘颖博
时间:2004-1-12
mail:liuyingbo@126.com,请指正
转载请注明出处及作者
在SQL*PLUS中,当你成功的执行一个DML语句,比如SELECT,DELETE,UPDATE,INSERT,你可以通过SQL优化器和语句的执行统计自动的获得一份报告。这份报告对于DML语句的性能监控和调优都是很有用处的。这份报告就是本文要讲的AUTOTRACE报告。
配置AUTOTRACE报告(ConfiguringtheAUTOTRACEReport)
你可以通过以下的AUTOTRACE系统变量来配置AUTOTRACE报告.如下表:
Table AUTOTRACESettings
AUTOTRACESetting
Result
SETAUTOTRACEOFF
不能获得AUTOTRACE报告.这是默认的.
SETAUTOTRACEONEXPLAIN
仅仅显示优化器执行计划的AUTOTRACE报告
SETAUTOTRACEONSTATISTICS
仅仅显示SQL语句执行的统计结果的AUTOTRACE报告
SETAUTOTRACEON
包括上面两项内容的AUTOTRACE报告
SETAUTOTRACETRACEONLY
与SETAUTOTRACEON类似,所有的统计和数据都在,但不可以打印
其实,平时我们应该较多的就是SETAUTOTRACEON、SETAUTOTRACEOFF,谁会在乎多看一点AUTOTRACE报告呢!J
安装AUTOTRACE报告(SetupsRequiredfortheAUTOTRACEReport)
要用这个特性,用户必须被赋予PLUSTRACE角色,而PLUSTRACE角色需要DBA来赋予。另外,该用户必须创建PLAN_TABLE表。
I. 首先创建PLUSTRACE角色并且赋给DBA:
CONNECTsys/sys’spasswordASSYSDBA
@$ORACLE_HOME/SQLPLUS/admin/PLUStrce.SQL
II. 赋权限给用户
CONNECT/ASSYSDBA
GRANTPLUSTRACETOUSER(预赋权的用户名);
这样,就可以在该用户下设置AUTOTRACE报告的显示与否了。
AUTOTRACE报告中涉及到的两个方面的内容
I. SQL语句的执行计划
执行计划就是SQL优化器执行语句的查询执行顺序,每一行的执行计划都会有个行号,这个行号是连续的
II. SQL语句的统计
数据库统计是服务器记录的执行当前的这条语句所需要的系统资源等,主要包括下表的内容
DatabaseStatisticName
Description
recursivecalls
Numberofrecursivecallsgeneratedatboththeuserandsystemlevel.maintainstablesusedforinternalprocessing.WhenOracleneedstomakeachangetothesetables,itinternallygeneratesaninternalSQLstatement,whichinturngeneratesarecursivecall.
dbblockgets
NumberoftimesaCURRENTblockwasrequested.
consistentgets
Numberoftimesaconsistentreadwasrequestedforablock.
physicalreads
Totalnumberofdatablocksreadfromdisk.Thisnumberequalsthevalueof"physicalreadsdirect"PLUSallreadsintobuffercache.
redosize
Totalamountofredogeneratedinbytes.
bytessentviaSQL*Nettoclient
Totalnumberofbytessenttotheclientfromtheforegroundprocesses.
bytesreceivedviaSQL*Netfromclient
TotalnumberofbytesreceivedfromtheclientoverOracleNet.
SQL*Netroundtripsto/fromclient
TotalnumberofOracleNetmessagessenttoandreceivedfromtheclient.
sorts(memory)
Numberofsortoperationsthatwereperformedcompletelyinmemoryanddidnotrequireanydiskwrites.1
相关文章推荐
- 在SQL*PLUS中应用AUTOTRACE REPORT
- 在SQL*PLUS中应用AUTOTRACE REPORT
- ORACLE set autotrace in SQL*Plus
- Setting Up AUTOTRACE in SQL*Plus
- [Sql*Plus] Set up Explain Plan and Autotrace
- o3-关于sqlplus autotrace
- Autotrace in SQLPLUS
- set autotrace in SQL*Plus
- sqlplus AUTOTRACE功能
- Setting Up AUTOTRACE in SQL*Plus
- ORACLE set autotrace in SQL*Plus
- Oracle10g SQL优化辅助工具之 set autotrace
- ORACLE中SQLPLUS中的trace的使用
- set autot trace exp产生执行计划是否要执行sql
- oracle sql_trace 简单应用介绍
- 织梦首页幻灯片用sql调用主要是[field:global.autoindex/]在sql中的应用
- 【转】Oracle SQL*PLUS命令应用 设置显示列格式的相关命
- ORACLE 应用---- SQL*PLUS常用工具
- 察看执行计划和sql跟踪工具之autotrace
- 启用:set autotrace traceonly 报错:SP2-0618: 无法找到会话标识符。启用检查 PLUSTRACE 角色SP2-0611: 启用 STATISTICS 报告时出错