介绍Oracle的SQL调化健康检查脚本(SQLHC)

在这里插入图片描述

概述

Oracle提供了一个SQL调优健康检查脚本(SQLHC),用于检查需要优化的SQL的运行环境,生成报告以便帮助DBA找到SQL性能不佳的原因。SQLHC是SQLT的一个子集(我后续的文章会介绍SQLT),但SQLHC与SQLT不同,SQLHC不需要在数据库中安装任何代码即可完成收集信息的工作。
这个脚本执行下面几个方面的健康检查:

  • 与SQL语句相关的对象的统计信息
  • CBO参数
  • CBO系统统计信息
  • CBO数据字典统计信息
  • CBO动态性能视图统计信息

安装过程

从MOS(My Oracle Support )的Doc ID 11366133.1中下载“sqlhc.zip”文件到数据库服务器,然后将内容解压缩到适当的目录中:

$ unzip sqlhc.zip
Archive:  sqlhc.zip
   creating: sqlhc/
  inflating: sqlhc/sqldx.sql
  inflating: sqlhc/sqlhc.sql
  inflating: sqlhc/sqlhc_pxhcdr.sql
  inflating: sqlhc/sqlhc_pxhcdr_null.sql
  inflating: sqlhc/sqlhc_sta.sql
  inflating: sqlhc/sqlhc_tcb.sql
  inflating: sqlhc/util_planx.sql
   creating: sqlhc/utl/
  inflating: sqlhc/utl/bde_chk_cbo.sql
  inflating: sqlhc/utl/coe_gen_sql_patch.sql
  inflating: sqlhc/utl/coe_gen_sql_profile.sql
  inflating: sqlhc/utl/coe_load_sql_baseline.sql
  inflating: sqlhc/utl/coe_load_sql_profile.sql
  inflating: sqlhc/utl/coe_xfr_sql_profile.sql
  inflating: sqlhc/utl/coe_xfr_sql_profile_remote.sql
  inflating: sqlhc/utl/flush_cursor.sql
   creating: sqlhc/utl/mon/
  inflating: sqlhc/utl/mon/0_mon_readme.txt
  inflating: sqlhc/utl/mon/1_mon_repository.sql
  inflating: sqlhc/utl/mon/2_mon_capture.sql
  inflating: sqlhc/utl/mon/3_mon_reports.sql
  inflating: sqlhc/utl/mvhcdr.sql
  inflating: sqlhc/utl/planx.sql
  inflating: sqlhc/utl/profiler.sql
  inflating: sqlhc/utl/pxhcdr.sql
  inflating: sqlhc/utl/readme.txt
   creating: sqlhc/utl/spm/
  inflating: sqlhc/utl/spm/alter_spb.sql
  inflating: sqlhc/utl/spm/coe_load_sql_baseline.sql
  inflating: sqlhc/utl/spm/create_spb_from_awr.sql
  inflating: sqlhc/utl/spm/create_spb_from_cur.sql
  inflating: sqlhc/utl/spm/create_spb_from_sts.sql
  inflating: sqlhc/utl/spm/create_sts_from_awr.sql
  inflating: sqlhc/utl/spm/create_sts_from_cur.sql
  inflating: sqlhc/utl/spm/display_awr.sql
  inflating: sqlhc/utl/spm/display_cur.sql
  inflating: sqlhc/utl/spm/display_spb.sql
  inflating: sqlhc/utl/spm/display_sts.sql
  inflating: sqlhc/utl/spm/drop_cur.sql
  inflating: sqlhc/utl/spm/drop_spb.sql
  inflating: sqlhc/utl/spm/drop_sts.sql
  inflating: sqlhc/utl/spm/evolve_spb.sql
  inflating: sqlhc/utl/spm/imp_and_unpack_spb.sql
  inflating: sqlhc/utl/spm/imp_and_unpack_sts.sql
  inflating: sqlhc/utl/spm/pack_and_exp_spb.sql
  inflating: sqlhc/utl/spm/pack_and_exp_sts.sql
  inflating: sqlhc/utl/spm/readme.txt

运行SQLHC脚本

