Informix-Online

Aus Mikiwiki
Wechseln zu: Navigation, Suche

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

Weblinks