Informix-Online
Informix-Online ist ein von Informix Software hergestellter Datenbankserver.
Befehle
Logical logs
Manuelle Sicherung der logical logs
login: informix $ onstat -l
Falls alle logical logs zu 100% voll sind oder der letzte fast voll ist.
$ cd /export/home/informix/sicherung.sisis/logfiles $ touch logfile
Sichern der logical logs.
$ ontape -a Performing automatic backup of logical logs. Please mount tape 1 on /export/home/informix/sicherung.sisis/logfiles/logfile and press Return to continue ... Do you want to back up the current logical log? (y/n) y Please label this tape as number 1 in the log tape sequence. This tape contains the following logical logs: 194 - 198 Program over.
Anschliessend muss die gefüllte Datei "logfile" im Verzeichnis "/home/informix/sicherung.sisis/logfiles" umbenannt werden, z. B. in "logfile.194-198".
Danach ist der Server wieder online und es kann wieder gearbeitet werden.
Erhöhen der Anzahl logical logs
Zum Erhöhen der Logical logs muss der Server im "Quiescent mode sein".
1. Alle Benutzer müssen das System verlassen
2. Alle SISIS-Server herunterfahren: avserver, catserver, opserver, siaddae, apache
3. Als Benutzer "informix" den Server herunterfahren.
# su - informix $ onmode -ky
4. Server in den "Quiescent mode" fahren.
$ oninit -s $ onstat -d
5. Hinzufügen eines logical logs. Die Parameter LOGSIZE und LOGSMAX in der onconfig-Datei müssen entsprechend angepasst werden.
$ onparams -a -d rootdbs
bzw. (falls logdbs vorhanden ist)
$ onparams -a -d logdbs -s 10000
6. Kontrollieren, ob log angelegt wurde (A-flag beachten!)
$ onstat -l
Der Vorgang wird so oft wiederholt, wie neue logical logs benötigt werden. Es werden etwa 10 logical logs empfohlen.
Die neuen logical logs werden mit der nächsten Sicherung aktiviert.
Der verbleibende Platz im rootdbs kann zwischendurch mit "onstat -d" kontrolliert werden.
7. Server wieder in den Online-Modus fahren.
$ onmode -m $ onstat -d
8. Starten der SISIS-Server
SQL
Alle Inhalte der Tabelle "xyz" werden in die Datei "/tmp/file" geschrieben, wobei die einzelnen Felder durch Strichpunkte getrennt werden.
select * from xyz into outfile "/tmp/file" fields terminated by ";";
Ausgabe der Namen aller Benutzer, die ohne Geburtsdatum erfasst wurden.
select d02name from d02ben where d02gedatum is NULL;
Ersetzung der ersten drei Zeichen des Felds "d01gsi" durch die Zeichenfolge AAK, falls das Feld mit der Zeichenfolge "AaK" beginnt.
update d01buch set d01gsi[1,3]="AAK" where d01gsi[1,3]="AaK";
...
update d01buch set d01abtlg="" where d01abtlg="Nachschlagebestand" and d01mart="cdrom windows";
Locks
Bei der Vornahme von Änderungen an einer grösseren Anzahl von Buchdaten kann folgende Fehlermeldung auftreten.
ISAM: -134: ISAM error: no more locks
Lösung für die Beispieldatenbank "sisis":
1. Der Betrieb muss für die Dauer der Aktion stillstehen.
2. Datenbank "sisis" in den Nologging-Modus fahren, um Probleme mit zu langen Transaktionen zu vermeiden.
3. ...
$ ontape -N sisis
4. Sperren der Tabelle im Exklusiv-Modus. Damit wird nur ein Lock auf die Tabelle gesetzt.
$ dbaccess sisis - > lock table d01buch in exclusive mode;
5. Ausführung des ursprünglich geplanten SQL-Befehls
6. Datenbank wieder in den Unbuffered Logging-Modus setzen
Theoretisch könnte stattdessen auch die Anzahl der Locks erhöht werden, dadurch würde vom Informixserver aber sehr viel Speicher alloziert (22 Byte residentes Shared Memory je Lock).
Sicherung
Sicherung des Datenbankservers.
$ cd /opt/lib/informix/etc $ more onconfig.sisis TAPEDEV /export/home/informix/sicherung.sisis $ ontape -s -L 0
Export der Datenbank "sisis". Zuvor müssen alle SISIS-Server gestoppt werden.
$ cd /export/home/informix/sicherung.sisis $ dbexport sisis
Sicherungskonzept
$Id: infSich.txt,v 1.3 2001/01/25 09:52:14 reh Exp $ Beschreibung des Sicherungskonzeptes unter Linux 1. Sicherungskonzept - Die Informix Datenbank muss regelmaessig gesichert werden. Nach Moeglichkeit taeglich! Der Einfachheit halber sollte immer eine Level-0-Sicherung durchgeführt werden. Die Sicherung sollte zu Zeiten durchgeführt werden, in der die Aktivitäten auf der Datenbank gering sind. - Die logical logs werden auf Platte gesichert, die Gesamtsicherung auf Band. - Die Protokolle der Sicherung werden automatisch gedruckt. - Einmal pro Woche wird ein Check auf die Datenbank durchgefuehrt. - Die Protokolle der Checks werden ebenfalls automatisiert gedruckt. - Die gesamte Sicherungsprozedur laeuft als Cron-Job. 2. Systemtechnische Beschreibung Das Sicherungskonzept wurde mit dem Package "infsave" installiert. Die Paramter koennen mit dem Befehl "pkgparam -v infsave" abgefragt werden: CLASSES='none' USER='informix' GROUP='informix' INFORMIXDIR='/opt/lib/informix' INFORMIXSERVER='SunRise' INF_SICH_FILE='/opt/lib/informix/etc' INF_SICH_HOME='/home/informix' INF_SICH_PATH='/home/informix/sicherung.SunRise' VERSION='V1.0A60' PSTAMP='moncada-20000510' Das Skript fuer die taegliche Sicherung (inf.v71.sicherung.sh) liegt unter $INFORMIXDIR/etc also /opt/lib/informix/etc. Im selben Verzeichnis liegt das Skript (inf.v71.check.sh) fuer die woechentlichen Datenbankchecks. Die Protokolle und die Kopie der Onconfig-Datei werden im Home-Verzeichnis des Users informix unter sicherung.sisis abgelegt. Im Unterverzeichnis logfiles werden taeglich die Logical Logs gesichert. Diese werden immer als logfile angelegt und dann unter logfile.<DATUM>[.X] gesichert. Also z.B. logfile.010118 und logfile.010118.1. Protokolle, kopierte Onconfig-Dateien sowie Logical Logs die aelter als 5 Tage sind werden bei der Sicherung automatisch geloescht! Zur Sicherung der Logical Logs auf Platte ist folgendes zu beachten: In der Onconfig-Datei, hier onconfig.SunRise muss der Parameter LTAPEDEV auf folgenden Wert gesetzt werden: /home/informix/sicherung.SunRise/logfiles/logfile Sollen die Logical Logs manuell gesichert werden, so ist darauf zu achten, dass zuerst das File /home/informix/sicherung.SunRise/logfiles/logfile mit den entsprechenden Rechten angelegt wird. 3. Aufruf als Cron-Job Das Sicherungskonzept bietet Ihnen die Moeglichkeit eine Online-Sicherung als Cron-Job auszufuehren. Wichtig: Bitte beachten Sie, dass das Skript unter der Korn-Shell gestartet werden muß! Dazu ist in der Crondatei des Users informix sinngemaess folgender Eintrag noetig: # Aufruf für das Sicherungsskript inf.v71.sicherung.sh # Aufruf erfolgt Montags und Mittwochs um jeweils 22.30 Uhr 30 22 * * 1,3 ksh /opt/lib/informix/etc/inf.v71.sicherung.sh Der Sicherungszeitpunkt ist frei waehlbar, sollte aber aus systemtechnischen Gruenden in Zeiten geringer Datenbankzugriffe erfolgen. 4. Probleme bei oncheck Bricht die Sicherung durch Platzprobleme beim Aufruf eines onchecks ab, so ist es notwendig die Zeile #DBSPACETEMP=/tmp zu aktivieren. Die Variable ist so zu belegen, daß unter dem entsprechenden Pfad genügend Speicherplatz für die onchecks zur Verfügung steht. 5. Parameter zur Ablaufsteuerung Zur Ablaufsteuerung der Sicherung stehen Ihnen sieben Parameter (REPAIR, SUPRESS, ONCHECK_CC, ONCHECK_CE, ONCHECK_CR, ONCHECK_CI, ONCHECK_CD) zur Verfügung. Diese Parameter sind in der Defaulteinstellung aktiviert. Um einen dieser Parameter zu deaktivieren, weisen Sie ihm bitte den Wert "OFF" zu. z.B.:SUPRESS=OFF Der Parameter REPAIR darf im Einsatz als Cron-Job nicht aktiviert werden und dient nur zur Fehlerbehebung mit Start des Skriptes aus der Shell-Ebene. Der Parameter SUPRESS bewirkt im aktivierten Zustand eine Protokollierung ausschließlich der Fehlermeldungen, andere Meldungen werden unterdrückt. Die ONCHECK-Parameter erlauben eine spezifizierte Auswahl der Datenbankchecks. Soll ein Check nicht ausgeführt werden, so setzten Sie den entsprechenden Parameter bitte ebenfalls auf "OFF". oncheck -cc : Überprüfung der system catalog tables oncheck -ce : Überprüfung der chunk und extents oncheck -cr : Überprüfung der root reserved pages oncheck -cI : Überprüfung der Indizes (keys und rowids) oncheck -cD : Überprüfung der data rows und blob pages
README-inf.v71.txt
#***************************************************************************# # # # $Source: /home/cvs_sisis/inf-save/README-inf.v71.txt,v $ # # $Date: 2001/01/08 13:35:51 $ # # $Author: reh $ # # # #***************************************************************************# Installationsanweisung zu "inf.v71.sicherung.sh" 1. Leistungsumfang Bei dem Skript handelt es sich um ein Sicherungskonzept für INFORMIX-ONL-Datenbanken. 2. Installation Fuer einen erfolgreichen Einsatz des Sicherungskonzeptes muessen folgende Voraussetzungen erfuellt sein: - Pfade fuer die Protokolldateien und die Logical-Logs muessen angelegt sein - Erfolgreiche Installation des Package "infsave" - Falls die Logical-Logs nicht mit auf Band gesichert werden muß der Parameter LTAPEDEV in der Onconfig-Datei entsprechend dem gewünschten Sicherungspfad gesetzt sein 2.1 Installation des Package "infsave" Melden Sie sich bitte mit der Kennung "root" im System an und wechseln Sie in das Verzeichnis, in dem das Package steht. Installieren Sie das Package mit dem Befehl: "pkgadd -d infsave" Beantworten Sie die beiden Abfragen nach den Installationsverzeichnissen für das Skript sowie des Sicherungspfades der Protokolldateien und evtl. der Logical Logs. 2.2 "Eintrag in der Onconfig-Datei" Wechseln Sie unter der Benutzerkennung "informix" in das Verzeichnis: $INFORMIXDIR/etc Falls Sie die Logical-Logs auf Platte sichern möchten, ändern Sie nun in der entsprechenden Onconfig-Datei den Parameter LTAPEDEV auf folgenden Eintrag: $SICHPATH_HOME/sicherung.$INFORMIXSERVER/logfiles/logfile wobei die absoluten Pfadnamen zu verwenden sind. 3. Aufruf als Cron-Job Das Sicherungskonzept bietet Ihnen die Moeglichkeit eine Online-Sicherung als Cron-Job auszufuehren. ACHTUNG: Bitte beachten Sie, daß das Skript unter der Korn-Shell gestartet werden muß! Dazu ist in der Crondatei sinngemäß folgender Eintrag noetig: # Aufruf für das Sicherungsskript $SICHPATH_HOME/tools/inf.v71.sicherung.sh # Aufruf erfolgt Montags und Mittwochs um jeweils 22.30 Uhr 30 22 * * 1,3 ksh /home/informix/tools/inf.v71.sicherung.sh Der Sicherungszeitpunkt ist frei waehlbar, sollte aber aus systemtechnischen Gruenden in Zeiten geringer Datenbankzugriffe erfolgen. 4. Probleme bei oncheck Bricht die Sicherung durch Platzprobleme beim Aufruf eines onchecks ab, so ist es notwendig die Zeile #DBSPACETEMP=/tmp zu aktivieren. Die Variable ist so zu belegen, daß unter dem entsprechenden Pfad genügend Speicherplatz für die onchecks zur Verfügung steht. 5. Parameter zur Ablaufsteuerung Zur Ablaufsteuerung der Sicherung stehen Ihnen sieben Parameter (REPAIR, SUPRESS, ONCHECK_CC, ONCHECK_CE, ONCHECK_CR, ONCHECK_CI, ONCHECK_CD) zur Verfügung. Diese Parameter sind in der Defaulteinstellung aktiviert. Um einen dieser Parameter zu deaktivieren, weisen Sie ihm bitte den Wert "OFF" zu. z.B.:SUPRESS=OFF Der Parameter REPAIR darf im Einsatz als Cron-Job nicht aktiviert werden und dient nur zur Fehlerbehebung mit Start des Skriptes aus der Shell-Ebene. Der Parameter SUPRESS bewirkt im aktivierten Zustand eine Protokollierung ausschließlich der Fehlermeldungen, andere Meldungen werden unterdrückt. Die ONCHECK-Parameter erlauben eine spezifizierte Auswahl der Datenbankchecks. Soll ein Check nicht ausgeführt werden, so setzten Sie den entsprechenden Parameter bitte ebenfalls auf "OFF". oncheck -cc : Überprüfung der system catalog tables oncheck -ce : Überprüfung der chunk und extents oncheck -cr : Überprüfung der root reserved pages oncheck -cI : Überprüfung der Indizes (keys und rowids) oncheck -cD : Überprüfung der data rows und blob pages