Zuletzt bearbeitet vor 11 Jahren
von Andre Knieschewski

Informix Installation

Vor der Konfiguration sollten Sie sich überlegen ob die Datenbank auf UTF8 oder auf ISO8859-1 laufen soll und welchen Port Sie benutzen wollen (Standardport: 1542). In meinem Beispiel werde ich UTF und ISO Konfigurieren. Als erstes müssen Sie den Port im System bekannt geben. Dazu öffnen Sie die Datei /etc/services mit root-Rechten.

Hier sehen Sie links den Servicenamen und danach die Portnummer mit Protokoll. Die Services sind in der Datei nach den Portnummern sortiert. Daher gehen Sie jetzt bis zu der entsprechenden Nummer runter. Wenn diese Nummer belegt ist, Kommentieren Sie den Dienst mit '#' aus. Jetzt können Sie die Zeile 'superx_server_utf 1542/tcp' einfügen (oder halt 'superx_server_iso 1542/tcp'). 'superx_server_utf' wäre in diesem Fall der Servicename und '1542/tcp' bedeutet Port 1542 mit dem TCP Protokoll.

Da ich hier einen Service für utf und einen für iso brauche sieht es bei mir folgendermaßen aus:

# Sudhakar Rajamannar <mobius1&cerfnet.com>
#gridgen-elmd 1542/tcp # gridgen-elmd
#gridgen-elmd 1542/udp # gridgen-elmd
superx_server_utf 1542/tcp
# John R. Chawner +1 817 354-1004
#simba-cs 1543/tcp # simba-cs
#simba-cs 1543/udp # simba-cs
superx_server_iso 1543/tcp

Wie Sie sehen habe ich 2 Dienste Auskommentiert. Für die utf-Datenbank habe ich den Port 1542 genommen und für die iso-Datenbank den Port 1543.

Als nächstes gehen Sie in das Verzeichnis, in dem Sie Informix installiert haben und dort in den Ordner 'etc'. Sie können meine 'sqlhosts' übernehmen oder selber die Datei editieren.

(chown informix:informix sqlhosts)sqlhostsapplication/octet-stream

#**************************************************************************
#
# Licensed Material - Property Of IBM
#
# "Restricted Materials of IBM"
#
# IBM Informix Dynamic Server
# (c) Copyright IBM Corporation 1996, 2004 All rights reserved.
#
# Title: sqlhosts.demo
# Description:
# Default sqlhosts file for running demos.
#
#**************************************************************************
# IANA (www.iana.org) assigned port number/service names for Informix:
# sqlexec 9088/tcp
# sqlexec-ssl 9089/tcp

#demo_on onipcshm on_hostname on_servername
#demo_se seipcpip se_hostname sqlexec

#servername Protokoll Host Service
superx_host_utf onipcshm memtext superx_shm_utf
superxdb_utf onsoctcp memtext superx_server_utf
superx_host_iso onipcshm memtext superx_shm_iso
superxdb_iso onsoctcp memtext superx_server_iso

Wie Sie sehen, habe ich hier die demo-Hosts auskommentiert und für iso und utf jeweils 2 Hosts hinzugefügt. Das könne sie ruhig so übernehmen, nur müssen Sie unter Host den Namen 'memtext' mit dem Ihren definiertem Rechnernamen, der auch in der /etc/hosts steht, ersetzen.

Nun gehen Sie in den übergeordneten 'informix'-Ordner. Dort brauchen Sie noch die IDS_ENV in der die Variablen für die Datenbank gesetzt werden. Hier habe ich natürlich auch wieder zwei. Einmal die IDS_ENV_ISO und die SQL_ENV_UTF.IDS_ENV_ISOapplication/octet-streamIDS_ENV_UTFapplication/octet-streamIDS_ENV_ISOIDS_ENV_UTF

#!/bin/sh
INFORMIXDIR=/opt/IBM/informix; export INFORMIXDIR
INFORMIXSERVER=superx_host_iso; export INFORMIXSERVER
ONCONFIG=onconfig.superx_iso; export ONCONFIG
INF_BIN=$INFORMIXDIR/bin; export INF_BIN
PATH=$PATH:$INF_BIN:$SUPERX_DIR/db/bin; export PATH
DBMONEY=. ; export DBMONEY
DBDATE=DMY4. ; export DBDATE
TERMCAP=${INFORMIXDIR}/etc/termcap; export TERMCAP
CLIENT_LOCALE=de_de.8859-1; export CLIENT_LOCALE
SERVER_LOCALE=de_de.8859-1; export SERVER_LOCALE
DB_LOCALE=de_de.8859-1; export DB_LOCALE
GL_DATETIME='%d.%m.%Y %T'; export GL_DATETIME#!/bin/sh
INFORMIXDIR=/opt/IBM/informix; export INFORMIXDIR
INFORMIXSERVER=superx_host_utf; export INFORMIXSERVER
ONCONFIG=onconfig.superx_utf; export ONCONFIG
INF_BIN=$INFORMIXDIR/bin; export INF_BIN
PATH=$PATH:$INF_BIN:$SUPERX_DIR/db/bin; export PATH
DBMONEY=. ; export DBMONEY
DBDATE=DMY4. ; export DBDATE
TERMCAP=${INFORMIXDIR}/etc/termcap; export TERMCAP
CLIENT_LOCALE= ; export CLIENT_LOCALE
SERVER_LOCALE= ; export SERVER_LOCALE
DB_LOCALE= ; export DB_LOCALE
GL_DATETIME='%d.%m.%Y %T'; export GL_DATETIME

