Есть такие «магические» (по выражению Тома Кайта) таблицы. Все они содержат определенную информацию о буферном кеше. X$BH - содержит информацию о заголовках буферов (всех размеров) в кэш-буфере.
X$KCBWBPD - информация о пулах ( V$BUFFER_POOL)
X$KCBWDS - информация о WS (Working Sets)
Можно построить цепочку: блок объекта (obj$) находится в буфере
(X$BH) – буфер находится в Working Sets (X$KCBWDS) - Working Sets
находится в пуле (X$KCBWBPD).
Это можно продемонстрировать с помощью запроса: select/*+ ordered */bp.name pool_name, ob.name object,ws.addr,sum(ct) blocks from
(select set_ds,obj, count(*) ct from x$bh group by set_ds, obj) bh,
obj$ ob,
x$kcbwds ws,
v$buffer_pool bp --X$KCBWBPD
where ob.dataobj# = bh.obj and ob.owner# > 0 and bh.set_ds = ws.addr and ws.set_id between bp.lo_setid and bp.hi_setid and bp.buffers != 0
group by bp.name,ob.name, ws.addr
Состояние буферов:
select decode(state, 0, 'Free', 1, 'Modified', 2, 'Not Modified',
3, 'Being Read', 'Other') State, count(*) cnt
from sys.x$bh group by state;
-------------------------------
По вопросам конкуренции:
V$LOCK
V$UNDOSTAT
V$WAITSTAT
V$LATCH
По вопросам памяти:
V$BUFFER_POOL_STATISTICS
V$LIBRARYCACHE
V$SGAINFO
V$PGASTAT
По вопросам о работе экземпляра:
V$DATABASE
V$INSTANCE
V$PARAMETER
V$SPPARAMETER
V$SYSTEM_PARAMETER
V$PROCESS
V$BGPROCESS
V$PX_PROCESS_SYSSTAT
V$SYSTEM_EVENT
По вопросам работы с дисками:
V$DATAFILE
V$FILESTAT
V$LOG
V$LOG_HISTORY
V$DBFILE
V$TEMPFILE
V$TEMPSEG_USAGE
V$SEGMENT_STATISTICS
|