SQLHC简介
对于SQLHC(SQL Health Check,SQL性能健康检查脚本)工具,Mos文档1626277.1有非常详细的介绍。SQLHC是Oracle Server Technologies Center of Expertise开发的一个工具。SQLHC用于检查单条SQL语句运行的环境,包括基于成本的优化器(CBO)的统计数据,用户对象的元数据定义,配置参数和其它可能影响到目标SQL性能的因素。SQLHC和SQLT工具一样,本身都是免费的,不需要任何许可证(License)。当对某一个SQL_ID运行SQLHC后,该脚本会生成一系列针对该SQL语句健康检查的一份HTML报告
SQLHC的使用
通过V$SQL或AWR(dba_hist_sqltext)找到要收集数据的SQL的SQL_ID
SELECT sql_id, hash_value, SUBSTR(sql_text,1,40) Text
FROM v$sql
WHERE sql_text LIKE '%&***********%';
执行sqlhc.sql脚本
SQL> START sqlhc.sql T <SQL_ID>
SQL> exit
概念性质的东西可以通过mos文档查看,下面直接演示
1.安装上传sqlhc.zip到数据库服务器
[root@node1 oracle]# unzip sqlhc.zip
[root@node1 oracle]# chmod -R 777 sqlhc
[root@node1 oracle]# chown -R oracle:oinstall sqlhc
2.选择优化的语句的sql_id
执行完成后SQLT和SQLHC脚本生成的报告文件都在进入SQL*Plus之前的OS的当前目录下
解压出来后,可以看到改语句的全部信息,这里重点关注sqlhc_20241031_1115_gc6d3jxbh57q1_10_sql_tuning_advisor这个文件,里面是调优建议,和计划对比
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/4b20598c70f74a60bc99f4d55abe3aa2.png
建议创建索引完成后计划对比