4. SQLT的主要方法:
XTRACT, XECUTE, XTRXEC, XTRSBY, XPLAIN, XPREXT and XPREXC
A. XTRACT方法,如果知道SQL_ID或HASH_VALUE, 那么可以使用此方法。 sql_id可以从AWR得到,hash_value可以在SQL Trace中 hv= 中看到。否则使用XECUTE 。如果SQL还在内存中,或者已被AWR捕获,那么XPREXT会找到它并提供诊断文件,否则XPREXT报错。
# cd sqlt/run
# sqlplus apps
SQL> START sqltxtract.sql [SQL_ID]|[HASH_VALUE] [sqltxplain_password]
SQL> START sqltxtract.sql 0w6uydn50g8cx sqltxplain_password
SQL> START sqltxtract.sql 2524255098 sqltxplain_password
一些重要的性能统计信息,比如执行计划操作的实际的行数等。
B. XECUTE方法比XTRACT方法提供更加详细的信息, 它执行被解析的SQL, 提供一套诊断文件,缺点是SQL执行时间如果很长,那么这个方法也需要很长时间。 所以如果一个SQL执行时间小于1小时,才考虑使用此方法。 否则使用XTRACT 。
需要创建一个包含SQL TEXT的文本文件,如果Sql有绑定变量,文件中必须包含绑定变量申明和赋值,可以参考sqlt/input/sample/script1.sql 。
# cd sqlt
# sqlplus apps
SQL> START [path]sqltxecute.sql [path]scriptname [sqltxplain_password]
SQL> START run/sqltxecute.sql input/sample/script1.sql sqltxplain_password
C. XTRXEC 方法联合了XTRACT和XECUTE的特性
实际上,XTRXEC连续执行两种方式(XTRACT, XECUTE), 其中XTRACT生成一个脚本,包含有绑定变量及赋值的SQL, XECUTE随后执行这个脚本。
# cd sqlt/run
# sqlplus apps
SQL> START sqltxtrxec.sql [SQL_ID]|[HASH_VALUE] [sqltxplain_password]
SQL> START sqltxtrxec.sql 0w6uydn50g8cx sqltxplain_password
SQL> START sqltxtrxec.sql 2524255098 sqltxplain_password
还有其他几种方法,这里不做介绍,大家可以参考安装目录下的 sqlt_instructions.html 。
大多数时候使用 XTRACT方法 比较多,开始生成的文件会有很多,最后结束的时候,会自动将所有生成的文件自动集合打包为一个zip文件, 文件名称类似 sqlt_s70924_xtract_ 8xvmfgf0ybr7q.zip, 最后的是SQL_ID 。 整个过程时间比较长 。 具体如何分析诊断文件,待续….
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-1062954/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/35489/viewspace-1062954/