当前位置:神舟问>百科知识>如何启用sq来自lplus的AutoTrace功能

如何启用sq来自lplus的AutoTrace功能

2024-07-10 23:43:38 编辑:join 浏览量:513

如何启用sq来自lplus的AutoTrace功能

AUTOTRACE是360问答一项SQL*Plus功能,自动跟踪为SQL语句生成一个执行计划并且提供与该语请审景从火音问乎代七句的处理有关的统计。

SQL*PlusAUTOTRA味江景判为常即体候CE可以用来替代SQLTrace使用,AUTOTRACE的好处是您不必设置跟踪文件的格式,并且它将自动为SQL语句显示执行计划。然而,AUTOTRACE分析和执行语句;而EXPLAINPLAN仅分析语句。

使用AUTOTRACE不会产生跟踪文件。

一、setautotrace语法及选项的说明

1、军呼精沉斗约味岩用法:SETAUTOT[RACE]{OFF|ON|TRACE[ONLY]}[EXP[LAIN]][STAT[ISTICS]]

OPTION说明

SETAUTOTRACEOFF此为默认值,即关闭Autot外空座肉树主模医五白race

SETAUTOTRACEON同时输出执行结果以及统计信息和执行计划信息。

SETAUTOTRACEONEXPLAIN只打开执行计划报表,显示命令结果,不显示统计信息。

SETAUTOTRACEONSTATISTICS只打开统计信息报表,显示命令结果,不显示执行计划。

SETAUTOTRACETRACEONLY不显示命令的白能块双属执行结果,显示执行计划和统计信息,但在traceonly的后面仍然可以追加航映explain或者stat古错兵台游秋istics,等同于setautotraceon[explain|statistics]但是不显示执行结果。

2、Autotrace执行计划的各列的涵义

ID然功地始镇究派棉见_PLUS_EXP每一步骤的行号

PARENT_ID_PLUS_EXP每一步的Parent的级别号

PLAN_PLUS_EXP实际的每步

OBJECT_NOD制察乎能迅留基何翻E_PLUS_EXPDblin甚换倍他害周段k或并行查询时才会用到

3、AUTOTRACEStatistics常用列解释

dbblockgets从buffercache中读取的block的数量

consistentge次呼ts从buffercache中读取的undo数据的block的数量

physical跑跳接考德他位围响金reads从磁盘读取的block的数量

redosizeDML生成的redo的大小

sorts(memory)在内存执行的排序量

sorts(disk)在磁盘上执行的排序量

二、使用前设置及Autotrace授权

1、任何以SQL*PLUS连接的session都可以用Autotrace,不过还是要做一些设置的,蒸罪化输火否则可能报错。

报殖游服说错示例:

SQL:>setautotraceon;

SP2-0613:Un而急更强集门茶国护abletoverifyPL验划神陆肉屋赵AN_TABLEformatorexistence

SP2-0611:ErrorenablingEXPLAINreport

SP2-0618:CannotfindtheSessionId做波迫如煤商送顶entifier.CheckP称示缺剧划皮好略生侵LUSTRACEroleisenabled

SP2-0611:ErrorenablingSTATISTICSreport

该错误的的主要原因是由于当前用户下没有PLAN_TABLE这张表及相应的PLUSTRACE角色权限。

2、通过以下方法可以把Autotrace的权限授予Everyone,如果你需要限制Autotrace权限,可以把对public的授权改为对特定user的授权。

D:\oracle\ora92>sqlplus/nolog

SQL>connectsysassysdba

SQL>@?\rdbms\admin\utlxplan--表已创建。

SQL>createpublicsynonymplan_tableforplan_table;--同义词已创建。

SQL>grantallonplan_tabletopublic;

SQL>@?\sqlplus\admin\plustrce

SQL>droproleplustrace;

SQL>createroleplustrace;

SQL>grantselectonv_$sesstattoplustrace;

SQL>grantselectonv_$statnametoplustrace;

SQL>grantselectonv_$sessiontoplustrace;

SQL>grantplustracetodbawithadminoption;

SQL>setechooff

DBA用户首先被授予了plustrace角色,然后我们可以把plustrace授予public;这样所有用户都将拥有plustrace角色的权限.

SQL>grantplustracetopublic;

三、使用AutoTrace的功能

SQL>connecteqsp/eqsp

SQL>setautotraceon

SQL>settimingon

SQL>setautotracetraceonly

SQL>selecttable_namefromuser_tables;

已选择98行。

已用时间:00:00:00.04

ExecutionPlan

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

0SELECTSTATEMENTptimizer=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

1389consistentgets

0physicalreads

0redosize

2528bytessentviaSQL*Nettoclient

569bytesreceivedviaSQL*Netfromclient

8SQL*Netroundtripsto/fromclient

0sorts(memory)

0sorts(disk)

98rowsprocessed

-TheEnd-

标签:sq,lplus,AutoTrace

版权声明:文章由 神舟问 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.shenzhouwen.com/article/386786.html
热门文章