/ > 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, можно оставить без изменений. Однако некоторые из них придется все-таки отредактировать.
Три параметра, указывающие расположение и размер корневого табличного пространства. Это единственная область дисковой памяти, координаты которой задаются в файле конфигурации. Размещение всех прочих областей фиксируется самой СУБД во внутренней (служебной) базе данных sysmaster, которая будет располагаться в корневом пространстве.
Параметр ROOTPATH указывает имя файла, в котором будет размещаться корневое пространство. Это может быть имя реального файла или же имя символической ссылки на этот файл. Лучше всего указывать ссылку - в случае необходимости пространство можно будет легко перенести из одного файла в другой, соответственно изменив ссылку.
Параметр ROOTSIZE задает размер файла в килобайтах.
Параметр ROOTOFFSET задает смещение начала табличного пространства относительно физического начала файла и указывается также в килобайтах. Если пространство располагается в обычном файле, это смещение, как правило, устанавливают равным нулю. Ненулевое смещение может потребоваться, если вы решили расположить пространство на физическом устройстве - например, непосредственно в разделе жесткого диска, - и хотите сохранить нетронутой какую-либо информацию, хранящуюся в начале этого устройства (например, таблицу разделов).
Выбирая размер корневого пространства, имейте в виду, что, в зависимости от версии, пустой (только что инициализированный) экземпляр СУБД займет в корневом пространстве от 150 до 300 мегабайт.
К моменту первого запуска СУБД сам файл корневого пространства должен существовать, хотя его истинный размер не имеет значения (в процессе инициализации этот файл будет расширен до нужного размера). Кроме того, для него должны быть установлены необходимые права доступа, а именно:
/ > 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 нулевое значение.
Этот параметр - номер экземпляра Informix на данном хосте (экземпляре операционной системы). Может быть числом от 0 до 255. Экземпляры, работающие на одном хосте, должны иметь разные номера. Таким образом, теоретически на одной машине можно запустить не более 256 экземпляров СУБД - хотя, как правило, ограничиваются одним-двумя.
Если мы настраиваем первый (единственный) экземпляр Informix на нашей машине, можно оставить значение по умолчанию (нулевое).
Параметр задает базовый адрес пула разделяемой памяти, используемого СУБД. Обычно этот параметр не требует редактирования, но для полной уверенности в том, что все будет работать правильно, следует просмотреть файл machine notes - там могут содержаться рекомендации по изменению этого параметра.
Параметр DBSERVERNAME задает основное имя экземпляра СУБД. При необходимости можно задать одно или несколько дополнительных имен в параметре DBSERVERALIASES, перечислив их через запятую. Можно задать не более 32 дополнительных имен.
Несколько имен могут понадобиться, если мы хотим обеспечить доступ к СУБД несколькими способами одновременно - например, через сеть и через разделяемую память. Для начала нам будет достаточно одного имени, поэтому DBSERVERALIASES оставим пустым, а в DBSERVERNAME впишем выбранное нами имя, например:
DBSERVERNAME myinformix DBSERVERALIASES
Параметр задает имя файла устройства, используемого для архивирования СУБД. В нашей тестовой инсталляции пока не будем настраивать архивирование, поэтому укажем имя фиктивного устройства
TAPEDEV /dev/null
Параметр задает имя файла устройства, используемого для архивирования журналов транзакций. В нашей тестовой инсталляции пока не будем настраивать архивирование, поэтому укажем имя фиктивного устройства
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.
В процессе инициализации СУБД создает в корневом табличном пространстве несколько служебных баз данных:
Эти базы не предназначены для хранения пользовательских данных.
Далее - см. Запуск и останов СУБД