oracle性能调优学习0622
admin
2023-05-09 06:42:05
0次
  1. 查询数据库中的等待事件:

    SET lines 100
    SET pages 10000
    COLUMN wait_class format a12
    COLUMN event format a30
    COLUMN total_waits format 999999
    COLUMN total_us format 999999999
    COLUMN pct_time format 99.99
    COLUMN avg_us format 999999.99
    SET echo on

    SELECT   wait_class, event, total_waits AS waits,
             ROUND (time_waited_micro / 1000) AS total_ms,
             ROUND (time_waited_micro * 100 / SUM (time_waited_micro) OVER (),
                    2
                   ) AS pct_time,
             ROUND ((time_waited_micro / total_waits) / 1000, 2) AS avg_ms
        FROM v$system_event
       WHERE wait_class <> 'Idle'
    ORDER BY time_waited_micro DESC;

2.整合时间模型和等待接口:

SELECT event,
       total_waits,
       round(time_waited_micro / 1000000) AS time_waited_secs,
       round(time_waited_micro * 100 / SUM(time_waited_micro) over(), 2) AS pct_time
  FROM (SELECT event, total_waits, time_waited_micro
          FROM v$system_event
         WHERE wait_class <> 'Idle'
        UNION
        SELECT stat_name, NULL, VALUE
          FROM v$sys_time_model
         WHERE stat_name IN ('DB CPU', 'backup cpu time'))
 ORDER BY 3 DESC

SELECT sample_seconds,
       stat_name,
       waits_per_second        waits_per_sec,
       microseconds_per_second ms_per_sec,
       pct_of_time             pct
  FROM opsg_delta_report
 WHERE microseconds_per_second > 0;
监控索引的使用情况:

WITH in_plan_objects AS
 (SELECT DISTINCT object_name FROM v$sql_plan WHERE object_owner = 'SCOTT')
SELECT table_name,
       index_name,
       CASE
         WHEN object_name IS NULL THEN
          'NO'
         ELSE
          'YES'
       END AS in_cached_plan
  FROM user_indexes
  LEFT OUTER JOIN in_plan_objects
    ON (index_name = object_name);

4.识别从绑定变量中获益的sql语句:

WITH force_matches AS
       (SELECT force_matching_signature,
               COUNT( * )  matches,
               MAX(sql_id || child_number) max_sql_child,
               DENSE_RANK() OVER (ORDER BY COUNT( * ) DESC)
                  ranking
        FROM v$sql
        WHERE force_matching_signature <> 0
          AND parsing_schema_name <> 'SYS'
        GROUP BY force_matching_signature
        HAVING COUNT( * ) > 5)
SELECT sql_id,  matches, parsing_schema_name schema, sql_text
  FROM    v$sql JOIN force_matches
    ON (sql_id || child_number = max_sql_child)
WHERE ranking <= 10
ORDER BY matches DESC;

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...