重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 765|回复: 0
打印 上一主题 下一主题

[工具] SQL性能分析工具sqlhc简单介绍

[复制链接]
跳转到指定楼层
楼主
发表于 2023-9-10 13:11:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
执行方法:

使用sqlplus 连到数据库(建议用DBA用户,因为要访问一些性能视图),两种执行方法(注意:10g版本执行过程还需要输入一个参数,直接回车即可):

1、一次输入两个参数:

SQL>@sqlhc T sql_id

2、根据提示依次输入参数:

SQL> @sqlhc

Parameter 1:

Oracle Pack License (Tuning, Diagnostics or None) [T|D|N] (required)

Enter value for 1: T

第一个参数T

PL/SQL procedure successfully completed.

Parameter 2:

SQL_ID of the SQL to be analyzed (required)

Enter value for 2: 9kpzwpgf7gdz2  

第二个参数:你要检查优化的SQL的sql_id

......具体执行过程较长,省略

执行过程大概几分钟到半小时不等(根据AWR保存周期、字典表大小不同相差较大,一般系统应该在5分钟以内能够完成),在生产系统上执行不要紧张,对系统基本无影响!

执行过程有log,也有屏显。执行过程会insert 数据到plan_table表,执行结束会rollback。



执行完成后会在当前目录下生成一个类似下面形式的一个zip文件:sqlhc_20160722_170249_1g33tgkybp2sv.zip 文件名以sqlhc开头,依次是日期、时间、sql_id。

压缩包内的文件有4个html文件和log.zip是通常存在的

trace文件的生成需要11.2版本以上,sql_id仍在library cache内的情况下。

如果*sql_monitor.zip 也包含在sqlhc压缩包内,说明你的SQL执行时间超过了5s,或者是并行的SQL,而且收集sqlhc时仍保留在sql monitor的内存。sql monitor对分析sql执行计划有很大帮助,这个工具也可以作为一个专门的主题。如果遇到问题收集sqlhc信息及时,就非常有可能收集到sql monitor文件。如果一个sql执行完后超过半小时没有收集sqlhc,sql monitor信息就就非常有可能被刷出内存。


主要分析的的3个html文件是:

*_health_check.html
*_diagnostics.html
*_execution_plan.html



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-4-28 06:40 , Processed in 0.083023 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表