Oracle mechanics

11.12.2013

Доля чтений UNDO блоков

Filed under: commonplace,Диагностика системы (instance),Oracle — Игорь Усольцев @ 23:01
Tags: ,

Учитывая удовлетворительную точность определения чтения undo блоков по условию v$active_session_history.current_obj#=0:

SQL> with ash as
  2   (select * from gv$active_session_history),
  3  undo_files as
  4   (select file_id from dba_data_files
  5     where tablespace_name in
  6           (select tablespace_name from dba_tablespaces where contents = 'UNDO')),
  7  ash_undo_reads as
  8   (select count(*) cnt
  9      from ash
 10     where p1text = 'file#'
 11       and session_state = 'WAITING'
 12       and p1 in (select file_id from undo_files)),
 13  ash_obj_0_reads as
 14   (select count(*) cnt
 15      from ash
 16     where p1text = 'file#'
 17       and session_state = 'WAITING'
 18       and current_obj# = 0)
 19  select to_char(abs(ash_obj_0_reads.cnt / ash_undo_reads.cnt - 1) * 100, '999.00') || '%' as "CURRENT_OBJ#=0 / UNDO accuracy"
 20    from ash_undo_reads, ash_obj_0_reads
 21  /

 

CURRENT_OBJ#=0 / UNDO accuracy
------------------------------
    .23%

, можно оценить долю чтений undo относительно всех чтений дата файлов:

SQL> with ash as
  2   (select /*+ MATERIALIZE*/ * from gv$active_session_history)
  3  select event,
  4         decode(current_obj#, 0, 'Undo', 'Data File') as block_type,
  5         count(*),
  6         to_char((RATIO_TO_REPORT(count(*)) over(partition by event)) * 100, '999.00') as pct
  7    from ash
  8   where p1text = 'file#'
  9     and session_state = 'WAITING'
 10     and wait_class = 'User I/O'
 11     and event not like 'direct path % temp' -- sometimes current_obj# = 0
 12   group by event, decode(current_obj#, 0, 'Undo', 'Data File')
 13   order by count(*) desc
 14  /

 

EVENT                                                            BLOCK_TYPE   COUNT(*) PCT
---------------------------------------------------------------- ---------- ---------- -------
db file sequential read                                          Data File       77406   95.63
db file scattered read                                           Data File       30981  100.00
read by other session                                            Data File        5446   99.96
db file sequential read                                          Undo             3536    4.37
read by other session                                            Undo                2     .04

и не надеяться (или надеяться), что перемещение undo табличных пространств на быстрые носители даст заметный профит в общей производительности

Добавить комментарий »

Комментариев нет.

RSS feed for comments on this post.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

Создайте бесплатный сайт или блог на WordPress.com.

%d такие блоггеры, как: