Rambler's Top100

(c)2009-2017 openinfotech.ru

СУБД HyTech

Документация
Файл инициализации

Файл инициализации

Файл инициализации — это специальный текстовый файл, содержащий пары <имя_ключа> = <значение>, которые используются программой во время загрузки для установки параметров работы программы. Все параметры в файле инициализации разбиты на разделы. Каждый раздел параметров имеет название и начинается строкой '[Название]'. Все названия параметров и разделов должны быть в кодировке OEM (CP866). Имена некоторых разделов имеют алиасы, имена которых совпадают с именами библиотек (DLL), параметры которых в них задаются. В этом случае рекомендуется использовать основные имена. Если же один и тот же параметр имеется и в разделе с основным именем и в разделе с именем-алиасом, то значение берется из раздела с именем-алиасом.

Файл инициализации может содержать следующие разделы
Раздел Алиас Описание
[Catalog] [HSCTLG] параметры работы с системным каталогом
[Files Gate] [HSFMNG] работа и протоколирование работы с файлами. Для sql32 выбор файловой DLL
[Generators] [HSGENR] параметры генераторов
[Heaps] [HSHEAP] параметры распределения памяти
  [HSHT] дополнительные параметры нижнего уровня HyTech
[Hytech help] [HSHT0] интерфейс SQL-сервера и нижнего уровня HyTech
[Logging]    
[Odbc] [HSODBC] параметры ODBC
[OsFiles] [HSFMNG5] работа с файлами, протоколирование и ограничения.
[Parameters]   общие параметры сервера, касающиеся работы с таблицами
[Privileges]   права на таблицы, не содержащиеся с системном каталоге

[SQL процесс]

  параметры клиентского процесса
[System parameters]   параметры системного SQL-процесса.
[Tables] [HSTABL]  
[Параметры]   общие параметры сервера
[Системный процесс]   параметры процесса, под которым выполняется startup.sql

 

Раздел [Параметры]

Ключ Тип значения Назначение Значение по умолчанию
MsgPath строковый Параметр определяет каталог на файловом сервере, через который передаются сообщения. Для связи с сервером по протоколу TCP/IP надо задать в качестве параметра строку вида:

tcpip:/100.101.102.103:5003

где 100.101.102.103 — IP адрес сервера, а 5003 — используемый им сокет. Вместо IP адреса можно указать доменное имя. В этом случае строка для параметра будет иметь вид:

tcpip:/my_machine.my_domain.ru:5003

tcpip://:5004
NetAddr числовой Параметр определяет сетевой номер сервера. Параметр необходим только при работе сервера по файловому протоколу. 0
SqlHeap числовой Параметр определяет размер памяти в байтах, выделяемой для работы SQL одного пользователя. 200000
DeleteMultipleMessage числовой Параметр определяет, можно ли удалять сообщения, которые процесс пользователя не ожидает. При включенном параметре DeleteMultipleMessage = 1, если пользователь пошлет подряд (не ожидая ответа) несколько запросов к серверу, то сервер начнет обрабатывать первый из них, а остальные удалит, не обработав. Никаких ответов на них не будет. Параметр имеет смысл только при работе по файловому протоколу. 0 (Такие сообщения удалять нельзя)
PrivateModeEnabled числовой Параметр определяет, можно ли открывать таблицы в монопольном режиме. Если задан 1, то пользователь может открывать таблицы в монопольном режиме. Если задан 0, то таблицы открываются в разделяемом режиме, даже если пользователем задан монопольный режим. 0 (Нельзя открывать таблицы в монопольном режиме)
Mouse числовой Параметр остался для совместимости с SQL сервером для Netware.  
UserDefault строковый Параметр задает имя пользователя, от имени которого обслуживаются запросы, если пользователь не задал имя SQL-оператором connect или вызовов функции SqlLoginServ. 'GUEST'
PasswordDefault строковый Параметр задает пароль для пользователя, заданного параметром 'UserDefault'. ''
SmartStart числовой Параметр определяет, нужно ли после загрузки сервера автоматически стартовать его. Если указан 0, то обслуживание пользователей запускается с консоли (клавиша F9). Если указано 1, то обслуживание пользователей автоматически запустится после загрузки пользователей. 0
DisableMessages числовой Параметр определяет, нужно ли запретить окно сообщений после запуска сервера. Если указано 0, то при запуске сервера появляется окно сообщений. Если указано 1, то окно сообщений не будет. При необходимости его можно будет открыть в дальнейшем, используя клавишу F9. Открытое окно сообщений замедляет работу сервера, однако облегчает отладку приложений. 0
ServerLogMode числовой Параметр определяет необходимость ведения протокола работы сервера. Протокол пишется в файл специального формата с именем по умолчанию '_00001.ulg'. (Подробнее см. описание программы htlog32.) Если задан 0, то протокол не пишется. Если задан 1, то протокол пишется. 1

