E-mail:
Пароль:
Забыли пароль?

Ключи протоколирования работы ядра СУБД

 
/NOOUTFILE

Запрещает печать сообщений в файл linter.out (протокол работы СУБД).

По умолчанию файл linter.out создается.

Примечание

Структура файла linter.out описана в приложении 2.

 

/NOOUTPUT

Запрещает вывод в консольное окно информации о работе ядра СУБД.

 

/OUTFLIMIT=<размер>

Задает размер файла сообщений ядра СУБД (linter.out) в страницах по 4 Кбайт. По умолчанию размер файла неограничен.

Если в процессе работы размер файла linter.out превысит заданный размер, то он будет переименован в файл linter.ou1. После этого информация будет записываться в пустой файл linter.out. Т.е. в процессе работы СУБД могут существовать только два файла – linter.out и linter.ou1.

Примечание

Структура файла linter.out описана в приложении 2.

 

/LOGFLIMIT=<размер>

 

/TRACEFLIMIT=<размер>

Задают допустимые размеры файлов linter.log и lintrace.log соответственно. <Размер> задается в блоках по 4 Кб. Задание размеров файлов приводит к тому, что перед проверкой ограничений пользователей осуществляется проверка размера файлов linter.log и lintrace.log. Если их размер превышает заданные границы, вся информация из текущих файлов linter.log и lintrace.log копируется в файлы с маской linter_YYYYMMDDHH24MISS.log и lintrace_YYYYMMDDHH24MISS.log, где YYYY – год, MM – месяц, DD – день, HH24 – час, MI – минуты, SS – секунды.

Вслед за этим открываются пустые файлы с именами linter.log и lintrace.log, и работа продолжается в обычном режиме вплоть до очередной проверки.

  

/[NO]LOG

Ключ /NOLOG – запрещает, ключ /LOG – разрешает вести протокол обработки SQL-запросов клиентских приложений (файл linter.log).

Если при запуске ядра ЛИНТЕР задан ключ /LOG, то ведется «краткий» протокол обработки запросов: текст SQL-запроса, количество ответов, код возврата.

По умолчанию /NOLOG.

 

/LOGQUERY

Задает режим протоколирования обработки SQL-запросов клиентских приложений в файле linter.log.

Примечание

Структура файла linter.log описана в приложении 1.

 

/LOGALL

Задает режим полного протоколирования обработки SQL-запросов клиентских приложений в файле linter.log. В этом режиме в файл протокола заносится дополнительная информация: время выполнения команды, сетевой адрес, идентификаторы процесса и нити, пославшие запрос, и др.

 

/TRACE=DECOMP{[=FULL]|=DELAY[=<тики>]}
| CHTRAN[=NOFLUSH]
| KRB
| LOCK[=LEVEL={0|1|2|3}|[TIME]]
| LOGIO[=([DEF|COMMT|ABSADR|PREPADR|HEX|BLOCK
|REC|STRUCT|DATA=<значение>|LEVEL=<значение>][, …])]
| LOGSYS
| WRT
| KANCHN
| SORT[=TIME]
| WRBL[=READ]

Задает различные режимы трассировки обрабатываемых SQL-запросов в трассировочный файл lintrace.log (размещается в каталоге БД).

Конструкция DECOMP задает режим трассировки общей информации об обрабатываемом запросе. По умолчанию выполняется краткая трассировка.

Для получения более полной информации надо указывать опцию FULL.

Трассировка содержит следующую информацию:

  • текст SQL-запроса, переданный на обработку ядру СУБД ЛИНТЕР (после его оптимизации SQL-транслятором);

  • какие массивы данных (бит-вектора) были задействованы при обработке SQL-запроса. Используемые массивы влияют на время выполнения запроса;

  • количество считанных/записанных блоков данных (физических/логических);

  • количество считанных/записанных блоков системного журнала.

Пример трассировочной информации

