$$$CHAN

Назначение

Системная таблица $$$CHAN предназначена для хранения информации о состоянии каналов (соединений) с БД. Таблица $$$CHAN является виртуальной, т.е. ее описание отсутствует в схеме БД ЛИНТЕР. Она создается при запуске ядра СУБД ЛИНТЕР и хранится в оперативной памяти до завершения работы с ядром. Доступ к таблице возможен только на выборку данных через SELECT-запрос. Владельцем таблицы является пользователь LINTER_SYSTEM_USER, поэтому, если запрос подается от имени другого пользователя, необходимо указывать полное имя таблицы: LINTER_SYSTEM_USER.$$$CHAN.

Схема таблицы

Схема таблицы $$$CHAN приведена в таблице 10.

Таблица 10. Схема таблицы $$$CHAN
Имя столбцаТип данныхСодержание
CHANNELint

Номер канала.

USERNAMEchar(66)

Имя пользователя, открывшего канал.

STATUSchar(5)

Состояние канала (таблица 11).

CONCURRENCYchar(18)

Режим обработки транзакций:

  • Optimistic (оптимистическая стратегия работы);

    Примечание

    Режим OPTIMISTIC устарел (использовать не рекомендуется).

  • Pessimistic (пессимистическая стратегия работы);

  • Autocommit (автоматическая фиксация).

LAST_REQUESTchar(40)

Последний выполненный (или выполняемый сейчас) запрос (таблица 12).

CODERint

Код завершения последнего запроса.

NET_PROTOCOLchar(10)

Название сетевого протокола:

  • TCP/IP;

  • TCP/IPS;

  • TLS;

  • LOCAL;

  • LOCALS;

  • LASSP;

  • ATCP/IP;

  • ATCP/IPS;

  • REZ.

OPERATIONAL_SYSTEMchar(18)

Имя ОС:

  • "";

  • OS_UNIX;

  • UNIXWARE;

  • USIX;

  • FREEBSD;

  • LINUX;

  • UNIXSCO;

  • SINIX;

  • MCBC;

  • MCBT;

  • MSDOS;

  • Windows v3.XX;

  • Windows 95;

  • Windows NT;

  • OS9;

  • OS9000;

  • VMS;

  • NETWARE;

  • IBM;

  • OS/2;

  • QNX;

  • DigitalUNIX;

  • SPARC Solaris;

  • i386 Solaris;

  • AIX;

  • IRIX;

  • VXWORKS;

  • WINCE.

CLIENT_PIDint

Идентификатор задачи, через которую идёт взаимодействие с ядром (сетевой сервер или прикладная задача).

CLIENT_SOCKETint

Сетевой socket драйвера-клиента.

SERVER_SOCKETint

Сетевой socket драйвера-сервера.

NETWORK_ADDRESSchar(22)

Сетевой адрес, с которого открыт канал.

SERVER_PIDint

Идентификатор задачи, открывшей канал.

LOCKED_BYint

Номер канала, которым заблокирован ресурс, ожидаемый данным каналом.

OPEN_TIMEdate

Дата и время открытия канала.

LAST_REQUEST_TIMEdate

Дата и время последнего запроса по каналу.

PROCESSING_STAGEchar(40)

Стадия обработки запроса (таблица 13).

CHARACTER_SETchar(66)

Кодовая страница канала.

LOCKED_TABLEint

Идентификатор заблокированной другим каналом таблицы, разблокировку которой ожидает текущий канал.

TRANSACTIONS_COUNTbigint

Количество обработанных транзакций.

READ_BLOCKSbigint

Количество считанных физических блоков данных.

WRITE_BLOCKSbigint

Количество записанных физических блоков данных.

READ_LOGICAL_BLOCKSbigint

Количество считанных логических блоков данных.

WRITE_LOGICAL_BLOCKSbigint

Количество записанных логических блоков данных.

SELECT_COUNTbigint

Количество обработанных SELECT-запросов.

SESSIONIDbigint

Уникальный идентификатор сессии.

PARENT_CHANNELint

Идентификатор родительского канала.

BASE_PRIORITYint

Приоритет канала.

QUERY_PRIORITYint

Приоритет текущего запроса.

CURRENT_PRIORITYint

Приоритет текущего кванта.

LOG_CONTROL_POINTbyte(8)

Адрес (по 4 байта – номер файла и адрес в файле) начала транзакции для канала в системном журнале (ноль, если транзакции нет).