Раздел [SQL процесс]

Параметры, задаваемые в разделе [SQL процесс], влияют на работу процессов, непосредственно обслуживающих запросы пользователей.

Ключ Тип значения Назначение Значение по умолчанию
TableCnt числовой Параметр задает число открываемых таблиц. Это число может быть от 1 до 64. Для хранения описания таблиц выделяется некоторое количество памяти. Чем больше будет открыто таблиц, тем больше потребуется памяти. 20
HtCnt числовой Параметр задает число обработчиков файлов, которые можно использовать для работы с таблицами HyTech. 100
TaskCnt числовой Параметр задает число обработчиков файлов, которые можно использовать серверу для своих нужд. Параметры TaskCnt и HtCnt "делят" обработчики файлов между задачей и СУБД. При доступе к таблицам СУБД выполняет "открытие" файлов, связанных с данной таблицей. Для ускорения работы СУБД пытается держать открытыми все файлы открытых таблиц. Если это не удается, СУБД закрывает файлы для таблиц, которые использовались реже всего. Максимальное число одновременно отрытых СУБД файлов задается как параметр nHtCnt. Чем это число больше, тем быстрее работает СУБД (снижая расходы на закрытие/открытие файлов). Максимально необходимое число файлов для СУБД можно вычислить по формуле:

nHtCnt = 6 + nTabCnt * nNetMode + nTransOn

где

  • nTabCnt - число открытых таблиц;
  • nNetMode принимает значение:
    • 4 для локальных таблиц;
    • 6 для сетевых таблиц;
  • nTransOn = 0 без транзакций или 1 для транзакций. Следует иметь в виду, что при работе с большими объемами данных результаты поисков также хранятся в файлах. Поэтому число файлов СУБД надо увеличить на число одновременно открытых результатов поиска.
20
OpenMode числовой Параметр определяет режим открытия таблиц SQL сервером. Значение этого параметра определяется суммой следующих чисел:
  • 1 — таблица используется в совместном режиме, другие пользователи сети могут работать с данными таблицы наравне друг с другом; Если это слагаемое не задать, то таблица будет использоваться в монопольном режиме, другие пользователи не смогут получить к ней доступ до закрытия таблицы;
  • 2 — таблица не допускает операций модификации; допустимы лишь операции поиска и чтения;
  • 4 — работа только с постоянной частью таблицы; операции поиска не учитывают выполненных изменений; доступ выполняется максимально быстро; модификации недопустимы;
  • 8 — немедленная запись данных таблицы на диск; операции модификации не буферизуются и немедленно переносятся в журнал изменений; скорость модификации уменьшается, но понижается вероятность потери изменений в результате сбоя аппаратуры.
  • 16 — таблица открывается только для операций модификации в специальном режиме; если таблица не имеет уникальных ключей (кроме суррогатного), допустима работа без индексирования постоянной части. Возможен поиск по физическому номеру.
  • 32 — таблица открывается только для операций добавления. Этот режим открытия таблицы нужно использовать для добавления записей в таблицу, пароль доступа на чтение, к которой неизвестен. Знание пароля записи обязательно.
  • 64 — таблица содержит символьные данные в ANSI-кодировке; при операциях вывода в таблицы с другой кодировкой будет выполнено соответствующее перекодирование.
Значение по умолчанию: 9 (Таблицы открываются в разделяемом режиме с немедленной записью на диск).
BasePath строковый Параметр определяет каталог на файловом сервере, где находятся таблицы HyTech, с которыми работает SQL сервер. Если у таблиц не указан полный путь, то они будут браться из этого каталога. ''
TmpPath строковый Параметр определяет имя каталога, в котором будут создаваться временные файлы, порождаемые в процессе работы СУБД. Рекомендуется выбрать для этих целей каталог на диске с быстрым доступом и достаточным количеством свободного пространства. './TMP'
NetPath строковый Параметр определяет имя каталога, в котором будут создаваться "приватные" файлы сетевых замков. './NET'
NetName строковый Параметр определяет имя станции, под которым она будет известна в сети. 'HTSQL'
TrtPath строковый Параметр определяет имя каталога, в котором будет создан файл журнала транзакций. Можно выбрать для этих целей каталог на другом устройстве, нежели диск для размещения таблиц (так может оказаться надежнее). './TRT'
LockTimeOut числовой Параметр задает максимальное время (в секундах) ожидания разделяемых ресурсов (например, при попытке захватить запись). По истечении этого времени операция завершится с ошибкой. 300 (5 мин).
TransTimeOut числовой Параметр задает максимальное время выполнения транзакции (в 1/18 сек). По истечении этого времени транзакция завершается аварийно. 1080 (1 мин)
TrsMode числовой Параметр определяет режим работы системы транзакций. Значение этого параметра определяется суммой следующих чисел:
  • 1 — Включить систему транзакций.
  • 2 — Предварительное распределение ресурсов.
  • 4 — Немедленная запись журнала транзакции на диск
