Динамические x$ таблицы Oracle
Сервер Oracle поддерживает набор «таблиц» низкого уровня, имя которых начинается с префикса X$.Такие таблицы часто называют динамическими X$ таблицами, так как информация в них постоянно обновляется.
По сути X$ таблицы не являются таблицами в нормальном понимании этого слова. Они представляют собой лишь промежуточный табличный интерфейс к внутренним структурам памяти, которые Oracle повсеместно использует в своей работе. Доступ к содержимому этих структур организован в виде таблиц, и может осуществляться через оператор SELECT.
Большинство названий X$ таблиц следуют строгому правилу именования, где первые буквы имени после префикса представляют собой слой или модуль в ядре Oracle. Именно по этому сочетанию имени часто можно определить, к которому типу относится информация, содержащаяся в конкретной X$ таблице. Список X$ таблиц в каждом релизе Oracle фиксирован. Получить его для текущей базы данных, можно через запрос к динамическому представлению V$FIXED_TABLE.
Описание столбцов X$ таблиц можно получить через команду DESCRIBE утилиты SQLPlus, или через запрос к динамической таблице X$KQFCO, где перечислены столбцы всех динамических X$ таблиц.
Доступ к X$ таблицам в Oracle имеет только пользователь SYS.
X$BH
Содержит структуры заголовков буферов буферного кэша.
X$KCCAL
Содержит структуры включающие информацию об архивных журналах. Первоначальные данные берутся из контрольного файла.
X$KGLLK
Содержит все структуры блокировок библиотечного кэша.
X$KGLPN
Содержит все структуры закреплений в библиотечном кэше.
X$KGLOB
Содержит все структуры ресурсов в библиотечном кэше.
X$KSMFS
Содержит структуры включающие размер фиксированной области SGA. Так же в таблице дополнительно содержится размер буферного и журнального кэша.
X$KSMFSV
Содержит внешнее имя, тип, адрес и размер всех переменных в фиксированной области SGA.
X$KSMJS
Содержит суммарный размер Java пула.
X$KSMDD
Содержит структуры заголовков сегментированных массивов. Сегментированный массив используется для хранения объектов, таких как, например блокировки и транзакции.
X$KSMHP
Содержит структуры описывающие chunks (участки памяти) в подкучах (subheaps). Некоторые кучи памяти могут иметь так называемые подкучи, которые состоят из одного или нескольких экстентов.
X$KSMSP
Содержит структуры описывающие chunks (участки памяти) в разделяемом пуле.
X$KSMSPR
Содержит структуры описывающие chunks (участки памяти) в резервной области разделяемого пула.
X$KSPPI
Содержит структуры включающие название и описание параметров инициализации (включая скрытые).
X$KSMLRU
Содержит структуры содержащие информацию о выделениях chunks в разделяемом пуле по причине устаревания объектов. Объекты хранятся и очищаются на основании алгоритма LRU.Запрос к этой таблице можно сделать только один раз. Последующий запрос не возвращает строк.