Примечание

На MSBF-платформах байты располагаются в обратном порядке.

TRANSACTION_STARTdate

Время начала транзакции по Гринвичу (первой обновляющей базу операции), если по каналу есть какие-либо незакоммиченные изменения, в противном случае нулевое время.


Таблица 11. Фиксируемые состояния канала
Идентификатор состояния Состояние канала

' '

Канал свободен.

IDLE

Канал открыт, но в данный момент простаивает.

BUSY

По каналу выполняется запрос.

EVENT

Канал ожидает события.

WAIT

Канал ожидает разблокировки ресурса.

CLEAR

Канал находится в состоянии очистки.

DEBUG

Канал находится в состоянии отладки процедуры.

PAUSE

Выполнение запроса по каналу приостановлено.

USED

Канал уже закрыт, но транзакция, которой он принадлежит, ещё не завершена.

OLTP

Канал ожидает ответа OLTP.


Таблица 12. Идентификация запросов

Идентификатор запроса

Запрос

ADD BLOB

Добавление BLOB-данных.

ADD BLOB FILE

Добавление BLOB-файла.

ADD CHECK

Добавление ограничения CHECK для таблицы.

ADD COLUMN CHECK

Добавление ограничения CHECK для столбца.

ADD COLUMNS

Добавление столбца.

ADD DATA FILE

Добавление файла данных таблицы.

ADD FOREIGN KEY

Добавление внешнего ключа.

ADD INDEX FILE

Добавление индексного файла таблицы.

ADD PRIMARY KEY

Добавление первичного ключа.

ADD UNIQUE

Добавление уникального ключа.

ALTER COLUMN ADD RANGE

Модификация диапазона значений столбца.

ALTER COLUMN SIZE

Изменение размера столбца.

ALTER DEVICE

Модификация устройства.

ALTER FILTER SET MODULE

Модификация фильтра.

ALTER GROUP

Модификация группы.

ALTER LEVEL

Модификация уровня доступа.

ALTER PHRASE INDEX

Модификация фразового индекса.

ALTER PROCEDURE

Модификация процедуры.

ALTER REPLICATION

Модификация правила репликации.

ALTER SEQUENCE

Модификация последовательности.

ALTER STATION

Модификация станции.

ALTER TABLE [NOT] [IN-MEMORY]

Модификация таблицы «в памяти».

ALTER TABLE RENAME INDEX

Переименование индекса.

ALTER TRIGGER

Модификация триггера.

ALTER USER

Изменение регистрационных данных пользователя.

AUDIT

Выполнение аудита.

AUDIT START

Запуск подсистемы аудита.

AUDIT STOP

Останов подсистемы аудита.

BACKUP

Выполняется архивирование БД.

CANCEL DEFAULT FILTER FOR COLUMN

Отмена фильтра по умолчанию для столбца

CANCEL DEFAULT FILTER FOR EXTENSION

Отмена фильтра по умолчанию для таблицы.

CLEAR BLOB

Удаление BLOB-данных.

CLEAR EVENT

Отмена события.

COMMIT

Подтверждение транзакции.

CREATE ALIAS

Создание алиаса.

CREATE CHARACTER SET

Создание кодовой страницы.

CREATE COMPOSITE INDEX

Создание составного индекса.

CREATE DEVICE

Создание устройства.

CREATE EVENT

Создание события.

CREATE FILTER

Создание фильтра.

CREATE GROUP

Создание группы.

CREATE INDEX

Создание индекса.

CREATE LEVEL

Создание уровня доступа.

CREATE NODE

Создание узла.

CREATE PHRASE INDEX

Создание фразового индекса.

CREATE PROCEDURE

Создание процедуры.

CREATE REPLICATION

Создание правила репликации.

CREATE ROLE

Создание роли.

CREATE SEQUENCE

Создание последовательности.

CREATE STATION

Создание станции.

CREATE SYNONYM

Создание синонима.

CREATE TABLE

Создание таблицы.

CREATE TEMPORARY INDEX

Создание временного индекса.

CREATE TRANSLATION

Создание правила трансляции.

CREATE TRIGGER

Создание триггера.

CREATE VIEW

Создание представления.

DEBUG PROCEDURE

Выполняется отладка процедуры.

DELETE

Удаление данных.

DELETE POSITIONED

Позиционное удаление данных.

DISABLE NULL

Запрещение использования NULL-значений.

