Первоначальная настройка

Минимум, что необходимо сделать при первоначальной настройке экземпляра Informix - создать два конфигурационных файла: Файлы должны располагаться в каталоге $INFORMIXDIR/etc. В этом каталоге имеются два файла-образца - onconfig.std и sqlhosts.std. Образцы следует оставить нетронутыми - вместо этого сделайте их копии и редактируйте только копии.
	/ > cd $INFORMIXDIR/etc
	/usr/informix/etc > cp onconfig.std onconfig
	/usr/informix/etc > cp sqlhosts.std sqlhosts
	/usr/informix/etc >

Перед началом настройки обязательно найдите файл machine notes, в котором приведены особенности настройки СУБД конкретно для вашей платформы. Этот файл имеет имя $INFORMIXDIR/release/en_us/0333/ids_machine_notes_версия.txt

Параметры конфигурации экземпляра

Как уже сказано, параметры экземпляра СУБД задаются в файле onconfig. Для того, чтобы просто запустить минимально работоспособный экземпляр, большинство параметров, перечисленных в нашей копии onconfig, можно оставить без изменений. Однако некоторые из них придется все-таки отредактировать.

ROOTPATH, ROOTOFFSET, ROOTSIZE

Три параметра, указывающие расположение и размер корневого табличного пространства. Это единственная область дисковой памяти, координаты которой задаются в файле конфигурации. Размещение всех прочих областей фиксируется самой СУБД во внутренней (служебной) базе данных sysmaster, которая будет располагаться в корневом пространстве.

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

Параметр ROOTSIZE задает размер файла в килобайтах.

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

Выбирая размер корневого пространства, имейте в виду, что, в зависимости от версии, пустой (только что инициализированный) экземпляр СУБД займет в корневом пространстве от 150 до 300 мегабайт.

К моменту первого запуска СУБД сам файл корневого пространства должен существовать, хотя его истинный размер не имеет значения (в процессе инициализации этот файл будет расширен до нужного размера). Кроме того, для него должны быть установлены необходимые права доступа, а именно:

Допустим, для размещения табличных пространств мы выбрали каталог файловой системы /fs1, физически размещенный на отдельном диске. Прежде всего создадим сам файл:
	/ > cd /fs1
	/fs1 > touch rootspace
	/fs1 > chown informix:informix rootspace
	/fs1 > chmod 660 rootspace
	/fs1 > ls -l
	drwxrwx--- 2 informix informix        4096 Feb 17 22:00 .
	drwxr-xr-x 7 root     root            4096 Feb 17 21:33 ..
	-rw-rw---- 1 informix informix           0 Feb 26 15:12 rootspace
	/fs1 >
Теперь создадим отдельный каталог, в котором будем размещать ссылки на файлы пространств
	/ > cd /
	/ > mkdir Spaces
	/ > chown informix:informix Spaces
	/ > cd Spaces
	/Spaces > ln -s /fs1/rootspace rootspace
	/Spaces > ls -l
	drwxrwx--- 2 informix informix        4096 Feb 17 22:00 .
	drwxr-xr-x 7 root     root            4096 Feb 17 21:33 ..
	lrwxrwxrwx 1 informix informix           0 Feb 26 15:12 rootspace -> /fs1/rootspace
	/Spaces >

Теперь, считая, что для начала нам хватит 400 мегабайт дисковой памяти, можем записать в onconfig:

	ROOTPATH /Spaces/rootspace
	ROOTOFFSET 0
	ROOTSIZE 400000

Зеркалирование корневого пространства включать пока не будем, оставив параметру MIRROR нулевое значение.

SERVERNUM

Этот параметр - номер экземпляра Informix на данном хосте (экземпляре операционной системы). Может быть числом от 0 до 255. Экземпляры, работающие на одном хосте, должны иметь разные номера. Таким образом, теоретически на одной машине можно запустить не более 256 экземпляров СУБД - хотя, как правило, ограничиваются одним-двумя.

Если мы настраиваем первый (единственный) экземпляр Informix на нашей машине, можно оставить значение по умолчанию (нулевое).

SHMBASE

Параметр задает базовый адрес пула разделяемой памяти, используемого СУБД. Обычно этот параметр не требует редактирования, но для полной уверенности в том, что все будет работать правильно, следует просмотреть файл machine notes - там могут содержаться рекомендации по изменению этого параметра.

DBSERVERNAME, DBSERVERALIASES

Параметр DBSERVERNAME задает основное имя экземпляра СУБД. При необходимости можно задать одно или несколько дополнительных имен в параметре DBSERVERALIASES, перечислив их через запятую. Можно задать не более 32 дополнительных имен.

