oracle之 redo過高診斷

張衝andy發表於2018-03-13

一、診斷過度redo

要找到生成大量重做的會話,您可以使用以下任何一種方法。這兩種方法都檢查生成的撤銷量。
當一個事務生成撤銷,它將自動生成重做。


當需要檢查生成大量的程式時,使用第一個查詢。當這些程式啟用多個事務時重做。
後者查詢,可以用來發現哪些特定事務正在生成重做。


1)法一 (針對某程式累計redo生成量)

查詢 V$SESS_IO ,此檢視包含指示的列BLOCK_CHANGES。
該會話更改了多少塊。比較高的值表明,會話生成大量重做.

SELECT s.sid, s.serial#, s.username, s.program,
i.block_changes
FROM v$session s, v$sess_io i
WHERE s.sid = i.sid
ORDER BY 5 desc, 1, 2, 3, 4;

SID SERIAL# USERNAME PROGRAM BLOCK_CHANGES
---------- ---------- ------------------------------ ------------------------------------------------ -------------
331 393 SYS sqlplus@orastb.bonc.com.cn (TNS V1-V3) 210481
241 1 oracle@orastb.bonc.com.cn (SMON) 65308


2)法二 (針對正在執行事務redo生成量)
查詢V$TRANSACTION.此檢視包含有關事務資訊的撤銷塊和撤消記錄。(在 USED_UBLK and USED_UREC 中)

SELECT s.sid, s.serial#, s.username, s.program, 
t.used_ublk, t.used_urec
FROM v$session s, v$transaction t
WHERE s.taddr = t.addr
ORDER BY 5 desc, 6 desc, 1, 2, 3, 4;

SID SERIAL# USERNAME PROGRAM USED_UBLK USED_UREC
---------- ---------- ------------------------------ --------------------------------------- ----- -----
1 227 ANDY sqlplus@orastb.bonc.com.cn (TNS V1-V3) 37 2044

二、如何診斷過度的重做生成。


高 redo 通常分為兩類:
1。在一天的特定時間內。
2。存檔日誌的突然增加。
在這兩種情況下,首先要檢查的是資料庫級別上的任何修改(修改任何引數、執行的任何維護操作、..)和應用程式級別(部署新應用程式,修改程式碼,增加使用者,..)。
要知道高重做的確切原因,我們需要關於重做活動的資訊和負載的詳細資訊。以下資訊需要收集在高redo做生成期間。

1]要知道日誌切換的趨勢,可以使用以下查詢。
SQL> alter session set NLS_DATE_FORMAT='DD-MON-YYYY HH24:MI:SS';

SQL>select trunc(first_time, 'HH') , count(*)
from v$loghist
group by trunc(first_time, 'HH') 
order by trunc(first_time, 'HH');

TRUNC(FIRST_TIME,'HH COUNT(*)
-------------------- ----------
29-MAY-2008 13:00:00 126
29-MAY-2008 14:00:00 135 <- Indicate 135 log switches from 2-3 PM.
29-MAY-2008 15:00:00 112

-- 執行以下查詢,瞭解在任何特定時間生成高重做的會話
col program for a10
col username for a10
select to_char(sysdate,'hh24:mi'), username, program , a.sid, a.serial#, b.name, c.value
from v$session a, v$statname b, v$sesstat c
where b.STATISTIC# =c.STATISTIC#
and c.sid=a.sid and b.name like 'redo size%'
order by value;

 

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31383567/viewspace-2151802/,如需轉載,請註明出處,否則將追究法律責任。

相關文章