要运行该脚本,请执行以下步骤:

  • 使用SYS账户或具有访问数据字典视图权限的用户连接到SQL*Plus。
  • 登录到相应的容器,否则您将无法访问对象。
  • 运行“sqlhc.sql”脚本。
    这里输入两个必需的参数:
  • Oracle Pack许可证(调优、诊断或无)[T|D|N]。SQLHC不需要许可证并且是免费的,但是如果安装了诊断包或调优包,SQLHC可以使用AWR报告中的信息,因此它会询问您的服务器是否已经被授权了诊断包或调优包。如果有,则输入“T”。
  • 要分析的SQL的有效SQL_ID。请不要输入PL/SQL包的SQL_ID,因为这样虽然不会引发错误,也不会产生有用的结果。
    例如:
SQL>@sqlhc/sqlhc.sql T 5mz8u3b34u9gw

这个脚本运行后,将在执行的同一目录中生成一个ZIP文件。

$ ll
total 208
-rw-r--r--. 1 oracle oinstall 212247 Mar 12 17:52 sqlhc_20240312_1751_5mz8u3b34u9gw.zip
$ unzip sqlhc_20240312_1751_5mz8u3b34u9gw.zip
Archive:  sqlhc_20240312_1751_5mz8u3b34u9gw.zip
  inflating: sqlhc_20240312_1751_5mz8u3b34u9gw_1_health_check.html
  inflating: sqlhc_20240312_1751_5mz8u3b34u9gw_2_diagnostics.html
  inflating: sqlhc_20240312_1751_5mz8u3b34u9gw_3_execution_plans.html
  inflating: sqlhc_20240312_1751_5mz8u3b34u9gw_4_sql_detail.html
 extracting: sqlhc_20240312_1751_5mz8u3b34u9gw_9_log.zip
  inflating: sqlhc_20240312_1751_5mz8u3b34u9gw_10_sql_tuning_advisor.out
  inflating: sqlhc_20240312_1751_5mz8u3b34u9gw_6_10053_trace_from_cursor.trc
 extracting: sqlhc_20240312_1751_5mz8u3b34u9gw_11_tcb.zip
 extracting: sqlhc_20240312_1751_5mz8u3b34u9gw_8_sqldx.zip

下面是生成的HTML文件的样本:
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/456955.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【string一些函数用法的补充】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 string类对象的修改操作 我们来看 c_str 返回c格式的字符串的操作: 我们来看 rfind 和 substr 的操作: string类非成员函数 我们来看 r…

安全访问服务边缘解决方案

随着云计算、大数据和物联网技术的快速发展,企业对于业务数据的访问需求日益增多,而安全访问服务边缘(Secure Access Service Edge,SASE)作为一种新兴的网络架构,正逐渐成为企业保障数据安全、优化网络性能…

Python引入其他文件作为包

1.首先当我们写的代码,可能要被其他文件引用,那么在建文件夹的时候,记得选包 不是文件夹!(选第4个,不是第3个) 因为文件夹默认没有init 方法,不能导包... 如果已经是文件夹了&#…

Claude3、Gemini、Sora与GPT-4:谁将成为AI领域的明日之星?

【最新增加Claude3、Gemini、Sora、GPTs讲解及AI领域中的集中大模型的最新技术】 2023年随着OpenAI开发者大会的召开,最重磅更新当属GPTs,多模态API,未来自定义专属的GPT。微软创始人比尔盖茨称ChatGPT的出现有着重大历史意义,不亚…

ECCV2022 | BEVFormer原文翻译

BEVFormer: Learning Bird’s-Eye-View Representation from Multi-Camera Images via Spatiotemporal Transformers BEVFormer: 通过时空变换器从多摄像头图像中学习鸟瞰图表征 Figure 1: We propose BEVFormer, a paradigm for autonomous driving that applies both Trans…

【Java探索之旅】运算符解析 算术运算符,关系运算符

🎥 屿小夏 : 个人主页 🔥个人专栏 : Java编程秘籍 🌄 莫道桑榆晚,为霞尚满天! 文章目录 📑前言一、什么是运算符二、算术运算符2.1 基本四则运算(-*/%)2.2 增…

2049.不容易系列之(4)——考新郎

