Vor der eigentlichen Installation der CD sind einige Vorarbeiten am System zu leisten.
Da ADABAS D mit Semaphoren, Shared-Memory und Message-Queues arbeitet, ist der Kernel mit System-V IPC (/usr/src/linux/.config:CONFIG_SYSVIPC=y) zu übersetzen.
Bei pre-2.0 Kerneln ist die maximale Größe des Shared-Memory Segments auf 4MB begrenzt. Um das zu ändern ist der Wert für SHMMAX in /usr/src/linux/include/linux/shm.h auf 0x1000000 zu setzen.
Weiter Kernelparameter die evtl. notwendig sind, werden auf der ADABAS D CD in readme.pe beschrieben. Bei Kernel 2.0.30 sind i.d.R. keine Anpassungen dieser Werte nötig.
Vor der Installation ist ein Benutzer anzulegen, der Eigentümer der Adabas Binaries sein soll. Außerdem sollte eine Gruppe für die Mitbenutzer des DBMS angelegt werden.
Die Namen hierfür können beliebig vergeben werden. In den folgenden Beispielen wird von einem Adabas-Eigentümer adabas und einer Gruppe dba ausgegangen.
Für die Installation sollte ein Filesystem mit mindestens 60MB freiem Speicher ausgewählt werden. Im Beispiel wird von /opt/adabas ausgegangen.
Dem Adabas-Eigentümer wird als Homedirectory /opt/adabas zugewiesen. Im Profile ist die Variable DBROOT auf /opt/adabas zu setzen.
Alle Benutzer die mit der Datenbank arbeiten sollen müssen die Variable DBROOT im Environment gesetzt haben. Um die ADABAS D Dienstprogramme ausführen zu können, sollte PATH entsprechend gesetzt sein. Am einfachsten sind hierzu in die Login-Shell-Profile Dateien im Homedirectory der Benutzer (oder global in /etc/profile) folgende Zeilen einzufügen:
... # setup ADABAS D environment # DBROOT=/opt/adabas PATH=$PATH:$DBROOT/bin export DBROOT PATH ...
Für die Installation von ADABAS D sind teilweise Root-Rechte nötig. Auf der CD ist eine Beispieldatenbank MYDB enthalten.
Bei der Frage ,,Ownership of ... user name: '' ist adabas, bei der ,,... group name: '' dba anzugeben.
Alternativ kann auch ohne Install Programm via tar(1) installiert werden. Dazu ist kein X11 erforderlich:
$ cd $DBROOT /opt/adabas$ tar zxovf /cdrom/adad6115.tgz ... /opt/adabas$ tar zxovf /cdrom/mydb.tgz ... /opt/adabas$ su - root -c "cd $DBROOT && ./bin/x_install"
Die Datenbank-Software ist jetzt in $DBROOT installiert. Die Beispieldatenbank MYDB befindet sich unter $DBROOT/wrk/MYDB/.
In der Datenbank MYDB existieren hauptsächlich folgende vorkonfigurierte User:
Ein DB Startup/Shutdown Aktion kann nur vom Control-User (s.o.) bei MYDB control, Passwort control durchgeführt werden.
Um das Datenbanksystem benutzen zu können, muß es hochgefahren werden. Das Hochfahren besteht aus zwei Schritten:
Vor dem Herunterfahren des Rechners muß die Datenbank heruntergefahren werden:
Zum Starten, Stoppen gibt es mehrer Möglichkeiten. Auf die wichtigsten wird im Folgendem kurz eingegangen:
Das TCL/Tk Programm panel erlaubt ein Startup/Shutdown via X11 GUI. Eine Dokumentation zu panel konnte ich in der HTML Dokumentation auf der CD leider nicht finden.
Schritte zum Startup:
$ panel &
Schritte zum Shutdown:
Das Programm xcontrol dient zur Administration der Datenbank über ein character-basierendes User-Interface. Zum Starten in einem XTerm siehe 7.1.
Schritte zum Startup/Shutdown:
$ xcontrol -u "control,control" -D MYDB(Die Parameter können auch in einem Dialog beim Programmstart eingegeben werden.)
Das interaktive Startup/Shutdown, wie oben beschrieben, ist bei einem Datenbankserver, der täglich hoch- und runtergefahren wird nicht sehr komfortabel. Bei System-V basierendem init(8) Setup (z.B. Debian) kann folgendes Script zum automatischem Shutdown/Startup eingesetzt werden:
# start/stop ADABAS D RDBMS Server # # **** # WARNING: this script is a potential security hole because DBA control # userid/passwd is stored here in plain text, the script should be readable # only for root # **** # # set -x # DB database name # DB=MYDB case $1 in start) su - adabas -c "x_start $DB && xutil -d $DB -u control,control restart" ;; stop) su - adabas -c "xutil -d $DB -u control,control shutdown && x_stop $DB" ;; *) echo "Usage: $0 start|stop" >&2 esac
Das Script sollte als /etc/init.d/adabas installiert werden und nach /etc/rc2.d/S90adabas und /etc/rc0.d/K20adabas gelinkt werden.