Diese Datei muss (z.B. für ISO) mit '. IDS_ENV_ISO' geladen werden, bevor die Datenbank gestartet wird.

(Auf www.super-ics.de war noch Eintrag export TERMCAP=/etc/termcap nötig, damit onmonitor gestartet werden kann)

In der IDS_ENV_... wird in Zeile 4 die onconfig.superx_... geladen, die Sie als nächstes bearbeiten sollten. In der onconfig stehen alle wichtigen Daten der Datenbank drin, z.B. die Größe, Ort, wo die Logdateien stehen... Als erstes wechseln Sie in das Verzeichnis 'etc' im Informix Ordner. Dort finden Sie eine Datei 'onconfig', die Sie als Vorlage nehmen können. Mit dem Befehl 'cp onconfig onconfig.superx_iso' erstellen Sie sich die Vorlage für iso. In der Datei müssen Sie aber noch Änderungen vornehmen:

Den ROOTPATH habe ich auf var/lib/informix/db/iso/rootdbs geändert. Dies ist aber nicht notwendig. Wenn Sie allerdings zwei Datenbanken (ISO und UTF) betreiben wollen, muss der ROOTPATH unterschiedlich sein. Wichtig ist auch hierbei, dass die Datei 'rootdbs' angelegt wird und mit 'chmod 660' und 'chown informix:informix' die entsprechenden Rechte bekommt. Bei ROOTSIZE bestimmen Sie wie groß die Datenbank sein darf. Die Datei wir sofort den gesamten Speicherplatz, den Sie hier eingeben, reservieren. Bei der Wahl der Größe ist zu beachten, dass die Datenbank ca. 100 MB für sich aus der ROOTSIZE nimmt. Die Größe können Sie aber auch später nochmal erhöhen.

Bei MSGPATH und CONSOLE müssen Sie nur Änderungen vornehmen, wenn Sie ISO und UTF laufen lassen wollen, da sich sonst die Logdateien unübersichtlich werden. Ich habe z.B. einfach 'online_iso.log' und 'online_utf.log' daraus gemacht. Für DBSERVERNAME und DBSERVERALIASES geben Sie die die Dienste ein, die Sie vorhin in der 'etc/sqlhosts' eingetragen haben. Bei mir war das 'DBSERVERNAME superx_host_iso' und 'DBSERVERALIASES superxdb_iso'. Als letztes können Sie noch LTAPEDEV auf '/dev/null' setzen. Das schaltet zwar das Logging aus, trotzdem entstehen noch sehr viele Einträge. Ansonsten wird es auch sehr unübersichtlich.

Nun nochmal eine Übersicht der Änderungen für ISO und UTF:onconfig.superx_isoapplication/octet-streamonconfig.superx_utfapplication/octet-streamonconfig.superx_isoonconfig.superx_utfROOTPATH

/var/lib/informix/db/iso/rootdbs

ROOTSIZE 2000000
MSGPATH $informix/tmp/online_iso.log
CONSOLE $informix/tmp/online_iso.con
DBSERVERNAME superx_host_iso
DBSERVERALIASES superxdb_iso
LTAPEDEV /dev/nullROOTPATH /var/lib/informix/db/utf/rootdbs
ROOTSIZE 2000000
MSGPATH $informix/tmp/online_utf.log
CONSOLE $informix/tmp/online_utf.con
DBSERVERNAME superx_host_utf
DBSERVERALIASES superxdb_utf
LTAPEDEV /dev/null

Damit ist die Konfiguration abgeschlossen. Wechseln Sie in das Hauptverzeichniss der Datenbank (bei mir '/opt/IBM/informix') und geben '. IDS_ENV_ISO' (oder UTF) ein um die Konfiguration zu laden. Nun sollte sich die Datenbank mit oninit starten lassen. Bei allerersten Start kann man mit 'oninit -ivy' auch gleich den DBSPACE anlegen. Mit '-v' bezwecken Sie, dass der Startvorgang angezeigt wird.

Nun noch ein paar wichtige Befehle:oninitstartet den Datenbankserver und bringt ihn in online-Modusonmode -uckybeendet den DatenbankserveronstatZeigt die aktuellen Prozesse des DB-Servers anoninit -sVon Offline nach quiescentonmode -mVon quiescent nach onlineonmonitorZeigt aktuellen Status sowie ein Menü zur Administration antail -200 $INFORMIXDIR/online.logZeigt das Ende der Logdatei anipcs -mAnzeigen von Shared Memory für die Datenbankoncheck -pt <<Datenbank>>:<<Tabellenname>>Zeigt die Extents einer Tabelle anoncheck -ceZeigt den genutzten Speicherbedarf der Extends für jeden dbspace an