DROP ALIAS

Удаление алиаса.

DROP BLOB FILE

Удаление BLOB-файла.

DROP CHARACTER SET

Удаление кодовой страницы.

DROP CHECK

Удаление ограничения CHECK для таблицы.

DROP COLUMN CHECK

Удаление ограничения CHECK для столбца.

DROP COMPOSITE INDEX

Удаление составного индекса.

DROP DATA FILE

Удаление файла данных таблицы.

DROP DEFAULT

Удаление кодировки по умолчанию.

DROP DESCRIPTION

Удаление описания кодировки.

DROP DEVICE

Удаление устройства.

DROP EVENT

Удаление события.

DROP FILTER

Удаление фильтра.

DROP FOREIGN KEY

Удаление внешнего ключа.

DROP INDEX

Удаление индекса.

DROP INDEX FILE

Удаление индексного файла таблицы.

DROP NODE

Удаление узла.

DROP PHRASE INDEX

Удаление фразового индекса.

DROP PRIMARY KEY

Удаление первичного ключа.

DROP PROCEDURE

Удаление процедуры.

DROP REPLICATION

Удаление правила репликации.

DROP ROLE

Удаление роли.

DROP SEQUENCE

Удаление последовательности.

DROP STATION

Удаление станции.

DROP TABLE

Удаление таблицы.

DROP TRANSLATION

Удаление правила трансляции.

DROP TRIGGER

Удаление триггера.

DROP UNIQUE

Удаление уникального ключа.

ENABLE NULL

Разрешение на использование NULL-значений.

END APPEND

Завершение пакетной обработки данных.

EXECUTE PROCEDURE

Выполнение процедуры.

GET COMPOSITE EVENT

Проверка сложного события.

GET EVENT

Проверка простого события.

GET FIRST ROW

Получение первой строки запроса выборки.

GET LAST ROW

Получение последней строки запроса выборки.

GET LINTER DUMP

Получение дампа.

GET NEXT ROW

Получение следующей строки запроса выборки.

GET PREVIOUS ROW

Получение предыдущей строки запроса выборки.

GET SEVERAL ROWS

Получение пакета данных (строк).

GET SPECIFIED ROW

Получение заданной строки запроса выборки.

GRANT DEVICE ACCESS

Назначение прав доступа к устройству.

GRANT GROUP ACCESS

Назначение прав доступа группе.

GRANT PROCEDURE

Назначение прав доступа к процедуре.

GRANT ROLE

Назначение привилегий роли.

GRANT STATION ACCESS

Назначение прав доступа к станции.

GRANT USER

Назначение привилегий пользователю.

GRANT: 1 form

Создание пользователя (CREATE USER).

GRANT: 2 form

Назначение привилегий (GRANT).

INSERT

Добавление данных.

LOCK TABLE

Блокирование таблицы.

MODIFY BLOB FILE

Модификация BLOB-файла таблицы.

MODIFY DATA FILE

Модификация файла данных таблицы.

MODIFY INDEX FILE

Модификация индексного файла таблицы.

PRESS TABLE

Сжатие таблицы.

PUT SEVERAL ROWS

Добавление пакета данных (строк).

REBUILD PHRASE INDEX

Перестройка фразового индекса.

REBUILD TABLE

Перестройка таблицы.

RENAME COLUMN

Переименование столбца.

RENAME TABLE

Переименование таблицы.

RESTORE TABLE

Восстановление таблицы «в памяти».

REVOKE DEVICE ACCESS

Отмена прав доступа к устройству.

REVOKE GROUP ACCESS

Отмена прав доступа группы.

REVOKE PROCEDURE

Отмена прав доступа к процедуре.

REVOKE ROLE

Отмена привилегий роли.

REVOKE STATION ACCESS

Отмена прав доступа к станции.

REVOKE USER

Отмена привилегий пользователю.

REVOKE: 1 form

Удаление пользователя (DROP USER).

REVOKE: 2 form

Отмена привилегий (REVOKE).

ROLLBACK

Откат транзакции.

SAVE TABLE

Сохранение таблицы «в памяти».

SELECT

Выборка данных.

SET COLUMN LEVEL

Назначение уровня доступа столбцу.

SET CONNECTION GEODATA VALIDITY

Задание режима ввода графических данных для отдельного соединения.

SET CONSTRAINTS ALL DEFERRED|IMMEDIATE

Управление режимом проверки ограничения целостности.

