Таблицы x$ в Oracle

Есть такие «магические» (по выражению Тома Кайта) таблицы. Все они содержат определенную информацию о буферном кеше.

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