墨墨导读:某客户执行一个Select全表扫,产生大量Redo,需要分析原因。一般延迟块清除导致Select产生Redo,但这个案例中并不是延迟块清除的原因。
分析过程
1、在SELECT执行前保存该session的v$sesstat数据
select ses.sid, sn.name, ses.valuefrom v$sesstat ses, v$statname snwhere sn.statistic# = ses.statistic#and ses.sid in (2657)and value>0;
2、执行产生REDO的SELECT
可以看到
Statistics---------------------------------------------------------- 0 recursive calls 0 db block gets 864313 consistent gets 805988 physical reads 23,439,672 redo size <<<< 535 bytes sent via SQL*Net to client 520 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 0 sorts (mem