Чтение онлайн

ЖАНРЫ

Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ

Борри Хелен

Шрифт:

Переменные окружения

Переменные окружения - глобальные установки системы, которые используются при первоначальной загрузке операционной системы. В Windows, Linux и в большинстве систем UNIX сервер Firebird распознает и использует некоторые переменные окружения, если они установлены. Процессы fbserver (архитектура Суперсервера) и fb inet server (архитектура Классического сервера) не распознают установок, которые ссылаются на сетевые ресурсы (диски и файловые системы), не управляемые физически серверной машиной.

Где устанавливаются переменные окружения

Windows

Тип переменных окружения и способ их установки меняется от одной версии Windows к другой. В табл. 3.1 показаны типы (если применимы) и способы установки значений переменным окружения.

Таблица 3.1. Установки переменных окружения для Windows

Версия Windows

Тип

переменной

Описание

Наличие

Windows 95/98

He применяется

Используйте Блокнот и установите переменные окружения в autoexec.bat или config.sys. Формат установки: SET <имя переменному = значение переменному.

Пример:

SET FIREBIRD=C:\PROGRAM\FIREBIRD.

Для просмотра всех текущих установок переменных окружения наберите SET в командной строке

Нет

Windows NT/2000/XP

Переменные пользователя. Делает переменные доступными для приложений, запускаемых конкретным пользователем, если этот пользователь подключен

Используется для ограничения видимости переменных определенным пользователям. Диалоговое окно Свойства системы (System Properties), доступное через апплет Система (System applet) на Панели управления или через контекстное меню, появляющееся при щелчке правой кнопкой мыши на объекте Мой Компьютер и выборе элемента Свойства

Да

Windows NT

– //-

Выберите Расширенное окружение | Новое (Advanced Environment | New)

Windows 2000/XP

– //-

Выберите Расширенное окружение | Переменные окружения | Новое

(Advanced Environment | Variables | New)

Windows NT/2000/XP

Системные переменные. Доступны для всей системы (все сервисы, все пользователи).

Команды SET записаны в командной строке. Переменные доступны только процессам, запущенным из командной строки

Используйте, если Firebird запущен как сервис. Выберите Расширенное окружение | Переменные окружения | Новое (Advanced Environment | Variables | New) или Редактировать (Edit), если доступно

Да

– //- – //-

Полезно для установки переменной окружения для временного использования (например, ISC_USERH ISC_PASSWORD для упрощения доступа из утилит командной строки при выполнении задач администратора). Используйте SET <имя_переменной> = <значение переменной> для установки значения переменной; используйте SET <имя_переменной> =, чтобы установить пустое значение

Нет

POSIX

В Linux и UNIX самый простой путь установления переменных окружения - добавить их определения в общесистемный профиль значений по умолчанию.

Пользователь root также может:

* выдать команды setenv из командной строки wu командного скрипта;

* для временного использования установить и экспортировать переменную из командной строки, например, export ISC_USER=SYSDBA.

ISC_USER и ISC_PASSWORD

Эффект этой опасной пары переменных окружения - дать доступ с правами пользователя SYSDBA к серверу Firebird и его базам данных через утилиты командной строки или клиентские приложения любому, кто может соединиться с хост-машиной. Они удобны для разработчиков.

Если вы не указываете имя пользователя и пароль при локальном соединении с базой данных, или когда вы запускаете утилиты командной строки, такие как gbak, gstat или gfix, Firebird проверяет, установлены ли переменные окружения ISC_USER и ISC PASSWORD. Если установлены, Firebird позволяет вам соединиться без указания пароля. Никогда не оставляйте эти переменные установленными на сервере, который содержит важные базы данных, если помещение, где располагается сервер, не является физически хорошо защищенным!

Переменная FIREBIRD (или INTERBASE)

Если установлена переменная окружения FIREBIRD (INTERBASE для версии 1.0.x), то она используется и при инсталляции, и в процессе работы на всех платформах для указания

корневого каталога сервера Firebird. Если она присутствует, то перекрываются все другие установки - значения по умолчанию инсталляционного пакета, установки в реестре Windows, конфигурация в firebird.conf, значения глобальных путей операционной системы и т.д.

В процессе инсталляции она указывает на каталог, в котором должен быть установлен Firebird. Значение переменной должно задавать полный путь, который существует в физической файловой системе на хост-машине. При старте сервер читает значения в файле конфигурации firebird.conf (или ib_config/isc_config в версии 1.0.x), который должен находиться в каталоге, назначенном переменной FIREBIRD (ИЛИ INTERBASE). Этот каталог должен быть родительским для каталога bin, где размещаются двоичные файлы Firebird. Здесь также по умолчанию находятся файлы сообщений и замков: firebird.msg (interbase.msg) и hostname.lck.

! ! !

ПРИМЕЧАНИЕ. Вы можете указать другое размещение файлов firebird.msg (interbase.msg) и firebird.lck (interbase.lck), установив переменные окружения FIREBIRD_MSG (INTERBASE_MSG) и FIREBIRD_LOCK (INTERBASE_LOCK). см. следующие разделы.

. ! .

Если переменная FIREBIRD не установлена, будут использованы значения по умолчанию:

* /opt/firebird - для платформ Linux/UNIX;

* C:\Program FilesXFirebird (версия 1,0.x) или C:\Program Files\Firebird\Firebird_1_5 (версия 1.5) - для платформ Windows.

В табл. 1.2-1.5 в главе 1 указаны точные пути. Если Firebird установлен в каталоге, отличном от каталога по умолчанию, и задана переменная FIREBIRD, то клиентская библиотека будет читать значение переменной для определения пути инсталляции.

В Windows клиентские приложения могут также найти путь инсталляции, читая в реестре поле Defauitmstance, которое создается, если проводилась инсталляция только клиента.

HKEY_LOCAL_MACHINE\SOFTWARE\Firebird Project\Firebird Server\Instances

Более подробное обсуждение способов поиска сервером размещения этих файлов см. далее в этой главе в разд. "Корневой каталог Firebird". Информацию об установках только клиента см. в разд. "Установка клиентов" главы 7.

FIREBIRD_TMP

По умолчанию Firebird будет использовать глобальное пространство временных файлов, обычно задаваемое как системное значение по умолчанию переменной окружения TMP (обсуждается далее). Переменная окружения FIREBIRD_TMP (В версии 1.0.x - INTERBASE TMP) задает пользовательское размещение для файлов сортировки Firebird. Значение должно указывать полный путь, который существует в физической файловой системе хост-машины.

Доступны также другие способы определения размещения этих файлов. Конфигурирование параметра 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.

Поделиться с друзьями: