Выбрать главу

В Linux вы должны учитывать, что имена параметров чувствительны к регистру.

! ! !

ПРИМЕЧАНИЕ. Вы можете редактировать файл конфигурации в то время, когда сервер работает. Для активации изменений конфигурации необходимо остановить и снова запустить сервер.

. ! .

"Отсутствующие" параметры в Firebird 1.0.x

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

* Если отсутствующий параметр, принадлежащий ibconfig или isc_config, необходим для работы, он может быть добавлен.

* Если вы включите параметр, который не поддерживается в той версии, которая у вас запущена, он будет проигнорирован.

* Имена параметров и синтаксические конструкции в ibconfig/isc config не являются взаимозаменяемыми в firebird.conf.

Установки менеджера блокировок

Улучшенные установки менеджера блокировок обсуждаются позже в конце главы 40.

Параметры, связанные с файловой системой
RootDirectory

Версия 1.5 и более поздние.

Значением этого параметра является строка, задающая абсолютный путь к корневому каталогу локальной файловой системы. Этот параметр должен оставаться закомментированным, если только вы не хотите, чтобы процедура запуска заменила путь к корневому каталогу инсталляции сервера Firebird, который иначе она определяет сама. Серверы Firebird 1.5 и выше следуют заранее определенным путем для поиска корневого каталога. Логика этого пути объясняется в главе 3.

DatabaseAccess

Версия 1.5 и более поздние.

В Firebird 1.0.x сервер может соединиться с любой базой данных в его локальной файловой системе и всегда доступен приложениям, передающим абсолютный путь к файлу в файловой системе. Настоящий параметр был добавлен в версии 1.5 для более жесткого контроля безопасности при доступе к файлам базы данных и для поддержки системы алиасов базы данных. Этот параметр предоставляет возможность ограничения доступа сервера только к базам данных, имеющим алиасы, или только к базам данных, расположенным в указанных деревьях файловой системы.

DatabaseAccess может иметь Значения Full, None или Restrict.

* Full (по умолчанию) разрешает доступ к файлам базы данных в любом месте локальной файловой системы.

* None позволяет серверу соединяться только с базами данных, которые указаны в списке aliases.conf.

! ! !

ВНИМАНИЕ! Настоятельно рекомендуется установить этот режим и использовать средства алиасов баз данных. Алиасы баз данных описаны с примерами в главе 4.

. ! .

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

POSIX: /db/databases;/userdir/data

Windows: D:\data

Относительные пути трактуются как дополнительные к корневому каталогу установки сервера. Например, под Windows, если корневым каталогом является C:\Program Files\Firebird, то следующее значение будет ограничивать доступ сервера к файлам баз данных, размещенных на CAProgram Fiies\Firebird\userdata:

DatabaseAccess = Restrict userdata

Параметры для конфигурирования временного пространства для сортировки

Когда размер внутреннего буфера сортировки слишком мал для размещения строк, включенных в операцию сортировки, для Firebird требуется создание временных файлов для сортировки в файловой системе сервера. По умолчанию он будет отыскивать путь, заданный в переменной окружения INTERBASE_TMP. Если эта переменная не указана, он постарается использовать путь /tmp в файловой системе Linux/UNIX или C:\Temp в Windows NT/2000/XP. Ни одно из этих размещений не может конфигурироваться для задания размера.

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

Все запросы CONNECT или CREATE DATABASE совместно используют один и тот же список каталогов для временных файлов, и каждый запрос создает свои собственные временные файлы. Файлы сортировки освобождаются при завершении сортировки или при отмене запроса.

В версии 1.5 имя этого параметра изменилось с tmp_directory на TempDirectories. Также поменялся и синтаксис значения параметра.

TempDirectories

Версия 1.5 и более поздние.

Предоставляет список из одного или более каталогов, разделенных точкой с запятой (;), где могут сохраняться файлы сортировки. Каждый элемент может включать необязательный аргумент размера в байтах для ограничения хранения. Если этот аргумент опущен или задан неверно, Firebird будет использовать пространство в этом каталоге, пока не исчерпает его объем, а после чего перейдет к следующему каталогу в списке, например:

POSIX: /db/sortfilesl 100000000;/firebird/sortfiles2

Windows: E:\sortfiles 500000000

Относительные пути трактуются относительно пути, который запущенный сервер распознает как корневой каталог инсталляции Firebird. Например, в Windows, если корневым каталогом является C:\Program Files\Firebird, то следующее значение сообщит серверу, что он должен сохранять временные файлы в C:\Program Files\Firebird\userdata\sortfiles с ограничением размера примерно в 477 Мбайт:

TempDirectories = userdata\sortfiles 500000000

tmp_directory

Версии до Firebird 1.5.

Синтаксис старого значения для tmp directory требует включения одной строки tmp_directory для каждого каталога, в котором вы хотите сохранять временные файлы сортировки. Задавайте количество байтов, доступных в каждом каталоге, и в кавычках путь к каталогу, который существует на физическом накопителе с достаточным объемом свободной памяти. Вы можете перечислить множество записей, по одной на строке; пространства не обязательно должны быть смежными или размещаться на одном устройстве хранения данных.

Пример. Следующие записи задают список в одном файле конфигурации:

tmp_directory 6000000 "d:\fbtemp"

tmp_directory 12000000 "f:\fbtemp"

tmp_directory 4000000 "w:\backwash"

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

Параметры, связанные с ресурсами

CpuAffinityMask

Версии 1.5 и выше под Windows.

cpu_affinity

Версии до Firebird 1.5 под Windows.

В Суперсервере Firebird под Windows могут быть проблемы с операционной системой, постоянно переключающей процесс Суперсервера туда и сюда между процессорами на машинах SMP. В списках поддержки это называется "эффектом качелей" и на таких системах он может оказывать сильное воздействие на производительность. Данный параметр должен быть использован для установки одного или более конкретных процессоров для Суперсервера Firebird.

Параметры CpuAffinityMask и cpu?affinity получают значение целого числа: маску CPU. Например:

CpuAffinityMask = 1

cpu_affinity = 1

Суперсервер запускается только на первом процессоре (CPU 0).

CpuAffinityMask = 2

cpu_affinity = 2

Запускается только на втором процессоре (CPU 1).

CpuAffinityMask = 3

cpu_af finity = 3

Запускается на первом и на втором процессорах.