2048的升级 当nm时则全排错,与上题一样 当n>m时,则有n-m个是排对的,剩下m个全错 import java.util.*;public class Main {public static void main(String[] args) {Scanner scannernew Scanner(System.in);int num scanner.nextInt()…

LeetCode2.07链表相交

2.07链表相交 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结构中不存在环。 注意,函数返回结…

洛谷 P5018 对称二叉树

题目背景 NOIP2018 普及组 T4 题目描述 一棵有点权的有根树如果满足以下条件,则被轩轩称为对称二叉树: 二叉树;将这棵树所有节点的左右子树交换,新树和原树对应位置的结构相同且点权相等。 下图中节点内的数字为权值&#xf…

Compose UI 之 BottomAppBar 底部应用栏

BottomAppBar 底部应用栏 BottomAppBar 是一个在 Jetpack Compose 中用于创建底部应用栏的组件。它提供了一个高度可定制且功能丰富的底部导航解决方案。 它的使用方式与 TopAppBar 类似。下面的图是 BottomAppBar 的基本样式图。 常见使用场景 BottomAppBar 在应用中常用于…

【JavaScript】使用debugger语句快速开启浏览器调试代码工具

简言 有的时候我们想开启浏览器代码调试功能,这个时候应该使用debugger语句。 debugger debugger 语句调用任何可用的调试功能,例如设置断点。如果没有调试功能可用,则此语句不起作用。 debugger;可以多次使用 debugger语句,使…

蓝桥杯练习系统(算法训练)ALGO-976 P0804字符串压缩

资源限制 内存限制:256.0MB C/C时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s 编写一个函数void strcompress(char *s),输入一个字符串(只包含小写字母和空格,且长度小于1000&am…

基于springboot社团管理系统的设计与实现

互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对信息管理混乱,出错率高,信息安全性差,劳…

leetcode代码记录(有效的括号

目录 1. 题目:2. 我的代码:小结: 1. 题目: 给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。 有效字符串需满足&…

香港理工大学主办!2024年第八届电力能源系统与应用国际会议(ICoPESA 2024)即将召开!

2024年第八届电力能源系统与应用国际会议(ICoPESA 2024) 2024年6月24日-26日 中国香港 ICoPESA 2024-Hong Kong (icpesa.org)https://icpesa.org/index.html 会议组织单位 会议出版及检索: 会议录用并注册的论文将由IEEE出版,…

Let’s Move Sui , 一起来学习吧

Let’s Move Sui是一个全新的交互式学习平台,通过SuiFrens的帮助教您如何在Sui上构建。设计供新手和经验丰富的开发者使用,Let’s Move Sui提供了一次非凡的Sui开发之旅,利用了Move在Sui上的独特之处,从基于对象的数据模型的基础知…

3、鸿蒙学习-在AGC创建HarmonyOS 项目或应用

项目和应用介绍 关于项目 项目是资源、应用的组织实体。资源包括服务器、数据库、存储,以及您的应用、终端用户的数据等。在您使用部分服务时,您是数据的控制者,数据将按照您设置的数据处理位置来存储在指定区域。 通常,您不需…

SE园区综合实验(未补齐版)

实验要求: 1.局域网存在vlan10和vlan20两个业务vlan,ip网段分别对应192.168.1.0/24和192.168.2.0/24 2.业务vlan可以在所有链路上传输数据 3.sw1和sw2之间的直连链路上配置静态链路聚合实现链路冗余,并提高链路带宽 4.sw3为某接入点二次交…

C# ListView 控件使用

1.基本设置 listView1.Columns.Add("序号", 60); //向 listView1控件中添加1列 同时设置列名称和宽度listView1.Columns.Add("温度", 100); //下同listView1.Columns.Add("偏移", 100);listView1.Columns.Add("分割", 50);listView1…

Apache Doris 2.1.0 版本发布:开箱盲测性能大幅优化,复杂查询性能提升 100%

亲爱的社区小伙伴们,我们很高兴地向大家宣布,在 3 月 8 日我们引来了 Apache Doris 2.1.0 版本的正式发布,欢迎大家下载使用。 在查询性能方面, 2.1 系列版本我们着重提升了开箱盲测性能,力争不做调优的情况下取得较好…