C#4
QUERY:
SELECT
T_0."MSG"
FROM
<TABLE "SYSTEM"."ERRORS" AS T_0>
WHERE
T_0."NMRERR" == 1503;
C#4 DECOMP.C (Start_Cur_Dec): Now computing derived set #0.
C#4 OBRSTRAT.C (OBRSTRAT): Start set: TABLE("SYSTEM"."ERRORS" AS
T_0). Set included 1022 rows.
List of predicates:
Predicate [strategy #2(one index)]:
T_0."NMRERR" == 1503
C#4 DECOMP.C (End_Dekart): Derived set #0 is computed, Rows count:
1.
C#4 FORMOTW.C (FORMOTW): Read: 0 blocks, write: 0 blocks.
C#4 FORMOTW.C (FORMOTW): Read logical: 4 blocks, write logical: 0
blocks.
C#4 FORMOTW.C (FORMOTW): Journal read: 0 blocks, written: 0 blocks.
            

Конструкция DECOMP=DELAY=<тики> задает режим трассировки задержек длительности выполнения отдельных квантов ядра СУБД на время, не меньшее указанного в параметре <тики>. По умолчанию трассируются задержки не менее 100 тиков (0.1 секунды).

Пример трассировочной информации

C#3 OBRSTRAT.C (OBRSTRAT): Start set: TABLE("SYSTEM"."LINEITEM"
AS T_1). Set included 6001215 rows.
List of predicates:
Predicate [strategy #1(full scan)]:
T_1."L_SHIPDATE" > '15.03.2013:00:00:00:00'
C#3 PROZA.C (PROZA): Strategy: #1(full scan).
C#3 Delay for 1.87 sec
C#3 Delay for 0.35 sec
C#3 RIDSTRAT.C (RIDSTRAT): Snap_Bv: 3241776 rows.
            

Конструкция CHTRAN задает режим трассировки информации об обрабатываемых транзакциях. В этом режиме выполняется трассирование операций open/ocur/clos/kill/ckil/comt/rbас интерфейса нижнего уровня, а также SQL-запросов COMMIT и ROLLBACK.

Для повышения производительности СУБД предусмотрена опция NOFLUSH. При ее задании трассировочная информация предварительно накапливается в оперативной памяти и записывается в файл lintrace.log в соответствии с настройками ОС (по мере вытеснения буфера файла на диск).

Пример трассировочной информации

C#5 OPEN: E=0: M=MVCC_OO
C#6 OCUR: E=0: M=MVCC_RC|MVCC_AUTOCOMMIT: EX=5
C#6 CLOS: E=0
C#5 COMT: E=0: M=MVCC_OO: S=JOURNAL_OPER_EXIST
C#5 TRID: E=0: T=23.09.2014 15:13:51.44: ID=410: M=MVCC_OO:
S=Open_exist|Tr_exist|WRT_OPTIMISTIC_EXIST
C#5 COMT: E=0: T=23.09.2014 15:13:51.44: ID=410: M=MVCC_OO:
S=Open_exist|JOURNAL_OPER_EXIST
C#5 CLOS: E=0
            

Конструкция KRB задает режим трассировки информации, формируемой Kerberos-сервером.

Пример трассировочной информации

Данный пример приведен для имени сервиса LINTER/srv.example.net, имени аутентифицирующегося пользователя test, домена EXAMPLE.NET и компьютера, на котором запущено ядро СУБД ЛИНТЕР, с именем srv.example.net.

security.dll was loaded
Use service name LINTER/srv.example.net
QuerySecurityPackageInfo status 0x0
AcceptSecurityContext status 0x0
User from ticket: 'test@EXAMPLE.NET'
Service: 'LINTER/srv.example.net@EXAMPLE.NET'
QuerySecurityContextToken status 0x0
KRB user name test
            

На клиенте был заранее получен тикет для пользователя test.

Mj и Mi – результат выполнения функции.

Конструкция LOCK добавляет вывод информации о заблокированных таблицах и запросах, вызвавших конфликты.

Опция LEVEL задает дополнительный уровень выдаваемой информации о блокировках. Поддерживаются следующие уровни выдаваемой информации о блокировках:

  • LEVEL=0 – выдает в lintrace.log информацию об ошибках;

  • LEVEL=1 – дополнительно выдает в lintrace.log информацию о блокировках таблиц (в том числе и тех, которые не вызывают конфликты блокировок);

  • LEVEL=2 – дополнительно выдает в lintrace.log информацию о блокировках групп записей;

  • LEVEL=3 – дополнительно выдает в lintrace.log информацию о блокировках отдельных записей.

Опция TIME выводит время для каждого сообщения (по умолчанию не выводится).

Пример трассировочной информации

TRACELOCK: PAUSE CHANNEL 6 by channel 8
Locked table: "T2"

C#6 QUERY:.
UPDATE.
<TABLE "SYSTEM"."T2" AS T_0>
SET.
T_0."I" = {(T_0."I")(1) <+> };
TRACELOCK: Found DEADLOCK. Channel 6 tries to pause channel 8.
Table to be locked: "T1"

C#8 QUERY:.
UPDATE.
<TABLE "SYSTEM"."T1" AS T_0>
SET.
T_0."I" = {(T_0."I")(1) <+> };
TRACELOCK: UNLOCK CHANNEL 6 paused by channel 8

Конструкция LOGIO (опции DEF, COMMT, ABSADR, PREPADR, HEX, BLOCK, REC, STRUCT, DATA, LEVEL) задает режим трассировки записи/чтения системного журнала.

Опция DEF задает установки по умолчанию (действует также, если задано /TRACE=LOGIO без опций).

Опция COMMT по умолчанию отключена. Устаревшая опция, в текущей версии не используется.

Опции ABSADR и PREPADR по умолчанию включены. Задают вывод журнальных адресов в дополнение к трассировке.

Опция HEX по умолчанию отключена. Задает вывод журнального адреса в шестнадцатеричном виде, иначе в десятичном.

Опция BLOCK по умолчанию включена. Задает вывод информации об операциях с журнальными блоками.

Опция REC по умолчанию включена. Задает вывод информации на уровне записей в журнале.

Опция STRUCT по умолчанию включена. Задает вывод информации о структуре журнальных записей.

Опция DATA по умолчанию имеет значение 24. Задает вывод буферов данных (выводится не более указанного числа байт).

Опция LEVEL по умолчанию имеет значение 3. Задает начальный уровень трассировки, который влияет на вывод или подавление вывода той или иной журнальной информации, этот уровень увеличивается и уменьшается в процессе работы.

Конструкция LOGSYS задает режим трассировки сброса системного журнала на диск.

Конструкция WRT задает режим трассировки операций нити сброса страниц на диск.

Конструкция KANCHN задает режим трассировки изменения количества активных каналов.

Конструкция SORT задает режим трассировки обмена с процессами сортировки, опция TIME выводит время для каждого обмена (по умолчанию не выводится).

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

Опция READ задает режим трассировки чтения страниц (по умолчанию только запись страниц).

 

/TRACELOG

Задает вывод в файл linter.out диагностических сообщений об открытии и закрытии соединения с БД (с полной информацией об источнике команды) и ошибок выполнения запросов по соединениям.

 

/PROCPRINT

Разрешает хранимым процедурам выводить:

  • на консоль ядра СУБД ЛИНТЕР сообщения процедурной функции PRINT.

    Сообщение выводится в виде:

    «*** Message from Stored Procedure: <текст сообщения>»

    По умолчанию выполнение функции PRINT игнорируется.

  • на консоль ядра СУБД ЛИНТЕР и в файл протоколирования linter.out информацию об исключениях. Если хранимая процедура оттранслирована с отладкой, то выдается номер ошибочной строки в процедуре.

    Примеры вывода.

    Exception DIVZERO caught in procedure "TEST" line 2, processed
    Exception 903 caught in procedure "AAA" line 8, processed
    Exception CUSTOM (1) caught in procedure "TEST", processed
    Exception 905 caught in procedure "Trigger # 47#" line 3, processed
    Exception BADPARAM caught in procedure "TEST3" line 2, resignaled
    Exception DIVZERO caught in procedure "TEST", ignored

    Не протоколируются те исключения, которые игнорируются автоматически (без явной конструкции IGNORE).

 

/NOERRDIALOG

Запрещает отображать диалоговые окна с диагностическими сообщениями об ошибках запуска ядра СУБД, направляя эти сообщения на консоль ядра СУБД.

 

/PIDFILE=<файл>

Задает имя файла, в который будет записан Pid ядра СУБД. В случае корректного завершения работы СУБД этот файл удаляется.

Заметили ошибку?
Выделите текст и нажмите Ctrl + Enter
ѕрокрутить вверх