четверг, 19 июля 2007 г.

Informix 11.10.UC1

Скачали Informix 11.10.UC1 с сайта IBM, это уже не бета-версия. Поставил на AIX. Изменился консольный инсталлер - теперь предлагает после установки помимо прочего сконфигурить и установить тестовый инстанс информикса. Изучаем.

А вот здесь можно почитать (официальное письмо ibm) о возможностях новой версии Информикса. Немного рекламы, куда же без нее :)

понедельник, 16 июля 2007 г.

Конфигурируем тестовый сервер - Часть 2

Продолжение. Первая часть здесь.

Конфигурационные параметры информикса находятся в файлах onconfig.$INFORMIXSERVER и sqlhosts. Например конфигурация экземпляра информикса tst_on находится в файле onconfig.tst_on. Можно конечно назвать конфигурационный файл как угодно, лишь бы это название было установлено в переменной окружения ONCONFIG, но приведенный выше пример удобен тем что позволяет понять к какому информиксу относится конфигурационный файл. Каждый экземпляр информикса должен иметь свой конфигурационный файл.
Чтобы экземпляр мог принимать подключения к базам данных, необходимо занести некоторую информацию о подключении в файл sqlhosts.
Оба этих файла должны находится в каталоге $INFORMIXDIR/etc

Примечание
Для Windows файл sqlhosts заменен веткой реестра, доступ к которой можно получить либо напрямую с помощью regedit либо через программу SetNet32.
В Linux (или в другом Unix) sqlhosts это обычный текстовый файл.

Изменения параметров в этих конфигурационных файлах в большинстве случаев вступают в силу только после перезапуска экземпляра информикса. Но некоторые конфигурационные параметры можно менять в online, т.е. без перезапуска сервера.

Начнем с файла ONCONFIG

указываем параметры системного дбспейса ROOTDBS

ROOTNAME 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

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