Анализ файла трассировки Oracle
Нужна помощь в анализе трассировочных файлов. Есть 2 БД Oracle 11g прод и предпрод, идентичны по железу и данным. Один и тот же пакет, для расчета витрин данных на прод базе среде выполняется за 1 час, на предпрод за 32 минуты. DBA утверждают, что разбежка возникает из-за логирования и репликации на проде (на предпроде отключены). Снял трассу по самой "тяжёлой" процедуре, прогнал через TKPROF:
Прод:
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 1 0.00 0.00 0 0 0 0
Execute 1 336.45 2036.89 1394030 14622771 2375 2255256
Fetch 0 0.00 0.00 0 0 0 0
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 2 336.45 2036.89 1394030 14622771 2375 2255256
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
Disk file operations I/O 34 0.00 0.00
db file sequential read 127693 0.39 746.45
latch: row cache objects 1 0.00 0.00
PX Deq: Join ACK 4 0.00 0.00
PX Deq Credit: send blkd 1 0.00 0.00
PX qref latch 1 0.00 0.00
PX Deq Credit: free buffer 3 0.00 0.00
PX Deq: Parse Reply 4 2.16 2.16
PX Deq: Execute Reply 16 0.01 0.01
db file scattered read 7202 0.15 101.93
direct path read temp 76238 0.16 852.81
direct path write temp 5045 0.05 1.59
db file parallel read 1 0.03 0.03
PX Deq Credit: need buffer 7 0.00 0.00
reliable message 1 0.00 0.00
enq: CR - block range reuse ckpt 1 0.01 0.01
PX Deq: Signal ACK RSG 4 0.00 0.00
********************************************************************************
Предпрод:
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 1 0.00 0.00 0 0 0 0
Execute 1 318.83 1363.52 1965651 14911127 6754 2255256
Fetch 0 0.00 0.00 0 0 0 0
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 2 318.84 1363.53 1965651 14911127 6754 2255256
Elapsed times include waiting on following events:
Event waited on Times Max. Wait Total Waited
---------------------------------------- Waited ---------- ------------
db file sequential read 478133 0.29 991.26
Disk file operations I/O 16 0.00 0.00
PX Deq: Join ACK 4 0.00 0.00
PX Deq Credit: send blkd 2 0.00 0.00
PX Deq Credit: need buffer 4 0.02 0.02
PX Deq: Parse Reply 4 1.81 1.82
PX Deq: Execute Reply 16 0.00 0.01
db file scattered read 6864 0.10 22.23
direct path write temp 71579 0.05 45.86
local write wait 5856 0.00 2.77
direct path read temp 96801 0.00 2.57
log file switch (private strand flush incomplete)
1 0.00 0.00
db file parallel read 1 0.00 0.00
log file switch completion 3 0.00 0.01
reliable message 4 0.00 0.00
enq: CR - block range reuse ckpt 1 0.00 0.00
PX Deq: Signal ACK RSG 4 0.00 0.00
********************************************************************************
Процессорное время выполнения +/- совпадает, а вот фактическое довольно существенно разнится, на проде + 11 минут. Вижу что проблема в ожиданиях в частности "direct path read temp ". Подскажите в какую сторону копать, чтобы понять источник и причину возникновения этих ожиданий.
P.S.
WAIT #139739871601368: nam='db file sequential read' ela= 178 file#=470 block#=1333217 blocks=1 obj#=25174871 tim=1580887605427410
tim=1580887605427410 - это в каких единицах измерения?