Ключи управления функционированием

 
/NOTSP

Запрещает запускать транслятор триггеров и хранимых процедур (предполагается, что работа с данными объектами БД не потребуется). Эта возможность позволяет использовать ЛИНТЕР в системах с ограниченными ресурсами.

 

/NOSQL

Запрещает запуск SQL-транслятора.

Эта возможность позволяет использовать ЛИНТЕР в системах с ограниченными ресурсами. При запуске с ключом /NOSQL ядро ЛИНТЕР может работать с уже скомпилированными приложениями, использующими только оттранслированные запросы.

 

/KILL=< время >

Задает временной промежуток (в секундах), через который проверяется «живучесть» программ-клиентов. Если через указанный промежуток времени обнаруживается, что какой-либо из клиентов закончил работу и не известил об этом ЛИНТЕР, то ядро автоматически освободит относящиеся к этому клиенту ресурсы.

По умолчанию 120 секунд, минимум 10 секунд.

 

/WLHB

Наличие этого ключа при запуске ядра СУБД ЛИНТЕР позволяет завершить сохранение системного журнала утилитой LHB при получении ядром команды останова.

Например, пусть ядро СУБД ЛИНТЕР запущено с ключом /WLHB. Если утилита архивирования баз данных (LHB) выполняет операцию сохранения БД в режиме WAIT, и в это время приходит команда на останов ядра, то ядро не завершит работу до тех пор:

  1. пока утилита LHB не закончит сохранение системного журнала;

  2. пока не наступит тайм-аут, определенный для утилиты LHB (т.е. прошло более 10 секунд после предыдущей команды от LHB);

  3. пока не прошло 3000 секунд с момента запроса на останов ядра.

Если ядро запущено без ключа /WLHB, то останов ядра произойдет сразу, и архив не будет сформирован полностью.

 

/DEFCOMM[={ACK|ALL}[, …]]

Примечание

Поддерживается со сборки 6.0.17.95.

Ключ используется для работы с системой резервирования (server) и системой архивирования БД (lhb).

Возможна ситуация, когда клиент уже получил ответ на операцию commit, но, поскольку lhb работает в асинхронном режиме, эти данные не были сохранены в архив. В этом случае при отказе ЛИНТЕР-сервера невозможно будет восстановить данные, которые уже зафиксированы в БД. Это замечание относится, как к lhb, так и к server.

Для исключения такой ситуации вводится особый режим отложенного commit. Он заключается в том, что ответ клиенту на commit посылается не сразу, а только после того, как данные будут отосланы lhb. Таким образом, гарантируется сохранение данных lhb до получения ответа на запрос изменения БД клиентом.

Такое поведение замедляет работу клиента, особенно в случае работы нескольких lhb одновременно. Поэтому в зависимости от требований к быстродействию и надежности приложения могут применяться следующие варианты отложенного commit:

  • DEFCOMM: отсылка ответа клиенту осуществляется непосредственно после отсылки данных одному из lhb. Подтверждение приема данных lhb не осуществляется. Данный режим используется по умолчанию;

  • DEFCOMM=ACK: отсылка ответа клиенту осуществляется по приему подтверждения, что данные приняты от одного из lhb;

  • DEFCOMM=ALL: отсылка ответа клиенту осуществляется при отсылке данных всем lhb;

  • DEFCOM=ACK,ALL: отсылка ответа осуществляется при получении подтверждения о сохранении данных от всех lhb.

Примечание

Данный режим распространяется только на работающие в wait-режиме lhb.

Режим отложенного ответа включается не сразу по запуску lhb, а только после того момента, когда будет скачана вся БД.

Режим отключается при отсоединении всех процессов lhb, работающих в wait-режиме.

В режиме TRUETYPECOMMIT OFF (см. документ «СУБД ЛИНТЕР. Создание и конфигурирование базы данных», пункт «Конфигурирование БД») ответ будет задержан только в случае сохранения системного журнала СУБД на диск. Если в результате запроса сохранение на диск журнала не производилось, то и задержки ответа не будет.

 

/IGNERROR

Заставляет ядро СУБД игнорировать ошибки восстановления по системному журналу БД.

По умолчанию ядро СУБД во время восстановления БД (например, после отказа компьютера или из-за ошибки в самом ядре СУБД) при обнаружении ошибки прекращает дальнейшее восстановление БД. При задании ключа процесс восстановления прерываться не будет. Это позволяет запустить потом утилиту testdb (см. документ «СУБД ЛИНТЕР. Тестирование базы данных», раздел «Выполнение программы».)

 

/RAPID

Задает режим «догона» системного журнала, развернутого из архивного файла БД. Используется при запуске СУБД ЛИНТЕР в системе резервирования.

 

/TMPDIR=< строка >

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

  

/[NO]JEXIT

Ключ /JEXIT задает режим автоматического завершения работы ядра СУБД ЛИНТЕР в случае невозможности продолжения записи в системный журнал. Если ядро запущено с ключом /NOJEXIT, то работа ядра будет продолжаться, но без ведения системного журнала.

Примечание

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

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

 

/TCORRECT

Заставляет ядро СУБД ЛИНТЕР игнорировать тот факт, что дата последнего запуска СУБД является «будущей» по сравнению с текущей датой ОС. Действует по умолчанию.

 

