Продолжение. Первая часть
здесь.
Конфигурационные параметры информикса находятся в файлах
onconfig.$INFORMIXSERVER и
sqlhosts. Например конфигурация экземпляра информикса tst_on находится в файле onconfig.tst_on. Можно конечно назвать конфигурационный файл как угодно, лишь бы это название было установлено в переменной окружения ONCONFIG, но приведенный выше пример удобен тем что позволяет понять к какому информиксу относится конфигурационный файл. Каждый экземпляр информикса должен иметь
свой конфигурационный файл.
Чтобы экземпляр мог принимать подключения к базам данных, необходимо занести некоторую информацию о подключении в файл sqlhosts.
Оба этих файла должны находится в каталоге $INFORMIXDIR/etc
Примечание
Для Windows файл sqlhosts заменен веткой реестра, доступ к которой можно получить либо напрямую с помощью regedit либо через программу SetNet32.
В Linux (или в другом Unix) sqlhosts это обычный текстовый файл.
Изменения параметров в этих конфигурационных файлах в большинстве случаев вступают в силу только после перезапуска экземпляра информикса. Но некоторые конфигурационные параметры можно менять в online, т.е. без перезапуска сервера.
Начнем с файла ONCONFIG
указываем параметры системного дбспейса ROOTDBSROOTNAME rootdbs # Root dbspace name
ROOTPATH /informix/data/raw_root # Path for device containing root dbspace
ROOTOFFSET 0 # Делаем смещение 0 потому что чанки на файлах
ROOTSIZE 100000 # Size of root dbspace (Kbytes)
/informix/data/rootdbs_tst - это путевое имя для Linux, для Windows оно может быть например таким C:\InformixData\rootdbs_tst
В тестовом сервере будем использовать чанки в файлах, поэтому смещение внутри чанка можно указывать 0. В промышленных серверах Informix выгоднее с т.з. производительности и надежности использовать сырые устройства (raw device) или устройства с прямым доступом минуя кэш операционной системы, и в некоторых случаях смещение для таких устройств должно быть ненулевым, например при использовании Logical Volume Manager.
Параметры физического журналаФизический журнал это то место куда информикс записывает before image (исходных образов) страниц с данными перед их модификацией для обеспечения отказоустойчивости при возможных сбоях оборудования или программного обеспечения. Для тестового сервера расположение физ. журнала делаем в ROOTDBS, в дальнейшем его можно будет перенести в отдельный dbspace. Размер делаем 50 Mb что вполне достаточно для тестирования.
PHYSDBS rootdbs_tst_on # Location (dbspace) of physical log
PHYSFILE 51200 # Physical log file size (Kbytes)
Параметры логического журналаВ логический журнал (журнал транзакций) записываются сведения о всех изменениях данных, о чекпоинтах, а также другая служебная информация. Логический журнал используется информиксом для управления транзакциями с целью восстановления логической целостности данных в случае сбоев, для обеспечения отката транзакций, и для поддержки восстановления данных из бэкапов. Все базы данных на экземпляре информикса имеют общий логический журнал.
LOGFILES 10 # Number of logical log files
LOGSIZE 51200 # Logical log size (Kbytes)
Первоначально при инициализации экземпляра логический журнал располагается в ROOTDBS, но затем его можно будет перенести в другой dbspace.
Журнал сообщенийЭто текстовый файл, сюда информикс пишет сведения о событиях на сервере: информация о чекпоинтах, добавленных блокировках и сегментах памяти, ошибках, кол-во максимальных подключений и некоторая другая полезная для администратора Информикса информация.
MSGPATH /informix/online.tst_on.log # System message log file path
Номер и имя экземпляра ИнформиксаНомер экземпляра Информикса это уникальный идентификатор от 0 до 255 именно столько экземпляров информикса (не путать с базами данных!) может быть запущено одновременно в операционной системе. Номер экземпляра также указывает смещение для сегментов в разделяемой памяти ОС, именно поэтому
не должно быть двух экземпляров с одинаковыми SERVERNUM которые запущены на одном хосте. Имя также служит для обращения к нужному экземпляру и как связь с записями в файле
sqlhosts (об этом файле позже).
SERVERNUM 0 # Unique id corresponding to a OnLine instance
DBSERVERNAME tst_on # Name of default database server
Параметры архивации сервера и файлов логического журналаМы настраиваем тестовый сервер, но без архивации транзакций не обойтись, заодно настроим архивацию данных. Выберу самый простой способ: архивацию на файловую систему. Итак необходимые параметры для настройки:
# System Archive Tape Device
TAPEDEV /dev/null # Tape device path
TAPEBLK 32 # Tape block size (Kbytes)
TAPESIZE 102400 # Maximum amount of data to put on tape (Kbytes)
# Log Archive Tape Device
LTAPEDEV /dev/null # Log tape device path
LTAPEBLK 32 # Log tape block size (Kbytes)
LTAPESIZE 102400 # Max amount of data to put on log tape (Kbytes)
ALARMPROGRAM /informix/d03_on/etc/no_log.sh # Alarm program path
Как видим все данные в процессе архивации складываются в /dev/null, т.е. попросту в никуда. Для учебного тестового сервера это нормально, но такое нельзя делать для рабочего сервера, поскольку тогда в случае повреждения данных восстановить такой бэкап будет невозможно. Поэтому
если требуется проводить нормальную архивацию данных и журналов с возможностью восстановления, эти параметры надо настроить например так:# System Archive Tape Device
TAPEDEV /informix/backup/data # Tape device path
TAPEBLK 32 # Tape block size (Kbytes)
TAPESIZE 102400 # Maximum amount of data to put on tape (Kbytes)
# Log Archive Tape Device
LTAPEDEV /informix/backup/logs # Log tape device path
LTAPEBLK 32 # Log tape block size (Kbytes)
LTAPESIZE 102400 # Max amount of data to put on log tape (Kbytes)
ALARMPROGRAM /informix/d03_on/etc/log_full.sh # Alarm program path
Конечно же файлы указанные в TAPEDEV и LTAPEDEV должны сущестовать и иметь права доступа -rw-rw---- informix informix
В принципе настройки приведенных выше параметров достаточно для запуска тестового экземпляра информикса.
Теперь необходимо настроить файл подключений sqlhosts. В него прописывается запись для каждого экземпляра информикса, к которым необходимо иметь доступ. Вот запись для тестового сервера:
tst_on onsoctcp d03 1526 т.е. название экземпляра, название протокола, имя хоста где установлен экземпляр, и номер порта который будет слушать информикс.
Это вся базовая конфигурация, которой достаточно чтобы запустить учебный тестовый экземпляр информикса.