Несколько имен могут понадобиться, если мы хотим обеспечить доступ к СУБД несколькими способами одновременно - например, через сеть и через разделяемую память. Для начала нам будет достаточно одного имени, поэтому DBSERVERALIASES оставим пустым, а в DBSERVERNAME впишем выбранное нами имя, например:

	DBSERVERNAME myinformix
	DBSERVERALIASES

TAPEDEV

Параметр задает имя файла устройства, используемого для архивирования СУБД. В нашей тестовой инсталляции пока не будем настраивать архивирование, поэтому укажем имя фиктивного устройства

	TAPEDEV /dev/null

LTAPEDEV

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

	LTAPEDEV /dev/null

Параметры подключения

Параметры подключения к СУБД Informix задаются в файле $INFORMIXDIR/etc/sqlhosts. Там должны быть перечислены все экземпляры Informix, с которыми мы собираемся работать. Так как экземпляр у нас пока один и мы собираемся подключаться к нему только одним способом, в файле будет всего одна строчка (не считая комментариев). Если имя компьютера - myhost, она может выглядеть так:

	myinformix	olsoctcp	myhost	sqlexec

Строчка состоит из четырех полей, разделенных пробелами или символами табуляции.

В последних версиях Informix файл sqlhosts.std содержит подробные комментарии. Следует только иметь в виду, что в вашей версии могут поддерживаться не все протоколы доступа, так что предварительно нужно свериться все с теми же machine notes. Номер порта можно выбирать совершенно произвольно, учитывая обычные ограничения (номер не меньше чем 1024 и никем другим не занят). По стандарту IANA для Informix выделены порты 9088 и 9089. Возможно, в вашем файле /etc/services уже имеются строчки

	sqlexec         9088/tcp    # IBM Informix SQL Interface
	sqlexec         9088/udp    # IBM Informix SQL Interface

Первый запуск

Теперь практически все готово для запуска СУБД. Непосредственно перед запуском должны быть установлены три переменные окружения:

Рекомендуется также включить каталог $INFORMIXDIR/bin в путь поиска, заданный переменной окружения PATH.

	/ > export $INFORMIXDIR=/usr/informix
	/ > cd $INFORMIXDIR
	/usr/informix > export INFORMIXSERVER=myinformix
	/usr/informix > export ONCONFIG=onconfig
	/usr/informix > export PATH=$INFORMIXDIR/bin:$PATH
	/usr/informix > oninit -iy
		. . . . . . пауза в несколько (десятков) секунд
	/usr/informix >

Никаких сообщений вы, скорее всего, не увидите. Если увидите - значит, что-то точно пошло не так.

Чтобы проверить текущее состояние СУБД, дайте команду
	/usr/informix > onstat -

	IBM Informix Dynamic Server Version 11.70.FC7 -- On-Line -- Up 00:01:08 -- 146600 Kbytes

	/usr/informix >

Выводится название и номер версии продукта, текущее состояние (On-Line), время работы и размер используемой разделяемой памяти.

СУБД ведет свой протокол в текстовом файле, имя которого задано в конфигурации (onconfig) параметром MSGPATH. Обычно этот файл - $INFORMIXDIR/tmp/online.log. Приведу фрагмент реального протокола инициализации сервера - фрагмент сильно урезанный, оставлены только те строки, на которые следует обратить внимание.
21:53:44  IBM Informix Dynamic Server Started.
21:53:45  Event alarms enabled.  ALARMPROG = '/usr/informix/etc/alarmprogram.sh'

21:53:59  IBM Informix Dynamic Server Initialized -- Complete Disk Initialized.

21:53:59  Building 'sysmaster' database ...

21:53:59  Dynamically allocated new virtual shared memory segment (size 8192KB)
21:53:59  Memory sizes:resident:366840 KB, virtual:49588 KB, no SHMTOTAL limit

21:53:59  On-Line Mode

21:54:30  'sysmaster' database built successfully.
21:54:31  'sysutils' database built successfully.
21:54:31  'sysuser' database built successfully.
21:54:37  Building 'sysadmin' database ...

21:54:44  Performance Advisory: Logical log file size might be too small for a
          checkpoint to complete.
21:54:44   Results: The size of individual logical log files is too small for
          the current workload, resulting in each log file filling very
          quickly. If log files fill in less than 30 seconds, the checkpoint
          might remain blocked because the last log file fills during the time
          needed to perform the checkpoint.
21:54:44   Action: Increase the size of the individual logical log files so
          that it takes at least 30 seconds to fill each one. Look at the
          online log to determine how quickly the log files are filling, and
          then increase the size of the files proportionately.

21:54:44  'sysadmin' database built successfully.

Служебные базы данных

В процессе инициализации СУБД создает в корневом табличном пространстве несколько служебных баз данных:

Эти базы не предназначены для хранения пользовательских данных.

Далее - см. Запуск и останов СУБД