[[Vorlage(archiviert )]] [[Vorlage(Fortgeschritten)]] {{{#!vorlage Wissen [:Canonical_Partner: Aktivieren der Paketquelle Canonical Partner] [:Pakete_installieren: Installation von Programmen] }}} [[Inhaltsverzeichnis]] [http://www.ibm.com/informix IBM Informix Dynamic Server (IDS)] {en} ist eine gerade bei Linux-Anwendern beliebte kommerzielle objektrelationale SQL-Datenbank. Die IDS-Technologie basiert auf einer Kombination der "Multithreaded"-Architektur, der "Parallel Execution Engine" von Informix und den objektrelationalen Funktionen von Illustra (einer kommerziellen Version von Postgres). Die aktuelle IDS-Version unterstützt neben Datenkompression und Hochverfügbarkeit auch verschiedene Clustertopologien (inkl. Shared-Disk Unterstützung). Der folgende Artikel bezieht sich sowohl auf die kostenlose [http://www.ibm.com/software/data/informix/ids/developer Entwickler Version (Developer Edition)] {en} der aktuellen Version 11.50 des Informix Dynamic Server als auch auf das kostenlose, grafische [http://www.openadmintool.org/ OpenAdmin Tool für IDS] {en} (OAT). = Installation = Die IDS 11.50 Entwickler-Edition ist in den Partner-Paketquellen [1] von Canonical für Ubuntu 8.04 enthalten. Über die Paketverwaltung lässt sich der Datenbankserver inklusive aller zugehörigen Pakete installieren. Ein für die Installation notwendiger Benutzer `informix` und eine Gruppe `informix` (siehe auch [:Benutzer_und_Gruppen:]) werden durch die Installation der Pakete ggf. automatisch angelegt. Folgende Pakete müssen installiert [2] werden: * '''informix-ids''', ''partner'', Basisinstallation von Informix-Dynamic-Server * '''informix-ids-demo''', ''partner'', optional, Informix-Demo-Instanz * '''informix-csdk''', ''partner'', optional, Informix-Entwicklungs-Tools und -APIs * '''informix-pdo''', ''partner'', optional, Informix-PDO-Treiber für PHP5 = Erste Schritte mit Informix = == Benutzer `informix` == Im Rahmen der Paketinstallation wurde ein neuer Benutzer `informix` erzeugt. Dieser Benutzer ist der Standard-Datenbankadministrator. In einem ersten Schritt sollte man diesem Benutzer ein Passwort zuteilen ([:Benutzer_und_Gruppen:]) z.B. mithilfe des Kommandos: {{{#!vorlage Befehl sudo passwd informix }}} Danach hat man die Möglichkeit sich im Terminal als Benutzer `informix` anzumelden {{{#!vorlage Befehl su - informix }}} == Umgebungsvariablen == Damit man als Benutzer `informix` eine Informix-Instanz administrieren kann, sollten folgende Umgebungsvariablen korrekt gesetzt sein: `$INFORMIXDIR`, `$PATH`, `$INFORMIXSERVER`, `$ONCONFIG` und ggf. auch noch `$INFORMIXSQLHOSTS` und `$TERMCAP`. || '''Umgebungsvariable''' || '''Bedeutung''' || '''Standardwert(e)''' || || `$INFORMIXDIR` || Zeigt normalerweise auf das Informix-Installationsverzeichnis || Unter Ubuntu ist dies normalerweise '''/opt/IBM/informix''' || || `$PATH` || || Sollte '''$INFORMIXDIR/bin''' beinhalten || || `$INFORMIXSERVER` || Der Name der zu verwendenden Informix-Instanz || Nach der Installation von '''informix-ids-demo''' ist dies "''demo_on''" || || `$ONCONFIG` || Der Name der aktuellen Informix-Konfigurationsdatei || `$ONCONFIG` bezeichnet eine Datei relativ zum '''$INFORMIXDIR/etc''' Verzeichnis. `$ONCONFIG` der Demo-Instanz zeigt auf ''"onconfig.demo_on"'' || || `$INFORMIXSQLHOSTS` || Zeigt auf eine Datei, die die notwendigen Informationen zur Kommunikation mit der Informix-Instanz beinhaltet || Nach der Installation des Pakets '''informix-ids-demo''' sollte `$INFORMIXSQLHOSTS` auf die Datei '''/opt/IBM/informix/etc/sqlhosts.demo_on''' zeigen. Wird `$INFORMIXSQLHOSTS` nicht gesetzt, wird als Standard die Datei '''/opt/IBM/informix/sqlhosts''' verwendet. || || `$TERMCAP` || Optional: Wird z.B. für den interaktiven Modus von ''"dbaccess"'' benötigt || Sollte auf '''/opt/IBM/informix/etc/termcap''' zeigen || Hat man das Paket '''informix-ids-demo''' installiert, kann man die notwendigen Umgebungsvariablen sehr leicht setzen, in dem man folgendes Kommando in der '''/bin/bash'''- oder '''/bin/ksh'''-Shell ausführt: {{{#!vorlage Befehl . /opt/IBM/informix/demo/server/profile_settings }}} Alternativ kann man für die '''/bin/csh'''-Shell folgendes Kommando zum Setzen der Informix-Umgebungsvariablen nutzen: {{{#!vorlage Befehl source /opt/IBM/informix/demo/server/profile_settings.csh }}} Es empfiehlt sich, die fraglichen Umgebungsvariablen in den entsprechenden Autostartskripten der Login-Shells zu setzen. == Starten, Stoppen und Status der Informix-Instanz == Das Starten und Stoppen der Informix-Datenbank-Instanz kann nur vom Benutzer "informix" durchgeführt werden. Zum Starten der Instanz führt man normalerweise folgendes Kommando aus: {{{#!vorlage Befehl oninit }}} Zum Stoppen der Instanz verwendet man normalerweise folgendes Kommando: {{{#!vorlage Befehl onmode -ky }}} Um den aktuellen Status der Informix-Instanz abzufragen verwendet man: {{{#!vorlage Befehl onstat - }}} oder auch: {{{#!vorlage Befehl onstat -m }}} == Automatisches Starten von Informix == Im Normalfall möchte man die Informix-Datenbank beim Hochfahren von Ubuntu automatisch starten. Für diesen Zweck benötigt man ein '''/etc/init.d''' Skript ([:Dienste:]) für Informix. Im Folgenden ein Beispiel für ein '''/etc/init.d/informix''' Skript, dass die Informix Demo-Instanz automatisch startet. Man erzeugt mithilfe eines Editors und Root-Berechtigung die Datei '''/etc/init.d/informix''' mit folgendem Inhalt: {{{#!code bash #!/bin/sh ### BEGIN INIT INFO # Provides: informix # Required-Start: $local_fs $remote_fs $network $syslog # Required-Stop: $local_fs $remote_fs $network $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start/Stop des Informix Dynamic Servers (Demo-Instanz) # Description: ### END INIT INFO INFORMIXSERVER=demo_on INFORMIXDIR="/opt/IBM/informix" ONCONFIG="onconfig.demo_on" INFORMIXSQLHOSTS="/opt/IBM/informix/etc/sqlhosts.demo_on" PATH=${INFORMIXDIR}/bin:${PATH} export INFORMIXSERVER INFORMIXDIR ONCONFIG INFORMIXSQLHOSTS PATH export IFX_NO_TIMELIMIT_WARNING=1 if [ $# -lt 1 ] then echo "Usage: $0 {start|stop}" else case "$1" in 'start') if [ `$INFORMIXDIR/bin/onstat 2>&- | grep -c On-Line` -ne 1 ] then rm -f /INFORMIXTMP/* rm -f /opt/IBM/informix/demo/server/online*.log rm -f /opt/IBM/informix/tmp/* echo -n "Starting Informix Dynamic Server 11.50..." $INFORMIXDIR/bin/oninit echo "done" fi ;; 'stop') if [ `$INFORMIXDIR/bin/onstat 2>&- | grep -c On-Line` -eq 1 ] then echo -n "Shutting down Informix Dynamic Server 11.50..." $INFORMIXDIR/bin/onmode -ky echo "done" fi ;; *) echo "Usage: $0 {start|stop}" ;; esac fi }}} Nach dem Speichern der '''/etc/init.d/informix'''-Datei muss man die Berechtigungen korrekt setzen: {{{#!vorlage Befehl sudo chmod 755 /etc/init.d/informix }}} Zum Schluss ruft man folgendes Kommando auf: {{{#!vorlage Befehl sudo update-rc.d informix defaults }}} Möchte man den Informix-Autostart deaktivieren, führt man folgendes Kommando aus: {{{#!vorlage Befehl sudo update-rc.d -f informix remove }}} == Erzeugen von Datenbanken, Tabellen und Verwenden von SQL-Skripten == Möchte man als Anwender neue Datenbanken in einer Informix-Instanz erzeugen oder Tabellen in einer Datenbank definieren, so bietet sich das `dbaccess`-Programm dafür an. Bevor man dbaccess verwenden kann, sollte man sicherstellen, dass die notwendigen Umgebungsvariablen (s. den entsprechenden Abschnitt) für den jeweiligen Benutzer gesetzt sind. Um dbaccess im interaktiven Modus zu verwenden, wird es so aufgerufen: {{{#!vorlage Befehl dbaccess }}} Man kann mittels dbaccess auch SQL-Skripte im Batchbetrieb ausführen: {{{#!vorlage Befehl dbaccess .sql }}} == Die "stores_demo"- und "superstores_demo"-Demodatenbanken == Man hat bei Informix die Möglichkeit, zwei verschiedene Demodatenbanken zu Testzwecken sehr leicht zu erzeugen. Für eine Demodatenbank ([http://publib.boulder.ibm.com/infocenter/idshelp/v115/index.jsp?topic=/com.ibm.sqlr.doc/ids_sqr_313.htm stores_demo] {en}) mit einem klassischen relationalen Datenmodell kann man folgendes Kommando ausführen: {{{#!vorlage Befehl dbaccessdemo -log }}} Für eine Demodatenbank ([http://publib.boulder.ibm.com/infocenter/idshelp/v115/index.jsp?topic=/com.ibm.sqlr.doc/ids_sqr_353.htm superstores_demo] {en}), die u.a. die erweiterten Möglichkeiten der objektrelationalen Eigenschaften von Informix demonstriert, ruft man folgende Kommandos auf. Die ersten drei Kommandos muss man als Benutzer `informix` ausführen. Das Kommando `dbaccessdemo9` kann jeder berechtigte Benutzer der Informix-Instanz aufrufen: {{{#!vorlage Befehl touch /opt/IBM/informix/demo/server/s9_sbspc }}} {{{#!vorlage Befehl chmod 660 /opt/IBM/informix/demo/server/s9_sbspc }}} {{{#!vorlage Befehl onspaces -c -S s9_sbspc -p /opt/IBM/informix/demo/server/s9_sbspc -o 0 -s 4000 }}} {{{#!vorlage Befehl dbaccessdemo9 -log }}} = Installation des (grafischen) OpenAdmin Tool (OAT) für IDS = Das OpenAdmin-Tool für IDS ist eine kostenloses PHP-/web-basiertes, grafisches Administrations-Tool für IDS ab der Version 11.10 und höher. OAT kann bei Bedarf auch unabhängig von Informix Dynamic Server installiert werden, z.B. für die Fernwartung von Informix-Instanzen. [[Vorlage(Bildunterschrift, OAT_SQLTrace.png, "Das OpenAdmin Tool für IDS (hier: SQL-Trace)", right)]] == Installation == Um OAT nutzen zu können, installiert man folgendes Paket: * '''informix-oat''', ''partner'' Damit ist die Erstinstallation und die Erstkonfiguration von OAT abgeschlossen. Nun öffnet man die folgende URL in einem Webbrowser (z.B. Firefox) um die Grundkonfiguration von OAT zu starten: {{{ http://localhost:8082/openadmin/index.php }}} == Grundkonfiguration von OAT == Bevor man mit OAT Informix-Instanzen verwalten kann, muss man im Prinzip noch zwei Konfigurationsschritte durchführen: * Einen Eintrag oder mehrere Einträge in der OAT-Verbindungsdatenbank erzeugen * Das Adobe Flash Plugin für den Webbrowser installieren Um einen Eintrag in der OAT-Verbindungsdatenbank zu erzeugen, sollte man den nachstehenden Arbeitsschritten folgen. Als Beispiel werden die Verbindungsinformationen für die ''demo_on'' Demo-Instanz verwendet, die automatisch vom Informix Ubuntu Installations Paket '''informix-ids-demo''' angelegt wird: [[Vorlage(Bildunterschrift, OAT_AddConn.png, "Definition einer Datenbankverbindung in OAT", right)]] 1. Starten von OAT im Webbrowser über die folgende URL: {{{ http://localhost:8082/openadmin/index.php }}} 1. Auf der Einstiegsseite links oben die ''"Admin"''-Option auswählen. 1. Aus dem ''"Manage Connections"''-Menü auf der linken Seite wählt man ''"Add Connection"''. 1. Die ''"OAT Group"'' sollte man am besten erst einmal auf ''"Default"'' belassen. 1. ''"Informix Server"'' definiert man als ''"demo_on"''. 1. ''"Host Name"'' setzen man auf ''"localhost"''. 1. ''"Port"'' ist für die demo_on Instanz ''"9088"''. 1. Als ''"Username"'' verwendet man ''"informix"'' und als ''"Password"'' sollte man das für den Benutzer `informix` vergebene Passwort verwenden (siehe auch den Abschnitt [#Benutzer-informix Benutzer `informix`]). 1. Sollte die Informix-''"demo_on"''-Instanz laufen, kann man die Verbindungsdaten über die Option ''"Test Connection"'' testen. 1. In jedem Fall sollten man die Verbindungsdaten durch einen [[Vorlage(Tasten, lmt)]]-Klick auf ''"Save"'' sichern. Danach kann man durch Auswahl der Option ''"Login"'' in der linken, oberen Ecke von OAT auf die Anmeldeseite von OAT zurückwechseln. Um die Anmeldung an die ''"demo_on"''-Instanz zu testen, sollte man Folgendes machen: 1. Im ''"Quick Login"''-Fenster sicherstellen, dass die ''"OAT Group"'' "Default" ausgewählt wurde. Dass ''"Password"''-Feld sollte leer sein. Durch Klicken auf ''"Get Servers"'' den Eintrag ''"demo_on@localhost"'' auswählen. 1. Danach klickt man im ''"Server Details"'' Fenster auf ''"Login"''. 1. Sehr wahrscheinlich wird man jetzt einen Hinweis bekommen, dass das ''"Adobe Flash"''-Plugin fehlt. Sollte die Meldung kommen, installiert man das Flash Plugin gemäß der Hinweise im Browserfenster. 1. Damit ist die Grundkonfiguration von OAT abgeschlossen und kann eingesetzt werden. {{{#!vorlage Hinweis Sollte die URLs `http://localhost:8082/openadmin/install` oder `http://localhost:8082/openadmin/index.php` nicht funktionieren, könnte es sein, dass die Installationsprozedur für das '''informix-oat'''-Paket eine andere Portnummer vergeben hat. Man findet die aktuell vergebene Portnummer in folgender Datei: '''/usr/share/doc/informix-oat/README.Debian'''. }}} = Weiterführende Links = * [http://publib.boulder.ibm.com/infocenter/idshelp/v115/index.jsp IDS 11.50 Dokumentation] {de} {en} * [http://www.ibm.com/developerworks/forums/forum.jspa?forumID=548 IDS Entwickler und Anwenderforum] {en} * [http://www-01.ibm.com/support/search.wss?tc=SSGU8G&rs=630&rank=8&dc=DA4A20+DA700&dtm Informix Redbooks (kostenlos)] {en} * [http://www.ibm.com/developerworks/wikis/display/im/Informix+Dynamic+Server+11.5+Bootcamp Kostenlose Schulungen/Workshops] {de} {en} * [http://www.openadmintool.org OpenAdmin Tool für IDS] {en} * [http://www.informix-zone.com/informix-german-newsletter Technischer Informix Newsletter] {de} = Informix Community-Webseiten = * [http://www.informix-zone.com/ Informix Zone] {de} {en} * [http://www.iug.de/ Deutsche Informix User Group] {de} * [http://www.iiug.org/ Weltweite Informix User Group] {en} * [http://informixoncampus.blogspot.com/ Informix On Campus] {en} #tag: Installation, Server, unfreie Software, Datenbank, Informix, SQL, PHP, PDO