Generate report - log file sync

本文深入探讨了一段SQL查询代码,旨在优化日志同步过程中的性能。通过分析日志文件同步事件的时间等待和等待次数,作者识别了性能瓶颈并提供了优化建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

set term off heading on verify off pagesize 1000
set markup html on entmap ON preformat off spool on

spool c:\temp\event_log_file_sync.html

select s.BEGIN_INTERVAL_TIME, m.INSTANCE_NUMBER, m.SNAP_ID, EVENT_NAME, m.EVENT_TIME_WAITED, m.TOTAL_WAITS, m.PCT, AVG_WAIT
    FROM    (SELECT ee.instance_number,
                    ee.snap_id,
                    ee.event_name,
                    ROUND (ee.event_time_waited / 1000000) event_time_waited,
                    ee.total_waits,
                    ROUND (
                       (ee.event_time_waited * 100) / et.total_time_waited,
                       1)
                       pct,
                    ROUND ( (ee.event_time_waited / ee.total_waits) / 1000)
                       avg_wait
               FROM    (SELECT ee1.instance_number,
                               ee1.snap_id,
                               ee1.event_name,
                               ee1.time_waited_micro - ee2.time_waited_micro
                                  event_time_waited,
                               ee1.total_waits - ee2.total_waits total_waits
                          FROM    dba_hist_system_event ee1
                               JOIN
                                  dba_hist_system_event ee2
                               ON     ee1.snap_id = ee2.snap_id + 1
                                  AND ee1.instance_number = ee2.instance_number
                                  AND ee1.event_id = ee2.event_id
                                  AND ee1.wait_class_id <> 2723168908
                                  AND ee1.time_waited_micro
                                      - ee2.time_waited_micro > 0
                        UNION
                        SELECT st1.instance_number,
                               st1.snap_id,
                               st1.stat_name event_name,
                               st1.VALUE - st2.VALUE event_time_waited,
                               1 total_waits
                          FROM    dba_hist_sys_time_model st1
                               JOIN
                                  dba_hist_sys_time_model st2
                               ON     st1.instance_number = st2.instance_number
                                  AND st1.snap_id = st2.snap_id + 1
                                  AND st1.stat_id = st2.stat_id
                                  AND st1.stat_name = 'DB CPU'
                                  AND st1.VALUE - st2.VALUE > 0) ee
                    JOIN
                       (SELECT et1.instance_number,
                               et1.snap_id,
                               et1.VALUE - et2.VALUE total_time_waited
                          FROM    dba_hist_sys_time_model et1
                               JOIN
                                  dba_hist_sys_time_model et2
                               ON     et1.snap_id = et2.snap_id + 1
                                  AND et1.instance_number = et2.instance_number
                                  AND et1.stat_id = et2.stat_id
                                  AND et1.stat_name = 'DB time'
                                  AND et1.VALUE - et2.VALUE > 0) et
                    ON ee.instance_number = et.instance_number
                       AND ee.snap_id = et.snap_id) m
         JOIN
            dba_hist_snapshot s
         ON m.snap_id = s.snap_id AND m.instance_number = s.instance_number
   WHERE TO_CHAR (BEGIN_INTERVAL_TIME+0.003, 'YYYYMMDDHH24MI') > CONCAT('&&1', '&&2') AND TO_CHAR (BEGIN_INTERVAL_TIME-0.003, 'YYYYMMDDHH24MI') < CONCAT('&&1', '&&3') AND event_name = 'log file sync'
ORDER BY m.instance_number, m.snap_id, event_time_waited desc;

spool off
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值