Шрифт:
Интервал:
Закладка:
Доступны также другие способы определения размещения этих файлов. Конфигурирование параметра TempDirectories (TMP_DIRECTORY в версии 1.0.x) описано в разд. "Файл конфигурации Firebird" и разд. "Параметры для конфигурирования пространства временной сортировки" главы 36.
*_LOCK и *_MSG
FIREBIRD_LOCK (INTERBASE_LOCK В версии 1,0.x) устанавливает расположение файла блокировок. FIREBIRD_MSG (INTERBASE_MSG в версии 1.0.x) устанавливает расположение файла сообщений Firebird.
Эти две переменные независимы друг от друга, они могут указывать различные размещения файлов. Значение должно указывать полный путь, который существует в физической файловой системе хост-машины.
TMP
Пространство сортировки на серверной машинеПространство сортировки - это место на диске, где сервер сохраняет промежуточные результаты (во временных файлах) для запросов, которые требуют сортировки или используют агрегатные функции. Firebird 1.0.x для этого использует только дисковые файлы. Firebird 1.5, если может, сохраняет эти файлы в RAM и отправляет их на диск только в том случае, если оперативная память исчерпана.
Глобальная переменная окружения TMP (или TEMP В некоторых системах) указывает каталог на сервере, где приложения должны сохранять временные файлы. Firebird попытается сохранить временные файлы сортировки именно здесь, если не определена переменная окружения FIREBIRD_TMP (см. разд. "FIREBIRD TMP") и в файле конфигурации Firebird не указано пространство сортировки (см. переменные TempDirectories и TMP_DIRECTORY В главе 36).
Файлы скриптов isql на клиентеИнтерактивная утилита командной строки isql предоставляет возможность записывать последовательность интерактивных команд SQL в файл скрипта при использовании переключателя OUTPUT. На клиентской машине переменная TMP задает расположение этих файлов скриптов, если не было указано другого абсолютного пути. Если переменная TMP не установлена, то клиент Firebird использует любой другой временный каталог, который будет найден в локальной системе, обычно tmp в файловой системе клиента Linux/UNIX или C:Temp в клиенте Windows.
Файл конфигурации Firebird
Firebird не требует постоянной сложной реконфигурации, которая необходима другими тяжеловесными РСУБД. Тем не менее целый ряд вариантов конфигурирования доступен для настройки сервера Firebird и хост-системы, на которой он выполняется, под ваши специальные требования.
Файл конфигурации Firebird называется firebird.conf для всех версий Firebird 1.5 и выше. В предыдущих версиях его имя зависело от операционной системы:
* isc config - в Linux/UNIX;
* ibconfig - в Windows.
В версии 1.5 было добавлено несколько новых параметров.
Когда стартует сервер Firebird, он читает файл конфигурации и настраивает свои флаги времени выполнения (runtime flags), если файл конфигурации содержит значения, отличные от установленных по умолчанию. Данные из файла больше не будут считываться, пока не произойдет новый запуск сервера. Параметры конфигурации по умолчанию и их значения содержатся в файле конфигурации и закомментированы символом #. Нет необходимости убирать комментарий, чтобы сделать значения по умолчанию видимыми процедуре запуска сервера.
Изменение параметров конфигурации
Нет необходимости изменять значения по умолчанию, если только вы не собираетесь настроить некоторые из них. Это не рекомендуется делать, если вы не в полной мере понимаете, к чему это может привести.
Отдельные установки конфигурации по умолчанию, которые могут быть полезными для некоторых существующих приложений или инсталляций не по умолчанию, обсуждаются здесь вкратце. Полное описание параметров конфигурации см. в главе 36. Файл конфигурации можно редактировать любым текстовым редактором (например, vim в Linux или Блокнот в Windows). Не копируйте этот файл с машины Windows в Linux и наоборот, поскольку эти системы по-разному сохраняют символы перевода строки.
Записи параметров в файле firebird.conf представлены в форме:
имя_параметра = значение
где имя_параметра - строка, содержащая имя параметра (без пробелов), а значение - это число, логическая константа (1=Истина, 0=Ложь) или строка, которые задают значение параметра.
Для задания параметру значения, отличающегося от значения по умолчанию, удалите символ примечания (#) и отредактируйте значение.
Имена параметров и синтаксис в файле ibconfig/isc_config для Firebird 1,0.x отличаются от того, что может содержаться в firebird.conf. Формат, размер и количество параметров являются более ограниченными.
Формат в ibconfig/isc conflg:
имя_параметра значение
где промежуток между именем и значением может быть символами табуляции и пробелами (по желанию, как больше нравится). Каждая строка в файле ограничена 80 символами. Неиспользуемые параметры и инсталляционные значения по умолчанию закомментированы с помощью символа #.
Помните, что в Linux параметры чувствительны к регистру.
! ! !
ПРИМЕЧАНИЕ. Вы можете редактировать файл конфигурации и когда сервер запущен. Для активации изменений нужно остановить и заново запустить сервер.
. ! .
Корневой каталог FirebirdКорневой каталог инсталляции Firebird может использоваться в разных ситуациях - при инсталляции как используемый сервером атрибут, для параметров конфигурации и для клиентов. Поскольку есть разные способы сообщения серверу, где можно найти значение этого атрибута, разработчики и системные администраторы для его правильного определения должны знать, в каком порядке сервер находит это значение.
1. На любой платформе сервер в первую очередь смотрит глобальную переменную окружения FIREBIRD. Если он находит эту переменную, ее значение будет использовано без всяких условий.
2. Если переменная окружения FIREBIRD отсутствует, то для платформ Windows сервер отыскивает ключ в реестре
HKEY_LOCAL_MACHINESOFTWAREFirebird ProjectFirebird ServerInstances
и смотрит поле oefauitinstance. Если он находит в данном поле правильный путь к каталогу, то использует это значение. Другие платформы не имеют подобного указателя.
3. Если корневой каталог все еще не найден, то предполагается, что временный корневой каталог располагается на один уровень выше каталога запущенного процесса (,. для Windows и ../ или ссылка на /proc/self/exe для POSIX, если доступно).
4. Теперь процедура запуска ищет в этом каталоге файл firebird.config. Если файл firebird.config найден, то процедура отыскивает параметр RootDirectory. Если параметр присутствует, его значение становится окончательно корневым каталогом, иначе промежуточное значение из n.3 становится окончательным значением.
! ! !
ВНИМАНИЕ! Если файл firebird.config не был найден на уровне, предшествующем запускаемому процессу, это может означать, что корневой каталог не был определен по причине нестандартной инсталляции. Сервер должен найти корневой каталог файлов. Если вам встретилась ошибка безопасности или ошибка файловой системы в процессе соединения или во время выполнения, вы должны пересмотреть ваши пути инсталляции, чтобы убедиться, что все действия, описанные в данном разделе, правильно определили корневой каталог файлов и подкаталоги.
. ! .
Параметры, связанные с доступом к файламFirebird имеет несколько параметров для защиты его файлов и баз данных от разрушающего или неавторизованного доступа. Если вы перемещаете приложение работы с базой данных или используете инструмент администратора для Firebird 1.5, вам следует обратиться к разд. "Файл конфигурации Firebird" в главе 36 для получения детальной информации об указанных далее параметрах.
* RootDirectory - может быть использован для изменения абсолютного пути к корневому каталогу в локальной файловой системе. Он должен оставаться закомментированным, если только вы не захотите изменить процедуру запуска, перекрыв путь к корневому каталогу инсталляции сервера Firebird (см. n. 3 в предыдущем разделе).
* DatabaseAccess - в Firebird 1.0.x сервер может соединяться с любой базой данных в его локальной файловой системе и всегда доступен приложениям, передающим абсолютный путь к файлу в файловой системе. Этот параметр был введен в версии 1.5, чтобы обеспечить более четкое управление безопасностью при доступе к файлам базы данных, а также для поддержки средства алиасов баз данных.
Инсталляция по умолчанию устанавливает значение параметра в Full, чтобы имитировать поведение Firebird версии 1,0.x. Альтернативные режимы могут ограничить доступ сервера только к базам данных с алиасами или к базам данных, размещенных в указанных каталогах файловой системы.
! ! !
ВНИМАНИЕ! Настоятельно рекомендуется установить этот режим и сделать доступным средство алиасов баз данных. Информацию об алиасах базы данных см. в главе 4.
. ! .
* ExtemaiFiieAccess - заменяет параметр EXTERNAL_FILE_DIRECTORY, введенный в версии 1,0. Этот параметр обеспечивает три уровня безопасности для External Files (внешние файлы - текстовые файлы фиксированного формата, к которым возможен доступ, как и к таблицам базы данных). Если вы переносите базу данных, в которой определены внешние файлы таблиц, вам нужно установить этот параметр для версии 1.5, потому что он отключен по умолчанию. Конфигурация необязательная, тем не менее рекомендуется для версии 1.0.x.
- Delphi. Учимся на примерах - Сергей Парижский - Программирование
- Сделай видеоигру один и не свихнись - Слава Грис - Программирование / Руководства
- Психбольница в руках пациентов - Алан Купер - Программирование