7 (Предварительное распределение ресурсов и немедленная запись журнала транзакции на диск)
HeapCtrl числовой Параметр определяет объем памяти (в байтах), выделяемой для работы с СУБД HyTech SQL процессу. 200000.
Verbose числовой Параметр разрешает или запрещает выдачу расширенной диагностики. 0 (Расширенная диагностика запрещена). Обычно расширенная диагностика применяется для отладки прикладных программ.
SabCount числовой Параметр определяет количество БДС HyTech на одного пользователя. Значение 'SabCount' обычно следует увеличить, если при работе появляется сообщение 'Много открытых БДС'. Обычно этот параметр надо увеличивать, если посылаются запросы типа:

select * from t
where f1 = 1 and
f2 = 2 and
f3 = 3 and
...
f100 = 1001)

Необходимое значение параметра SabCount можно приблизительно оценить по формуле:

SabCount = <Количество_условий_сравнения> * 1.2;

Сам массив БДС располагается в SQL куче пользователя и отнимает некоторое количество памяти. Каждый БДС занимает чуть больше 120 байт. Задание слишком большого количества БДС приводит к тому, что необходимо будет увеличить размер SQL-кучи (параметр 'SqlHeap' - см. выше).

40
StackSize числовой Параметр определяет максимальный размер стек SQL интерпретатора (в элементах). Значение 'StackSize' обычно следует увеличить, если при работе появляется сообщение 'Переполнение стека'. Использование таблиц с большим количеством полей приводит к тому, что надо увеличивать размер операционного стека. Необходимый размер можно оценить по формуле:

StackSize = <Количество_полей>+50

Сам операционный стек располагается в SQL-куче и отнимает некоторое количество памяти), каждый элемент стека занимает около 30 байт). Задание слишком большого размера стека приводит к тому, что необходимо будет увеличить размер SQL-кучи (параметр 'SqlHeap' - см. выше)

100

Раздел [Системный процесс]

Параметры в разделе 'Системный процесс' аналогичны параметрам, задаваемым в разделе 'SQL процесс'. Эти параметры определяют работу системного процесса SQL. Системный процесс SQL запускает или останавливает работу SQL процессов пользователей. Системный процесс SQL, также как и SQL процессы пользователей работает с таблицами HyTech, используя SQL.

Другие разделы файла инициализациии

Управление:

Раздел [Logging]

Служебный раздел.

Ключ Тип значения Назначение Значение по умолчанию
threadчисловой  0

Раздел [Generators]

Раздел имеет алиас [HSGENR] и задает параметры библиотеки работы с генераторами.

Ключ Тип значения Назначение Значение по умолчанию
LogFileсимвольный имя файла протоколаЕсли значение отсутствует, то используется заданное в разделе [Parameters]
debugчисловой состав протоколируемой информации 0
HeapSizeчисловой размер памяти под генераторы100000
HeapTaskчисловой  65000
HeapCtrlчисловой  2000000
threadчисловой  0

 

Раздел [HSHT]

Раздел задает параметры библиотеки нижнего уровня СУБД HyTech

Ключ Тип значения Назначение Значение по умолчанию
SharedLockInfoлогический (0/1)открывать ли файлы локальных замков в разделяемом режиме. это необходимо для работы функции, определяющей "захватчика" записи0
GroupIdxлогический (0/1)запретить использование индексов при группировке.0
TimingModeчисловойпараметры вывода информации по выполнению операций ядра СУБД.
  • 0 - не выводить
  • 1 - выводить в Debug
0

 

Раздел [Hytech help]

Раздел задает параметры промежуточной библиотеки межде Sql СУБД HyTech
Ключ Тип значения Назначение Значение по умолчанию
debugчисловойбитовая маска событий, которые выводятся в LogFile
  • 0 - никакие
  • 47 - предупреждения и ошибки
  • -1 - все
0
LogFileстроковый Параметр задаёт имя файла для протоколирования операций. Если значение отсутствует, то используется заданное в разделе [Parameters]

Раздел [Odbc]

Раздел задает параметры протоколирования обращений к внешним источникам данных через ODBC
Ключ Тип значения Назначение Значение по умолчанию
debugчисловойбитовая маска событий, которые выводятся в LogFile
  • 0 - никакие
  • 47 - предупреждения и ошибки
  • -1 - все
0
LogFileстроковый Параметр задаёт имя файла для протоколирования операций. Если значение отсутствует, то используется заданное в разделе [Parameters]

Раздел [Privileges]

Раздел параметры работы с таблицами, которые отсутствуют в системном каталоге.

Ключ Тип значения Назначение Значение по умолчанию
unknown_accessлогический (0/1)Разрешается ли обращаться к таблицам по имени файла, возможно с путем на файл 0

 


Copyright © SKAZ_M, 1994-2006
Last modified 05.05.04