SET DATABASE DEFAULT CHARACTER SET

Установка кодовой страницы по умолчанию для БД.

SET DATABASE GEODATA VALIDITY

Задание режима ввода графических данных для всей БД.

SET DATABASE GEODATA VALIDITY CHECKING

Управление проверкой корректности геометрических данных для всей БД.

SET DATABASE NAMES

Установка кодировки БД по умолчанию.

SET DATABASE QUANTUM

Назначение параметров квантования для БД.

SET DEFAULT

Установка пользовательской кодировки по умолчанию.

SET DEFAULT FILTER FOR COLUMN

Назначение фильтра по умолчанию для столбца.

SET DEFAULT FILTER FOR EXTENSION

Назначение фильтра по умолчанию для таблицы.

SET DESCRIPTION

Создание описания кодировки.

SET EVENT

Установка события.

SET INDEX QUANT

Управление обработкой индексированных столбцов.

SET ISOLATION LEVEL

Установка уровня изоляции транзакции.

SET LOG

Установка режима протоколирования.

SET NAMES

Установка кодировки по умолчанию для соединения.

SET OPTIMIZATION ENABLE|DISABLE

Управление режимом оптимизации.

SET PRIORITY

Установка приоритета канала.

SET QUANT TIMEOUT

Задание максимальной длительности выполнения запросов для конкретного пользователя.

SET READ ONLY

Установка режима доступа к БД «только чтение»

SET RECORD SIZE LIMIT

Ограничение длины записи.

SET ROW QUANT

Управление обработкой сканируемых при выборке столбцов.

SET SAVEPOINT

Создание контрольной точки транзакции.

SET SESSION BLOB LOG

Управление логированием BLOB-данных.

SET SESSION DEFAULT SECURITY

Задание параметров мандатного доступа для соединения.

SET SESSION PROCEDORE EXECUTE

Управление выполнением процедуры: от имени владельца или от имени текущего пользователя.

SET SESSION QUANTUM

Назначение параметров квантования для сессии.

SET SESSION QUANT TIMEOUT

Задание максимальной длительности выполнения запросов в сессии.

SET SORTPOOL LIMIT|UNLIMITED

Управление размером файла сортировки.

SET TABLE LEVEL

Назначение мандатного уровня доступа таблицы.

SET TRANSACTION READ WRITE

Управление режимом транзакции.

SET TRUE COMMIT

Управление режимом ядра.

SET WORKSPACE LIMIT

Ограничение рабочего пространства.

START APPEND

Начало пакетной обработки данных.

SYNCHRONIZE RULE

Создание правила синхронизации.

TEST INTERNAL DATA

Проверка системных очередей.

TEST TABLE

Проверка структуры и данных таблицы.

TRUNCATE TABLE

Усечение таблицы.

UNLOCK TABLE

Разблокирование таблицы.

UPDATE

Модификация данных.

UPDATE POSITIONED

Позиционная модификация данных.

WAIT COMPOSITE EVENT

Ожидание сложного события.

WAIT EVENT

Ожидание простого события.


Таблица 13. Стадии обработки запроса
Идентификация стадииСтадия обработки

COMPILING STORED PROCEDURE

Компилируется процедура или триггер.

COMPILING QUERY

Компилируется запрос или ожидание компиляции.

PREPARING DATA FOR SORTING

Данные готовятся для сортировки (в файле сортировки).

RECEIVING DATA AFTER SORTING

Данные извлекаются из файла сортировки после сортировки.

SORTING DATA

Выполняется сортировка данных.

WAITING FOR FREE SORTING CHANNEL

Ожидается свободный канал для сортировки.

WAITING FOR SORTING FILE CREATION

Готовятся данные для сортировки (подсостояние).

EXECUTING STORED PROCEDURE

Исполняется процедура.

EXECUTING TRIGGER

Исполняется триггер.

EXECUTING FUNCTION

Исполняется хранимая функция.

APPENDING DATA TO INDEX

Массовое добавление данных в индекс (не используется).

PROCESSING ONE-VARIABLE PREDICATES

Обрабатывается однопеременный предикат (при выполнении запроса).

PROCESSING MULTI-VARIABLE PREDICATES

Обрабатывается многопеременный предикат (при выполнении запроса).

DECOMPOSING QUERY

Обрабатывается запрос.

PROCESSING REQUEST

Любое другое состояние (если канал занят и используется).