/CHECK

Задает режим периодической проверки живучести родительского процесса. Если родительский процесс завершился, ядро СУБД также завершает свою работу.

 

/K=< значение >

Заставляет посылать сигнал (< значение >) родительскому процессу при успешной инициализации ядра СУБД ЛИНТЕР.

 

/NOLARGE

При запуске ядра СУБД определяет, поддерживает ли операционная система длинные файлы (это файлы, размер которых больше 2 Гбайт). Если не поддерживает, то запрещается стартовать на БД, содержащей такие файлы. Для исключения возникновения подобной ситуации необходимо задавать параметр /NOLARGE, который запрещает создание таблиц размером больше 2 Гбайт.

Если ядро СУБД запускается без ключа /NOLARGE, а ОС не поддерживает длинные файлы, то ядро запустится, но не будет работать с таблицами, которые расположены в длинных файлах. При попытке обратиться к таким таблицам будет выдано соответствующее сообщение.

Если ядро СУБД запускается с ключом /NOLARGE, и в БД присутствуют файлы размером больше 2 Гбайт, то ядро не будет запущено. При попытке расширить файл до размеров больше 2 Гбайт будет возвращен код, сигнализирующий о невозможности это сделать.

Запуск с ключом /NOLARGE позволяет пользователю создавать БД и работать с ней какое-то время на ОС, поддерживающей длинные файлы, а затем перенести БД на ОС, не поддерживающую длинные файлы.

 

/RO

Задает работу с БД в режиме «только чтение» (модификация БД в этом режиме невозможна). При запуске СУБД с этим ключом доступны следующие команды:

SELECTALTER EVENT
EXECUTE PROCEDURESET EVENT
TEST TABLECLEAR EVENT
LOCK TABLESET LOG
UNLOCK TABLESET NAMES
CREATE EVENTSET SESSION BLOB LOG
DROP EVENTSET SESSION BLOB GEOMETRY STORAGE {OFF|ON}
GET EVENTSET SESSION QUANTUM
WAIT EVENTSET COMPATIBILITY

При работе в режиме read only в каталоге временных файлов создается ряд файлов (файлы логирования, трассировки, временные рабочие файлы): linter.out, LINTER.LOG, lintrace.log, phrase.idx, 1.31, 1.41, 1.51.

При завершении работы СУБД ЛИНТЕР перечисленные выше файлы удаляются.

Каталог временных файлов определяется следующим образом (по убыванию приоритета):

  1. может быть задан в явном виде в параметрах запуска ядра с помощью ключа TMPDIR, например,

    linter /base=D:\database /RO /TMPDIR=D:\TMP
  2. путь к каталогу временных файлов берется из переменной среды окружения TEMP.

 

/DEBUG

Запрещает процессу ядра СУБД переходить в фоновый режим.

 

/FIXCHAN[=< размер >]

Примечание

Поддерживается со сборки 6.0.17.92.

При очистке канала выделенная память освобождаться не будет, а будет переиспользоваться для вновь открытого канала с тем же номером. При указании параметра < размер > – дополнительно будет резервироваться для канала указанный размер памяти в байтах при его открытии. Максимальное значение 65536.

 

/EVENTLIMIT=< размер очереди активных событий >

Примечание

Поддерживается со сборки 6.0.17.92.

Значение устанавливает максимальный размер очереди активных событий. При превышении значения будет выдан код завершения 90 (Нет памяти для размещения очереди сообщений). Значение по умолчанию и минимальное значение - 128, максимальное - 65535. При старте ядра на консоль и в linter.out будет выдано сообщение Event queue size: NNN items.

 

/NOEXTFILE

Примечание

Поддерживается со сборки 6.0.17.92.

Запрещает все обращения к внешним файлам, то есть допустимо заносить имена файлов в столбцы типа EXTFILE, но нельзя выполнять любые операции, при которых формируются полные имена файлов для их поиска в файловой системе.

 

/RESTRICTEXTFILE

Примечание

Поддерживается со сборки 6.0.17.92.

Запрещает все обращения к внешним файлам, которые лежат вне каталога базы данных, то есть нельзя использовать абсолютные пути и относительные пути, содержащие ссылку на родительский каталог "..", в том числе в пути для файлов по умолчанию.

 

/SAFE_MODE

Примечание

Поддерживается со сборки 6.0.17.95.

Ядро СУБД запускается в безопасном режиме. В данном режиме запрещены команды: ALTER TABLE DROP COLUMN, PRESS TABLE, CORRECT, RENAME TABLE, RENAME COLUMN, RENAME INDEX, SET SESSION BLOB LOG OFF/ON.

При подаче запрещенной команды в безопасном режиме будет выдан код завершения 97 "Операция запрещена в безопасном режиме".

  

/[NO]SYNC

При запуске ядра СУБД ЛИНТЕР с параметром /SYNC пул ядра начинает работать по механизму сквозной записи на диск. Т.е. результат операций сразу помещается на диск, минуя кэш.

Отключение данной опции осуществляется установкой параметра /NOSYNC. При этом сброс буферов происходит при завершении транзакции (применяется механизм отложенной записи на диск).

В синхронном режиме работа ядра СУБД ЛИНТЕР замедляется.

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