
Сбор диагностических данных
Устранения неполадок с помощью сбора диагностических данных OpenEdge от ~bashkat на RUTUBE
Сбор диагностических данных позволяет сохранять ценную информацию при возникновении определённых событий. Эти данные могут быть использованы для анализа первопричин события. Практически все аспекты данной функции настраиваются, включая выбор событий для сбора данных, объём собираемых данных и формат их представления.
События
Сбор диагностических данных осуществляется при возникновении инициирующего события. Инициирующее событие для целей сбора диагностических данных может быть одним из следующих:
- Переполнение таблицы локировок
- Рост Before-Image
- Системные ошибки и/или сбои
В процессе работы все события фиксируются в специальном журнале, который ведёт учёт диагностических событий. Каждая запись в журнале уникальна и позволяет сопоставить идентификатор события с выходным каталогом, где хранятся дополнительные диагностические данные.
Для каждого инициирующего события обеспечивается корректное хранение и оформление данных. Объём собранных данных зависит от уровня события. Форматы выходных файлов описаны в соответствующем разделе.
Инициирующие события также предоставляют возможность оповещения и запуска внешнего исполняемого файла. Этот файл может быть использован администратором базы данных для дополнительного сбора или обработки данных.
Кроме того, администратор базы данных может настроить паузу перед обработкой события, чтобы выполнить дополнительные ручные операции.
Указание события
Инициирующие события можно указать в параметрах запуска сервера, а также изменить во время работы с помощью PROMON или путем редактирования файла VST _dbParams.
Для указания инициирующего события при запуске используется параметр -diagEvent. Параметр
-diagEvent принимает строку символов, состоящую из ключевых слов, разделенных запятыми, а также уровень сбора данных.
В качестве стандартных ключевых слов для -diagEvent используются:
- locktable
- bithold
- syserr
Вы определяете степень детализации данных, добавляя к событию параметр :n. Возможные значения параметра :n находятся в диапазоне от -15 до 15.
В этом примере показано, как можно указать события locktable и syserr:
-diagEvent locktable:3,syserr:-15
В случае отсутствия указания степени детализации, применяется значение, заданное параметром
-diagEvtLevel. По умолчанию параметр -diagEvtLevel имеет значение 0, что означает отсутствие сбора данных для данного события.
Уровни событий
Для каждого инициирующего события можно задать уровень. Уровень определяет количество информации, которая будет собрана при наступлении события.
В таблице ниже указаны настройки уровня.
Уровень события (+/-) | Собираемые данные | Внешний процесс |
0 | Нет | Нет |
1 | Сводные данные | Нет |
2 | Сводные данные
Детальные данные |
Нет |
3 | Сводные данные
Детальные данные Сбор Protrace |
Нет |
4 | Нет | Да |
5 | Сводные данные
(1+4) |
Да |
6 | Сводные данные
Детальные данные (2+4) |
Да |
7 | Сводные данные
Детальные данные Сбор Protrace (3+4) |
Да |
8 | Запись данных обо всех других активированных событиях | Нет |
9 | Сводные данные
Запись данных обо всех других активированных событиях (1+8) |
Нет |
10 | Сводные данные
Детальные данные Запись данных обо всех других активированных событиях (2+8) |
Нет |
11 | Сводные данные
Детальные данные Сбор Protrace Запись данных обо всех других активированных событиях (3+8) |
Нет |
12 | Запись данных обо всех других активированных событиях | Да |
13 | Сводные данные
Запись данных обо всех других активированных событиях (1+12) |
Да |
14 | Сводные данные
Детальные данные Запись данных обо всех других активированных событиях (2+12) |
Да |
15 | Сводные данные
Детальные данные Сбор Protrace Запись данных обо всех других активированных событиях (3+12) |
Да |
Важно отметить, что сбор protrace работает исключительно на платформах UNIX.
При использовании отрицательных значений параметры функции обрабатываются так же, как и положительные. Однако есть условие: событие должно активироваться только в случае фатальной ошибки, которая приводит к полному прекращению работы базы данных.
Файлы данных
В последующих разделах представлены описания файлов, сформированных в процессе сбора диагностических данных.
Файл логов диагностики
Первый генерируемый файл представляет собой лог-файл для отслеживания диагностических событий. По умолчанию данный файл создается в директории, соответствующей базе данных. Местоположение лог-файла можно изменить одним из следующих методов:
- Указать директорию при запуске с использованием параметра –diagDir
- Модифицировать значение в режиме онлайн с помощью утилиты PROMON
- Обновить значение в режиме онлайн через VST _dbparams для параметра –diagDir
По умолчанию имя лог-файла для отслеживания событий имеет вид diagEvent_Tracking.csv. В случае выбора формата JSON, имя файла будет diagEvent_Tracking.json. Префикс (diagEvent_) файла также можно изменить следующими способами:
- Указать префикс при запуске с использованием параметра –diagPrefix
- Модифицировать значение в режиме онлайн с помощью утилиты PROMON
- Обновить значение в режиме онлайн через VST _dbparams для параметра –diagPrefix
Подкаталог событий
В случае возникновения инициирующего события и при ненулевом значении уровня, создается подкаталог для хранения данных, относящихся к данному событию. Наименование подкаталога формируется в соответствии с установленным алгоритмом.
diagEvent_<YYYY-MM-DDThh:mm:ss.uuu-TZ>_<event>_<eventId>
Eventid представляет собой составную структуру, включающую в себя два компонента: событие и идентификатор. Событие (event) определяется как название инициирующего события или DbStatus, который указывает на сбор данных посредством директивы, а не посредством события. Идентификатор (ID) представляет собой последовательно увеличивающееся числовое значение, начинающееся с единицы, которое генерируется каждый раз при переходе базы данных в онлайн-режим.
Файлы событий таблицы локировки
В случае инициирующего события переполнения таблицы локировки генерируются следующие файлы для выходного формата CSV, в зависимости от указанного уровня. Для выходного формата JSON создается единственный файл.
Сводные данные (уровень 1)
Имя файла | Содержание |
prefixlocktable_summary.csv | Pid всех пользователей с записями в таблице локировок и сводкой удерживаемых локировок (_usrlock VST). |
Сводные и детальные данные (уровень 2)
Имя файла | Содержание |
prefixlocktable_summary.csv | Pid всех пользователей с записями в таблице локировок и сводкой удерживаемых локировок (_usrlock VST). |
prefixlocktable_detail.csv | Содержимое _lock VST по пользователям. |
prefixtransaction_detail.csv | Содержимое _trans VST по пользователям. |
Файл события порога BI
Для инициирующего события срабатывания порога BI создаются следующие файлы для выходного формата CSV на основе указанного уровня. Для вывода в формате JSON создается только один файл .
Сводные данные (уровень 1)
Имя файла | Содержание |
prefixAILogging_summary.csv | Даты, связанные с текущим экстентом AI (начало, новые открытые даты ).Сгенерированные номер AI.Количество экстентов для этой базы данных.Номер области текущего экстента со статусом BUSY.Текущее количество выделенных AI-буферов для базы данных.Размер блока файла AI.Размер текущего файла AI.Порядковый номер текущего файла AI. |
prefixBILogging_summary.csv | Размер каждого файла BI.
Размер кластера и блока BI. ID самой старой транзакции. Все PID`ы с активными транзакциями. |
Сводные и детальные данные (уровень 2 и выше)
Имя файла | Содержание |
prefixAILogging_summary.csv | Даты, связанные с текущим экстентом AI (начало, новые открытые даты ).Сгенерированные номер AI.Количество экстентов для этой базы данных.Номер области текущего экстента со статусом BUSY.Текущее количество выделенных AI-буферов для базы данных.Размер блока файла AI.Размер текущего файла AI.Порядковый номер текущего файла AI. |
prefixBILogging_summary.csv | Размер каждого файла BI.
Размер кластера и блока BI. ID самой старой транзакции. Все PID`ы с активными транзакциями. |
prefixAILogging_detail.csv | Содержимое _AILog VST, которое сосредоточено на транзакциях и операциях записи. |
prefixBILogging_detail.csv | Содержимое _logging VST. |
prefixtransaction_detail.csv | Содержимое _trans VST по пользователям. |
prefixfile_detail.csv | Содержимое _IOFile VST, которое фокусируется на пространстве и операциях ввода-вывода для каждого файла, связанного с базой данных. |
Файлы события Syserr
Для инициирующего события Syserr создаются следующие файлы для выходного формата CSV на основе указанного уровня. Для вывода в формате JSON создается только один файл. Содержимое файла такое же, как и при переполнении таблицы блокировки, поэтому используется то же имя файла.
Имя файла | Содержание |
prefixlocktable_summary.csv | Pid всех пользователей с записями в таблице локировок и сводкой удерживаемых локировок (_usrlock VST). |
Файл diagCompleted
Файл diagCompleted – это не файл данных, а сигнал о завершении обработки. Когда происходит определённое событие, вы можете задать время ожидания после сбора данных и обработки события. Если вы хотите уменьшить время ожидания, создайте файл diagCompleted в подкаталоге событий. Когда этот файл будет обнаружен, ожидание завершится, независимо от оставшегося времени.
Данные Protrace
Для всех инициирующих событий, когда уровень события имеет значение 3 или 3 в комбинации с другим значением, осуществляется сбор данных protrace. Для каждого локального пользователя файл protrace создается и сохраняется в рабочем каталоге данного пользователя. При первой записи файла protrace для конкретного пользователя в журнал базы данных вносится запись, содержащая информацию о местоположении указанного файла.
Параметр печати C-стека (-cstackPrintopt)
Используйте параметр печати C-стека (-cstackPrintopt), чтобы определить поведение механизма трассировки C-стека для файлов protrace, генерируемых, когда сигнал SIGUSR1 отправляется процессу как часть команды kill или proGetStack.
Установите значение n следующим образом, чтобы указать статус генерации C-стека:
- 0 – включена генерация стека. Используется по умолчанию.
- 1 – OpenEdge AVM будет использовать команду gstack для генерации стека.
- 2 – генерация стека отключена
Примечания:
- В случае если установлен параметр 1, в системе должны быть инсталлированы пакеты отладчика GDB. Проблемы с правами доступа могут препятствовать формированию C-стека, если клиентские приложения OpenEdge не запущены от имени root.
- Параметр печати C-стека применяется только к системам Linux. Если он используется на других платформах, он автоматически игнорируется.
- Параметр печати C-стека не применим к файлам protrace, которые генерируются при аварийном завершении работы вследствие фатальных сигналов SIGSEGV или SIGBUS.
- Данный параметр оказывает влияние исключительно на процессы OpenEdge, использующие клиент OpenEdge (_progres), _dbutil, _mprshut, классический сервер приложений, а также многопоточные и однопоточные серверы баз данных. Влияние данного параметра не распространяется на другие процессы OpenEdge.
- Чтобы изменить этот параметр во время работы базы данных, используйте PROMON или _DbParams VST.
- Вы можете использовать этот параметр для поддержки непрерывной работы базы данных.
Файл DiagProc
Для всех инициирующих событий с уровнем события 4 или событием уровня 4 в сочетании с другим значением, дополнительный процесс инициируется после записи любых диагностических данных и до обработки инициирующего события. Созданный процесс выполняет исполняемый файл diagProc. Файл diagProc принимает три входных параметра: имя каталога диагностики текущего события, инициирующее событие и имя базы данных.
В операционной системе Unix файл diagProc должен быть исполняемым файлом или исполняемым скриптом оболочки с именем diagProc и располагаться в каталоге базы данных.
В операционной системе Windows файл diagProc должен представлять собой исполняемый файл с именем diagProc.exe или пакетный файл с именем diagProc.bat и находиться в каталоге базы данных. При этом сначала выполняется поиск файла diagProc.exe, а затем diagProc.bat. Выполняется первый найденный файл.
ВНИМАНИЕ: Сервер OpenEdge, вызывающий внешний исполняемый файл или скрипт, представляет потенциальную угрозу безопасности . Рекомендуется ограничить доступ к скрипту .
Параметры старта для сбора диагностических данных
Вы можете настроить процесс сбора диагностических данных при старте базы данных, используя параметры, указанные в таблице ниже.
Параметр | Описание | Для получения дополнительной информации см…. |
Diagnostic directory (-diagDir) | Укажите директорию для хранения файла лога диагностических событий и создания поддиректорий для каждого отдельного диагностического события. | Diagnostic directory (-diagDir) |
Diagnostic events value (-diagEvent) | Укажите перечень событий базы данных, которые необходимо учитывать для сбора диагностических данных. | Diagnostic events value (-diagEvent) |
Diagnostic event level (-diagEvtLevel) | Укажите “уровень” диагностических данных для сбора. | Diagnostic event level (-diagEvtLevel) |
Diagnostic data format (-diagFormat) | Укажите формат файлов диагностических данных. | Diagnostic data format (-diagFormat) |
Diagnostic field separator (-diagFS) | Укажите разделитель, который будет использоваться при записи диагностических данных в файл в формате CSV. | Diagnostic field separator (-diagFS) |
Diagnostic pause length (-diagPause) | Укажите временной интервал в секундах для паузы после завершения записи данных для диагностического события, прежде чем инициировать обработку данного события. | Diagnostic pause length (-diagPause) |
Diagnostic prefix value (-diagPrefix) | Укажите общий префикс для стандартных файлов диагностических данных. | Diagnostic prefix value (-diagPrefix) |
Diagnostic process (-diagProc) | Укажите исполняемый файл, который будет запускаться при срабатывании диагностического события. | Diagnostic process (-diagProc) |
Сбор диагностических данных в PROMON
Вы можете настроить сбор диагностических данных непосредственно в PROMON. Для этого откройте меню сбора диагностических данных в PROMON следующим образом:
- Старт PROMON.
- Выберите Advanced Options введя R&D.
- Выберите Administrative Functions введя 4.
- Выберите Diagnostic Data Collection введя 14.
Будет представлено следующее меню:
OpenEdge Release 12 Monitor (R&D) Diagnostic Data Collection Current Diagnostic Data Collection Settings: 1. Diagnostic directory: "" 2. Diagnostic field separator: ' ' 3. Diagnostic pause time: 0 4. Diagnostic prefix value: diagEvent_ 5. Diagnostic report format csv 6. Lock Table Overflow: 0: Data collection disabled 7. BI Threshold: 0: Data collection disabled 8. System Error: 0: Data collection disabled 9. Collect enabled diagnostic data now Enter a number, P, T, or X (? for help):
Для пунктов 1-5 измените любое значение в ответ на запрос.
Для пунктов 6-8 в дополнительном меню вам будет предложено выбрать уровень сбора данных.
Enter 0: Disabled 1: Summary 2: Summary & Detailed 3: Summary, Detailed & Protraces 4-7: Proc invocation in combination w/chosen option 0 thru 3 8-15: Report all enabled event collectors in combination w/chosen option 0 thru 4 (-15 to 15):
Обратите внимание, что отрицательные значения собирают тот же объем данных, но только в случае фатальной ошибки, которая приведет к отключению базы данных.
Для пункта 9 сбор данных выполняется немедленно и не учитывает значение времени паузы.
Форматы выходных файлов диагностических данных
Уровень выходных данных, запрашиваемый пользователем, определяет перечень файлов, генерируемых при возникновении события.
Файл логов диагностики
Файл верхнего уровня для отслеживания диагностики формируется при возникновении первого диагностического события и обновляется при каждом последующем событии. Этот файл позволяет связать подкаталог события с конкретным диагностическим случаем.
В случае использования формата CSV, файл диагностического отслеживания представлен в следующем формате:
"Timestamp" "PID" "TID" "Level" "ProcType" "Event" "Dbname" "EventDir" "EventId" "Status"
Поле “Status” содержит значения “START” или “END”, что указывает на начало или завершение диагностического события соответственно.
При применении формата JSON структура файла диагностического отслеживания соответствует следующему образцу:
{"AnEvent_2_Start":{"Timestamp":"2017-05-16T17:41:06.000-4:00","PID":"P-79844", "TID":"T-140067960612608","Level":0,"ProcType":"MON ","Event":"DbStatus", "Dbname":"/scratch/doc/117/docdb", "EventDir":"/scratch/doc/117/diagEvent_2017-05-16T17:41:06.000-4:00_DbStatus_2", "EventId":2,"Status":"Start"}} {"AnEvent_2_End":{"Timestamp":"2017-05-16T17:41:06.000-4:00","PID":"P-79844", "TID":"T-140067960612608","Level":0,"ProcType":"MON ","Event":"DbStatus", "Dbname":"/scratch/doc/117/docdb", "EventDir":"/scratch/doc/117/diagEvent_2017-05-16T17:41:06.000-4:00_DbStatus_2", "EventId":2,"Status":"End"}}
Файл события порога BI
При активации порогового события BI в подкаталоге «event» формируются соответствующие файлы журнала BI. Формат этих файлов зависит от уровня события.
Если используется формат вывода данных CSV, файл сводки журнала BI будет структурирован следующим образом:
"Timestamp" "EventId" "DbName" "BIIO" "CrashProt" "CommitDelay" "ClusterAge" "Blksize" "Clustersize" "NumExtents" "BISize" "BytesFree" "LastChkpt" "BIBufs" "FullBuffers" "CurrCluster" "ClusterHWM"
В случае использования формата CSV для выходного файла, информация о журнале BI будет представлена в следующем структурированном виде:
"Timestamp" "EventId" "DbName" "TotalWrts" "BIWWrites" "RecWriten" "BytesWrtn" "TotReads" "RecRead" "BytesRead" "ClstrClose" "BBuffWaits" "EBuffWaits" "ForceWaits" "ForceWrts" "PartialWrts" "Trans" "UpTime" "InputBufHit" "OutputBufHit" "ModBufHit" "BOBufHit"
В случае если выходным форматом является CSV-файл, данные о транзакциях будут структурированы в соответствии с определённым форматом.
"Timestamp" "EventId" "DbName" "UserNum" "TenantID" "TransID" "RLCounter" "State" "Flags" "JState" "JFlags" "XID" "Txtime" "Coord" "CoordTx" "Duration" "BIRecReads" "BIRecWrites"
Если выходной формат данных представлен в формате JSON, то в каталоге событий будет присутствовать только один файл. В следующем примере демонстрируются записи BI, извлечённые из файла диагностики, который представлен в формате JSON.
{"BILogging_summary":{"BIIO":"Reliable","CrashProt":1,"CommitDelay":3,"ClusterAge":0, "Blksize":8192,"Clustersize":524288,"NumExtents":1,"BISize":3193,"BytesFree":482471, "LastChkpt":"2016-08-15T14:55:11.000-4:00]","BIBufs":20,"FullBuffers":5,"CurrCluster":2, "ClusterHWM":5}, "file_detail":{ "file_entry":{"FileName":"/usr1/richb/11/x.db","Size":640,"InUse":5,"Extend":512,"Blksize":8192, "IOMode":"BOTHIO","Reads":5,"Writes":0,"Extends":0,"BufWrites":1,"UnbufWrites":0,"BufReads":7, "UnbufReads":0}, "file_entry":{"FileName":"/usr1/richb/11/x.b1","Size":3200,"InUse":400,"Extend":512,"Blksize":8192, "IOMode":"UNBUFIO","Reads":15685,"Writes":67901,"Extends":1,"BufWrites":0,"UnbufWrites":67934, "BufReads":0,"UnbufReads":15686}, "file_entry":{"FileName":"/usr1/richb/11/x.d1","Size":2176,"InUse":256,"Extend":512,"Blksize":8192, "IOMode":"BOTHIO","Reads":67,"Writes":1018,"Extends":0,"BufWrites":1,"UnbufWrites":1018, "BufReads":69,"UnbufReads":0}, "file_entry":{"FileName":"/usr1/richb/11/x_7.d1","Size":128,"InUse":15,"Extend":512,"Blksize":8192, "IOMode":"BOTHIO","Reads":1,"Writes":0,"Extends":0,"BufWrites":1,"UnbufWrites":0,"BufReads":3, "UnbufReads":0}, "file_entry":{"FileName":"/usr1/richb/11/x_8.d1","Size":4096,"InUse":511,"Extend":512,"Blksize":8192, "IOMode":"BOTHIO","Reads":193,"Writes":30836,"Extends":0,"BufWrites":30837,"UnbufWrites":0, "BufReads":195,"UnbufReads":0},
Файлы событий таблицы локировки
При возникновении события переполнения таблицы блокировок система генерирует соответствующие выходные файлы в подкаталоге событий. Формат этих файлов определяется уровнем события.
В случае использования формата CSV, итоговый файл таблицы блокировок будет представлен в следующем формате:
"Timestamp" “EventId” "DbName" "PID" "User Num" "Tenant" "Domain ID" "Curr Locks" "Lock HWM" "User Name" "TTY Device” “Program file” “Line Number”
Если формат вывода задан как CSV, файл с информацией о таблице блокировок будет иметь следующую структуру:
"Timestamp" “EventId” "DbName" “Lock Type" "Table #" "Rowid" "Partition #" "Hash Chain" "Flags" "PID" "User Num" "Tenant" "User Name" "Domain ID" "TTY Device" "Trans State" "Trans Flags" "Trans ID"
При выборе формата CSV для файла с данными о транзакции его структура будет выглядеть следующим образом:
"Timestamp" “EventId” "DbName" "User Num" "Tenant ID" "Trans #" "RL Counter" "State" "Flags" "JState" "JFlags" "XID" "Txtime" "Coord" "CoordTx" "Duration" "BIRecReads" "BIRecWrites"
Если в качестве выходного формата выбран JSON, в каталоге событий создаётся единственный файл. Пример записей таблицы блокировок из диагностического файла в формате JSON выглядит следующим образом:
"locktable_summary":{ "userlock_entry":{"UserNum":0,"UPID":10732,"Tenant":-32767,"DomainID":0,"UserName":"richb", "TTYDevice":"/dev/pts/5","CurrLocks":0,"LockHWM":1,"ProgName":"","Line":0}, "userlock_entry":{"UserNum":5,"UPID":7459,"Tenant":-32767,"DomainID":0,"UserName":"richb", "TTYDevice":"/dev/pts/7","CurrLocks":0,"LockHWM":1,"ProgName":"","Line":0}, "userlock_entry":{"UserNum":6,"UPID":7492,"Tenant":0,"DomainID":-4,"UserName":"richb", "TTYDevice":"/dev/pts/12","CurrLocks":3,"LockHWM":1107,"ProgName":"","Line":0}, "userlock_entry":{"UserNum":7,"UPID":7496,"Tenant":0,"DomainID":-4,"UserName":"richb", "TTYDevice":"/dev/pts/13","CurrLocks":0,"LockHWM":1126,"ProgName":"","Line":0}, "userlock_entry":{"UserNum":8,"UPID":7480,"Tenant":0,"DomainID":-4,"UserName":"richb", "TTYDevice":"/dev/pts/9","CurrLocks":0,"LockHWM":1142,"ProgName":"","Line":0}, "userlock_entry":{"UserNum":9,"UPID":7486,"Tenant":0,"DomainID":-4,"UserName":"richb", "TTYDevice":"/dev/pts/10","CurrLocks":1,"LockHWM":1126,"ProgName":"","Line":0}, "userlock_entry":{"UserNum":10,"UPID":7490,"Tenant":0,"DomainID":-4,"UserName":"richb", "TTYDevice":"/dev/pts/11","CurrLocks":0,"LockHWM":1116,"ProgName":"","Line":0}}, "locktable_detail":{ "locktable_detail":{"LockType":"REC","Table#":2,"Rowid":6581,"Partition#":0,"HashChain":398, "LockType":7492,"LockType":6,"LockType":0,"LockType":-4,"LockType":"S L ", "LockType":"richb","LockType":"/dev/pts/12","UserNum":"BEGIN","Tenant":"FWD","DomainID":251702}, "locktable_detail":{"LockType":"REC","Table#":2,"Rowid":6581,"Partition#":0,"HashChain":398, "LockType":7486,"LockType":9,"LockType":0,"LockType":-4,"LockType":"S L ", "LockType":"richb","LockType":"/dev/pts/10","UserNum":"BEGIN","Tenant":"FWD","DomainID":251704}, "locktable_detail":{"LockType":"REC","Table#":2,"Rowid":7539,"Partition#":0,"HashChain":119, "LockType":7492,"LockType":6,"LockType":0,"LockType":-4,"LockType":"S ", "LockType":"richb","LockType":"/dev/pts/12","UserNum":"BEGIN","Tenant":"FWD","DomainID":251702}, "locktable_detail":{"LockType":"REC","Table#":2,"Rowid":6583,"Partition#":0,"HashChain":400, "LockType":7486,"LockType":9,"LockType":0,"LockType":-4,"LockType":"S L ", "LockType":"richb","LockType":"/dev/pts/10","UserNum":"BEGIN","Tenant":"FWD","DomainID":251704}, "locktable_detail":{"LockType":"REC","Table#":2,"Rowid":6579,"Partition#":0,"HashChain":396, "LockType":7492,"LockType":6,"LockType":0,"LockType":-4,"LockType":"S L ", "LockType":"richb","LockType":"/dev/pts/12","UserNum":"BEGIN","Tenant":"FWD","DomainID":251702}, "locktable_detail":{"LockType":"REC","Table#":2,"Rowid":7539,"Partition#":0,"HashChain":119, "LockType":7486,"LockType":9,"LockType":0,"LockType":-4,"LockType":"S ", "LockType":"richb","LockType":"/dev/pts/10","UserNum":"BEGIN","Tenant":"FWD","DomainID":251704}, "locktable_detail":{"LockType":"REC","Table#":2,"Rowid":6579,"Partition#":0,"HashChain":396, "LockType":7486,"LockType":9,"LockType":0,"LockType":-4,"LockType":"S L ", "LockType":"richb","LockType":"/dev/pts/10","UserNum":"BEGIN","Tenant":"FWD","DomainID":251704}, "locktable_detail":{"LockType":"REC ","Table #":2,"Rowid":6583,"Partition#":0,"HashChain":400, "LockType":7492,"LockType":6,"LockType":0,"LockType":-4,"LockType":"S L ", "LockType":"richb","LockType":"/dev/pts/12","UserNum":"BEGIN","Tenant":"FWD","DomainID":251702}, "locktable_detail":{"LockType":"REC","Table#":2,"Rowid":7540,"Partition#":0,"HashChain":120, "LockType":7492,"LockType":6,"LockType":0,"LockType":-4,"LockType":"S L ", "LockType":"richb","LockType":"/dev/pts/12","UserNum":"BEGIN","Tenant":"FWD","DomainID":251702}, "locktable_detail":{"LockType":"REC","Table#":2,"Rowid":7538,"Partition#":0,"HashChain":118, "LockType":7492,"LockType":6,"LockType":0,"LockType":-4,"LockType":"S L ", "LockType":"richb","LockType":"/dev/pts/12","UserNum":"BEGIN","Tenant":"FWD","DomainID":251702}},
Файлы события Syserr
При возникновении системного события syserror в подкаталоге event генерируется выходной файл, который является идентичным для всех уровней. Структура и содержание данных в этом файле совпадают с файлом сводки таблицы блокировок; он повторно использует имя файла сводки таблицы блокировок.