SEP sesam Extension für Oracle
SEP sesam Extension for Oracle 8i/9i/10g/11g on Linux, Unix and Windows
(C)SEP AG
Copyright 1999-2011 by SEP AG. All Rights reserved.
Any form of reproduction of the contents or parts of this manual is allowed only with the express written permission from SEP AG. When compiling and designing user documentation SEP AG uses great diligence and attempts to deliver accurate and correct information. However, SEP AG cannot issue a guarantee for the contents of this manual.
Contents |
Einleitung
Das SEP sesam Online Modul für Oracle/RMAN bietet eine Media Management Library (MML) zur Datensicherung von Oracle Datenbanken auf Sesam Server. Die API der MML ist von Oracle dazu bestimmt dem Recovery Manager (RMAN). SEP sesam verwaltet dann das gesamte Handling von Backup-Medien wie das Laden der korrekten Bänder während RMAN entscheidet welche Daten gesichert oder rückgesichert werden. Dieses Dokument bietet Informationen über die Sesam-spezifischen Teile von Oracle Sicherungen. Es handelt sich hierbei nicht um ein Oracle/RMAN Administrationshandbuch. Bitte lesen Sie die RMAN Dokumentation um sich mit Oracles Sicherungs- und Rücksicherungs- Konzepten und Tools vertraut zu machen.
Systemvoraussetzungen
- Oracle 8i/9i/10g/11g auf Linux, AIX, Solaris und Windows
- SEPsesam v3.4 (inkl. DB-Online-Module für Oracle 8/9/10/11)
- Standard Sesam Backup Client installiert
- Dateisystem-Sicherungen sollten mit diesem Sesam Clienten funktionieren
- Für Oracle Online Sicherungenmuss die Datenbank im Archiv-Logmodus laufen
Bitte konsultieren Sie das Oracle Administrationshandbuch. Zur Installation gehen wir von der folgenden Umgebung aus. Bitte passen Sie die Pfade und Variablen entsprechend Ihren Bedürfnissen.
ORACLE SID=mydb ORACLE BASE=/opt/oracle ORACLE HOME=/opt/oracle/product/oracle $ORACLE HOME/bin ist im Such-Pfad
Installation unter Linux oder Unix
- Zuerst stellen Sie sicher, dass der standard Sesam Backup Client bereits installiert ist.
- Dateisystem-Sicherungen sllten mit diesem Sesam Client funktionieren
- Einloggen als oracle user
- Erstellen Sie ein neues Verzeichnis namens sob in $ORACLE HOME
- Entpacken Sie die Datei <OS>-sob x.x.x.x.tgz dorthin
- Erstellen Sie einen symbolischen Link in $ORACLE HOME/lib zur entpackten Library File libobk.so. Wenn die Datei bereits existiert, muss diese erst umbenannt werden.
oracle@oraclesrv:~> cd $ORACLE_HOME oracle@oraclesrv:/product/oracle> mkdir sob oracle@oraclesrv:/product/oracle> cd sob oracle@oraclesrv:/product/oracle/sob> tar xvzf /tmp/linux_sob.2.3.1.1.tgz oracle@oraclesrv:/product/oracle/sob> cd ../lib oracle@oraclesrv:/product/oracle/lib> ln -s ../sob/libobk.so
Ab Oracle 9i darf der Oracle kernel nicht mehr verlinkt werden.
Installationsverifizierung unter Linux oder UNIX
Die Installation kann nun mit dem Oracle Tool sbtest überprüft werden
oracle@oraclesrv:~/product/10g/lib> sbttest test Die sbt Funktionshinweise werden aus der libobk.so Library geladen. -- sbtinit erfolgreich -- sbtinit (2nd time) erfolgreich Hinweis: Diese SBT Library verwendet nicht SBT Version 2.0 sbtinit: Mediamanager hat Version 2.3.1.1 Return code -1 from sbtopen for output, bsercoer = 7012, bsercerrno = 0 sbtopen: Invalid argument(s)
Lassen Sie sich nicht von dem"Invalid argument (s)" verunsichern. Der Aufruf prüft nur, ob die Library erfolgreich lädt.
Installation unter Windows
- Stellen sie sicher, dass der standard Sesam Backup Client bereits installiert ist
- Benennen Sie die bereits existierende Dateie orasbt.dll im <ORACLE HOME>\bin Verzeichnis um.
- Kopieren Sie die Sesam Datei orasbt.dll dorthin.
Die Datenbank muss neu gestartet werden um die neue DLL zu aktivieren.
Vollständiger Funktionstest über das sbtest Programm
Über das Programm sbttest können Sie die vollständige Funktionalität von libobk.so testen ohne laufende Datenbanken zu stören. sbttest ist nur vefügbar ab Oracle Version 10g unter Windows. Hierfür müssen die folgenden Umgebungsvariablen gesetzt werden:
- SESAM_SERVER Name des SEP sesam Servers
- SESAM_JOB Name eines bereits konfigurierten Auftrags im Sesam Server mit Auftragstyp Oracle
- SESAM_POOL Name eines bereits konfigurierten Medienpools im Sesam Server
oracle@oraclesrv:~/product/10g/lib> export SESAM_SERVER=backsrv oracle@oraclesrv:~/product/10g/lib> export SESAM_JOB=oracle_test oracle@oraclesrv:~/product/10g/lib> export SESAM_POOL=DISK oracle@oraclesrv:~/product/10g/lib> sbttest test1 -trace sbttest.log The sbt function pointers are loaded from libobk.so library. -- sbtinit succeeded -- sbtinit (2nd time) succeeded Note: This SBT library does not handle version 2.0 of SBT. sbtinit: Media manager is version 2.3.1.1 sbtopen for output successful sbtwrite successful, wrote 100 buffers sbtclose successful after sbtwrite sbtinfo successful file t1 is on volume 5:3 sbtopen for input successful file was created by this program; seed=27600, bufsize=16384, bufcount=100 sbtread successful, read 100 buffers sbtclose successful after sbtread sbtremove successful *** The SBT API test was successful ***
Sollte der Test nicht erfolgreich sein können Sie die Sesam-spezifischen Fehlerprotokollmeldungen im sbttest.log finden.
Konfiguration
RMAN Sicherung
Dieses Kapitel beschreibt nur die SEP sesam spezifischen Teile von Oracle RMAN. Es handelt sich hierbei nicht um eine RMAN Administrationshandbuch. Es ist dringend notwendig die RMAN Dokumentation zu konsultieren um eine korrekte Sicherungsstrategie einzurichten. Das folgende Beispielskript führt ein volles Datenbank Backup durch:
oracle@oraclesrv:/product/oracle/bin> cat ora_full.rman
connect target
run{
allocate channel t1 type ’SBT’
parms ’ENV=(SESAM_SERVER=backup,SESAM_JOB=oracle_full,SESAM_POOL=DISK)’
backup database
format ’O%d_%u.dat’
filesperset 100;
release channel t1;
}
Das Skript macht folgendes:
1. Einloggen in die Zieldatenbank (Zu sichernde Datenbank)
2. Öffnen eines Backuo Kanals (Für parallele Sicherungen müssen mehrere Kanäle zugeordnet werden)
- SEPsesam-spezifische Parameter
| SESAM_SERVER | Name des SEP sesam Servers (*) |
| SESAM_JOB | Auftragsname für die Oracle Sicherung (*). Der Auftrag muss zuvor auf dem Sesam Server, mit Auftragstyp Oracle, erstellt werden |
| SESAM_POOL | Poolname (*) |
| SESAM_DRIVE | Laufwerksnummer |
| SESAM_TAPE SERVER | Name des SEP sesa Band Server |
| SOB_TRACE | Tracelevel (max. 3) |
| SOB_LOGFILE | Name der Logfile. Wenn keine Logfile bestimmt ist werden Fehlerprotokollmeldungen in sbtio.log geschrieben |
| SBT_LIBRARY=<path> | Pfad zur libobk.so. Insbesondere auf AIX Systemen wichtig, wenn die Library nicht automatisch gefunden wird. |
- (*) = Pflichtfelder
- Formatkennung. Die Formatbestimmung muss in einer einzigartigen ID resultieren. Oracle und SEP sesam verwenden diese ID um bei einer Rücksicherung das richtige Saveset zu ermitteln. Oracle garantiert, dass die Kombination von %d%u einzigartig ist.
3. 100 Dateien in ein in einem Saveset zusammenfassen
4. Freigabe des Backup Kanals
Wenn dieses Skript mit rman cmdfile ora full.rman ausgeführt wird, erscheint folgede Ausgabe:
oracle@oraclesrv:\~/product/oracle/bin> rman cmdfile ora_full.rman Recovery Manager: Release 9.2.0.1.0 - ProductionCopyright (c) 1995 RMAN> connected to target database: MYDB (DBID=2383580887) RMAN> connected to recovery catalog database RMAN> 2> 3> 4> 5> 6> 7> 8> 9> 10> 11> 12> 13> 14> allocated channel: t1 channel t1: sid=16 devtype=SBT_TAPE channel t1: MMS Version 1.7.0.1 Starting backup at 30-JUL-02 channel t1: starting full datafile backupset channel t1: specifying datafile(s) in backupset including current SPFILE in backupset including current controlfile in backupset input datafile fno=00001 name=/opt/oracle/oradata/mydb/system01.dbf input datafile fno=00002 name=/opt/oracle/oradata/mydb/undotbs01.dbf input datafile fno=00005 name=/opt/oracle/oradata/mydb/example01.dbf input datafile fno=00010 name=/opt/oracle/oradata/mydb/xdb01.dbf input datafile fno=00006 name=/opt/oracle/oradata/mydb/indx01.dbf input datafile fno=00009 name=/opt/oracle/oradata/mydb/users01.dbf input datafile fno=00003 name=/opt/oracle/oradata/mydb/cwmlite01.dbf input datafile fno=00004 name=/opt/oracle/oradata/mydb/drsys01.dbf input datafile fno=00007 name=/opt/oracle/oradata/mydb/odm01.dbf input datafile fno=00008 name=/opt/oracle/oradata/mydb/tools01.dbf channel t1: starting piece 1 at 30-JUL-02 channel t1: finished piece 1 at 30-JUL-02 piece handle=b_7_1_MYDB.dat comment=API Version 1.1,MMS Version 1.7.0.1 channel t1: backup set complete, elapsed time: 00:07:47 Finished backup at 30-JUL-02 RMAN> Recovery Manager complete.
SEP sbc Oracle client Extension
Die Archivdatei <OS> sob 3.0.x.x.tgz beinhaltet den SEP Modul sbc Oracle Client Dieses Modul ist ein Shell Skript welches vom SEP sesam als SEP sesam Befehls termin aufgerufen werden kann. Bitte werfen Sie einen Blick auf das SEP sesam Administrationshandbuch für weitere Informationen. Dieses Programm erstellt ein RMAN Skript mit den gegebenen Argumenten und führt RMAN mit dem generierten Skript aus.
Verwendung:
oracle@orax10:~/product/10.2/db_1/sob> ./sbc_oracle_rman.sh
Usage: ./sbc_oracle_rman.sh -b|r <-l level> -T <TargetDBS> -R <Catalog> -S <SesamServer> \
-j <SesamJob> -m <Mediapool> -o <option> -p <Number of streams> <TableSpace>
Arguments:
-b: Backup operation. Standardmäßig ist dies eine full, online, single channel Sicherung
-r: Restore operation. Standardmäßig ist dies eine full, online, single channel Rücksicherung.
HINWEISE:
Vor der Rücksicherung muss die Datenbank in den benötigten Zustand gebracht werden,
z.B. "SHUTDOWN; STARTUP MOUNT;"
Nach der Rücksicherung kann ein "ALTER DATABASE OPEN RESETLOGS;" notwendig sein.
-l <copy|full|diff|incr|arch>: Backup level copy, full, diff, incr und Archivelog
Der Backup level kann mit archivelog backup kombiniert werden,
e.g. -l copy_arch
-o {option}: Die folgenden Optionen werden unterstützt:
delete Lösche archivelogs nach der Sicherung
delete_later Lösche archivelogs nach 3 erfolgreichen Sicherungen
offline VORSICHT: Diese Option führt automatisch einen SHUTDOWN
der Datenbank vor der Sicherung und einen STARTUP nach der Sicherung!
controlfile Restore der controlfile mit rman catalog
controlfile_DBID={DBID} Restore der controlfile ohne rman catalog. Benötigt DBID
recover Recover nach restore
until={YYYYMMDD-HH:MM:SS} Point-in-time recover mit Bis-Zeitpunkt
-T <Target database connect string>: Default: ORACLE_SID
-R <Recovery catalog connect string>: Default: NoCatalog
-C <SesamServer>: SEP sesam Server Host Name
-S <TapeServer>: Tape Server host Name
-j <SesamJob>: SEP sesam Job Name unter dem die Sicherung läuft
-v [0|1]: debug on (set -x)
-m <pool name>: SEP sesam Medienpool der für die Sicherung genutzt wird
-p <number> bestimmt die Anzahl der Sicherungskanäle
<TableSpace> bestimmt einen einzelnen tablespace für die Sicherung oder Rücksicherung.
Falls nicht gegeben wird die komplette DB gesichert/rückgesichert
Beispiele:
- Level 0 Sicherung von SID orcl auf SEP sesam server smsrv zum bereits konfigurierten Auftrag orax10_DB-orcl zum Medienpool VTD1 mit Recovery Catalog RCVCAT
/opt/oracle/product/10.2/db_1/sob/sbc_oracle_rman.sh -b -l copy -T orcl -R sys/password@RCVCAT -C smsrv -j orax10_DB-orcl -m VTD1
- Archive log Sicherung von SID prod auf SEP sesam server backupsrv zum bereits konfigurierten Auftrag dbsrv_ora-prod zum Medienpool DAY unter Verwendung von SEP sesam Laufwerk 5 und ohneVerwendung eines Oracle Recovery Catalog
/opt/oracle/product/10.2/db_1/sob/sbc_oracle_rman.sh -b -l arch -T prod -C backupsrv -j dbsrv_ora-prod -m DAY -d 5
- Full Rücksicherung der Datenbank prod mit automatischer Wiederherstellung vom SEP sesam Server amarcv und SEO sesam Auftrag dbsrv_ora-prod vom Medienpool DISK
1. Zunächst muss die Datenbank mit den Oracle Management Tools heruntergefahren werden
SQL> stutdown immediate
2. Datenbank mounten
SQL> startup mount
3. Rücksicherung der Datenbank
# /opt/oracle/product/10.2/db_1/sob/sbc_oracle_rman.sh -r -T prod -o recover -C smsrv -j orax10_DB-prod -m DISK
4. Öffnen der neuen Version der Datenbank
SQL> alter database open;
- Point-In-Time-Recovery von Zeitpunkt 2. Februar 2011 der Datenbank fanta mit automatischer Wiederherstellung. Verbindung zum voreingestellten SEP sesam Auftrag dbserver_ora-fanta in der SEP sesam GUI unter Verwendung des Recovery Catalog RCAT
1. Zunächst muss die Datenbank mit den Oracle Management Tools heruntergefahren werden
SQL> stutdown immediate
2. Datenbank mounten
SQL> startup mount
3. Rücksicherung der Datenbank
# /opt/oracle/product/10.2/db_1/sob/sbc_oracle_rman.sh -r -T fanta -R sys/password@RCAT -o recover,until=20110202-16:31:00 -C sesamsrv -j dbserver_ora-fanta -m Month
4. Öffnen der neuen Version der Datenbank
SQL> alter database open resetlogs;
Recovery Catalog mit SEP sesam abgleichen (CROSSCHECK)
Der Recovery Catalog sollte regelmäßig mit SEP sesam abgeglichen werden, da die Medien gemäß der Medienpool EOLs freigegeben werden.
Für den Abgleich dient das RMAN Kommando CROSSCHECK, z.B. crosscheck backup device type 'SBT';, welches in einem "ALLOCATE CHANNEL FOR MAINTENANCE" ausgeführt werden muss.
Das Kommando synchronisiert die vorhandenen Sicherungen in SEP Sesam mit dem Recovery Catalog. Nach der Ausführung können die "expired" Sicherungssätze mit "LIST BACKUP" eingesehen und mit "DELETE ... EXPIRED BACKUP ..." entfernt werden.
Beispiel:
allocate channel for maintenance type 'SBT' parms 'ENV=(SESAM_SERVER=sesam,SESAM_JOB=job,SESAM_POOL=pool)'; crosscheck backup; delete expired backup;
Weiteführende Links/Literatur
Für weitere Informationen zu diesem Thema empfehlen wir die folgenden Bücher:
- Download SEP sesam Extension for Oracle
- SEP Oracle Whitepaper
- SEP sesam Oracle Administration Guide (PDF)
- Oracle8i Backup & Recovery
from Rama Velpuri, Anand Adkoli, George Williams 1st Edition, November 2000 Osborne - McGraw-Hill, ISBN: 0072127171
- Oracle9i RMAN Backup & Recovery
from Robert G. Freeman, Matthew Hart Configure and Use Oracle Recovery Manager Tutorial for Users, Intermediate and Advanced Level Osborne - McGraw-Hill, ISBN: 0-07-222662-5