Die OCR wird unter 11gR2 automatisch durch nur einen Knoten gesichert. Eine Sicherung und Wiederherstellung mit dd führt zum Verlust der OCR und wird nicht mehr unterstützt. Die Sicherung erfolgt in 11gR2 alle 4 Stunden (Interval nicht änderbar) und wird nicht durch einen Neustart erzwungen, vielmehr wird der Timer zurückgesetzt. Die letzten 3 Sicherungen werden hiervon vorgehalten, zusätzlich die letzten zwei Sicherungen des Tages und der Woche.


Anzeigen der OCR-Sicherungen
[root@rac1 bin]# ./ocrconfig -showbackup auto
PROT-24: Auto backups for the Oracle Cluster Registry are not available


Ändern des Backupziels
[root@rac1 bin]# ./ocrconfig –backuploc /u01/ocrshare
 

Durchführen eines manuellen Backups
[root@rac1 bin]# ./ocrconfig -manualbackup
rac1     2012/04/04 16:47:16     /u01/app/11.2.0/grid/cdata/rac-scan/backup_20120404_164716.ocr

rac1     2012/02/15 08:56:49     /u01/app/11.2.0/grid/cdata/rac-scan/backup_20120215_085649.ocr


Anzeigen manueller Backups
[root@rac1 bin]# ./ocrconfig -showbackup manual

rac1     2012/04/04 16:47:16     /u01/app/11.2.0/grid/cdata/rac-scan/backup_20120404_164716.ocr

rac1     2012/02/15 08:56:49     /u01/app/11.2.0/grid/cdata/rac-scan/backup_20120215_085649.ocr

Das Kommandozeilenwerkzeug ocrconfig wird zur Konfiguration und Verwaltung der Oracle Cluster Registry verwendet.

Wird aber beispielsweise ein weiterer Spiegel der OCR hinzugefügt, während einige Knoten des Clusters heruntergefahren sind, so müssen diese Spiegel nachträglich dem Knoten bekannt gemacht werden. Dieses erfolgt über die repair-Option von ocrcheck.

Hierzu ein simuliertes Beispiel:

Cluster Services werden auf Knoten RAC2 heruntergefahren.


[root@rac1 bin]# ./crsctl stop cluster -n rac2
CRS-2673: Versuch, "ora.crsd" auf "rac2" zu stoppen
CRS-2790: Herunterfahren der von Cluster Ready Services verwalteten Ressourcen auf 'rac2' wird gestartet
CRS-2673: Versuch, "ora.orcl.db" auf "rac2" zu stoppen
CRS-2673: Versuch, "ora.LISTENER.lsnr" auf "rac2" zu stoppen
CRS-2673: Versuch, "ora.rac2.vip" auf "rac2" zu stoppen
CRS-2673: Versuch, "ora.LISTENER_SCAN1.lsnr" auf "rac2" zu stoppen
CRS-2677: Stoppen von "ora.rac2.vip" auf "rac2" erfolgreich
CRS-2677: Stoppen von "ora.LISTENER.lsnr" auf "rac2" erfolgreich
CRS-2673: Versuch, "ora.rac1.vip" auf "rac2" zu stoppen
CRS-2677: Stoppen von "ora.LISTENER_SCAN1.lsnr" auf "rac2" erfolgreich
CRS-2673: Versuch, "ora.scan1.vip" auf "rac2" zu stoppen
CRS-2677: Stoppen von "ora.rac1.vip" auf "rac2" erfolgreich
CRS-2677: Stoppen von "ora.scan1.vip" auf "rac2" erfolgreich
CRS-2677: Stoppen von "ora.orcl.db" auf "rac2" erfolgreich
CRS-2673: Versuch, "ora.eons" auf "rac2" zu stoppen
CRS-2673: Versuch, "ora.ons" auf "rac2" zu stoppen
CRS-2677: Stoppen von "ora.ons" auf "rac2" erfolgreich
CRS-2673: Versuch, "ora.net1.network" auf "rac2" zu stoppen
CRS-2677: Stoppen von "ora.net1.network" auf "rac2" erfolgreich
CRS-2677: Stoppen von "ora.eons" auf "rac2" erfolgreich
CRS-2792: Herunterfahren der von Cluster Ready Services verwalteten Ressourcen auf 'rac2' ist abgeschlossen
CRS-2677: Stoppen von "ora.crsd" auf "rac2" erfolgreich
CRS-2673: Versuch, "ora.cssdmonitor" auf "rac2" zu stoppen
CRS-2673: Versuch, "ora.ctssd" auf "rac2" zu stoppen
CRS-2673: Versuch, "ora.evmd" auf "rac2" zu stoppen
CRS-2677: Stoppen von "ora.cssdmonitor" auf "rac2" erfolgreich
CRS-2677: Stoppen von "ora.evmd" auf "rac2" erfolgreich
CRS-2677: Stoppen von "ora.ctssd" auf "rac2" erfolgreich
CRS-2673: Versuch, "ora.cssd" auf "rac2" zu stoppen
CRS-2677: Stoppen von "ora.cssd" auf "rac2" erfolgreich
CRS-2673: Versuch, "ora.diskmon" auf "rac2" zu stoppen
CRS-2677: Stoppen von "ora.diskmon" auf "rac2" erfolgreich

 

Der OCR wird ein weiterer Spiegel hinzugefügt:


[root@rac1 bin]# touch /u01/racdisk/ocr_disk/storage/ocr4
[root@rac1 bin]# ./ocrconfig -add /u01/racdisk/ocr_disk/storage/ocr4
[root@rac1 bin]# ./ocrcheck
Status of Oracle Cluster Registry is as follows :
Version                  :          3
Total space (kbytes)     :     262120
Used space (kbytes)      :       2656
Available space (kbytes) :     259464
ID                       : 1448550249
Device/File Name         : /u01/racdisk/ocr_disk/storage/ocr
Device/File integrity check succeeded
Device/File Name         : /u01/racdisk/ocr_disk/storage/ocr2
Device/File integrity check succeeded
Device/File Name         : /u01/racdisk/ocr_disk/storage/ocr3
Device/File integrity check succeeded
Device/File Name         : /u01/racdisk/ocr_disk/storage/ocr4
Device/File integrity check succeeded

Device/File not configured

Cluster registry integrity check succeeded

Logical corruption check succeeded

Auf Knoten RAC2 werden die Cluster Services wieder gestartet:


[root@rac1 bin]# ./crsctl start cluster -n rac2
CRS-2672: Versuch, "ora.cssdmonitor" auf "rac2" zu starten
CRS-2676: Starten von "ora.cssdmonitor" auf "rac2" erfolgreich
CRS-2672: Versuch, "ora.cssd" auf "rac2" zu starten
CRS-2672: Versuch, "ora.diskmon" auf "rac2" zu starten
CRS-2676: Starten von "ora.diskmon" auf "rac2" erfolgreich
CRS-2676: Starten von "ora.cssd" auf "rac2" erfolgreich
CRS-2672: Versuch, "ora.ctssd" auf "rac2" zu starten
CRS-2676: Starten von "ora.ctssd" auf "rac2" erfolgreich
CRS-2672: Versuch, "ora.evmd" auf "rac2" zu starten
CRS-2672: Versuch, "ora.crsd" auf "rac2" zu starten
CRS-2676: Starten von "ora.evmd" auf "rac2" erfolgreich
CRS-2676: Starten von "ora.crsd" auf "rac2" erfolgreich

Wird auf Konten RAC2 nun eine Überprüfung der OCR durchgeführt, wird ein Fehler ausgegeben:

[root@rac2 bin]# ./ocrcheck
PROT-602: Failed to retrieve data from the cluster registry
PROC-26: Error while accessing the physical storage

Da während der Erstellung des zusätzlichen Spiegels der Knoten RAC2 nicht gestartet war, muss nun eine Reparatur mit ocrcheck mit der Option repair gestartet werden.

[root@rac2 bin]# ./ocrconfig -repair -add /u01/racdisk/ocr_disk/storage/ocr4

 

Nach der Reparatur liefert ocrcheck das gewünschte Ergebnis.

[root@rac2 bin]# ./ocrcheck
Status of Oracle Cluster Registry is as follows :
Version                  :          3
Total space (kbytes)     :     262120
Used space (kbytes)      :       2656
Available space (kbytes) :     259464
ID                       : 1448550249
Device/File Name         : /u01/racdisk/ocr_disk/storage/ocr
Device/File integrity check succeeded
Device/File Name         : /u01/racdisk/ocr_disk/storage/ocr2
Device/File integrity check succeeded
Device/File Name         : /u01/racdisk/ocr_disk/storage/ocr3
Device/File integrity check succeeded
Device/File Name         : /u01/racdisk/ocr_disk/storage/ocr4
Device/File integrity check succeeded

Device/File not configured

Cluster registry integrity check succeeded

Logical corruption check succeeded

 

 

Die Überprüfung der OCR in RAC wird über das Utility ocrcheck erreicht. Hierbei gibt es Unterschiede zwischen der Ausführung als privilegierter Benutzer root und dem Standardbenutzer oracle.  Wird eine Überprüfung der OCR unter dem Benutzer root ausgeführt, so wird sie gleichzeitig einer Überprüfung auf logische Fehler unterzogen. 

Unter dem Benutzer oracle:

[oracle@rac1 bin]$ ./ocrcheck
Status of Oracle Cluster Registry is as follows :
Version                  :          3
Total space (kbytes)     :     262120
Used space (kbytes)      :       2620
Available space (kbytes) :     259500
ID                       : 1448550249
Device/File Name         : /u01/racdisk/ocr_disk/storage/ocr
Device/File integrity check succeeded

Device/File not configured

Device/File not configured

Device/File not configured

Device/File not configured

Cluster registry integrity check succeeded

Logical corruption check bypassed due to non-privileged user

Unter dem Benutzer root:

[oracle@rac1 bin]$ su -
Passwort:
[root@rac1 bin]# ./ocrcheck
Status of Oracle Cluster Registry is as follows :
Version                  :          3
Total space (kbytes)     :     262120
Used space (kbytes)      :       2620
Available space (kbytes) :     259500
ID                       : 1448550249
Device/File Name         : /u01/racdisk/ocr_disk/storage/ocr
Device/File integrity check succeeded

Device/File not configured

Device/File not configured

Device/File not configured

Device/File not configured

Cluster registry integrity check succeeded

Logical corruption check succeeded

 

Das Hinzufügen einer weiteren OCR-Datei zur Spiegelung unter Oracle 11gR2 RAC wird mit einem priviligiertem Betriebssystembenutzer und dem Werkzeug ocrconfig erreicht.

1. Überprüfung der OCR mit ihren Spiegeln über die Datei /etc/oracle/ocr.log oder dem Werkzeug ocrcheck

[root@rac1 bin]# cat /etc/oracle/ocr.loc
ocrconfig_loc=/u01/racdisk/ocr_disk/storage/ocr
local_only=FALSE

[root@rac1 bin]# ./ocrcheck
Status of Oracle Cluster Registry is as follows :
Version                  :          3
Total space (kbytes)     :     262120
Used space (kbytes)      :       2620
Available space (kbytes) :     259500
ID                       : 1448550249
Device/File Name         : /u01/racdisk/ocr_disk/storage/ocr
Device/File integrity check succeeded

Device/File not configured

Device/File not configured

Device/File not configured

Device/File not configured

Cluster registry integrity check succeeded

Logical corruption check succeeded

 

2. Für das Hinzufügen wird das Werkzeug ocrconfig mit der Option -add sowie dem Pfad und der neuen zusätzlichen OCR-Datei verwendet. Im Vorfeld muss aber eine leere Datei für den neuen Spiegel erstellt werden.

[root@rac1 bin]# touch /u01/racdisk/ocr_disk/storage/ocr2

Danach kann der OCR-Spiegel hinzugefügt werden.

[root@rac1 bin]# ./ocrconfig -add /u01/racdisk/ocr_disk/storage/ocr2

Wurde keine leere Datei imVorfeld erzeugt, wird der folgende Fehler ausgegeben.

[root@rac1 bin]# ./ocrconfig -add /u01/racdisk/ocr_disk/storage/ocr2
PROT-30: The Oracle Cluster Registry location to be added is not accessible

 

3. Zum Schluss kann das Vorhandensein des neuen Spiegels validiert werden.

[root@rac1 bin]# cat /etc/oracle/ocr.loc
#Device/file  getting replaced by device /u01/racdisk/ocr_disk/storage/ocr2
ocrconfig_loc=/u01/racdisk/ocr_disk/storage/ocr
ocrmirrorconfig_loc=/u01/racdisk/ocr_disk/storage/ocr2

[root@rac1 bin]# ./ocrcheck
Status of Oracle Cluster Registry is as follows :
Version                  :          3
Total space (kbytes)     :     262120
Used space (kbytes)      :       2620
Available space (kbytes) :     259500
ID                       : 1448550249
Device/File Name         : /u01/racdisk/ocr_disk/storage/ocr
Device/File integrity check succeeded
Device/File Name         : /u01/racdisk/ocr_disk/storage/ocr2
Device/File integrity check succeeded

Device/File not configured

Device/File not configured

Device/File not configured

Cluster registry integrity check succeeded

Logical corruption check succeeded

 

Ab Oracle 11gR2 besteht die Möglichkeit, die RAC-Datenbank anstatt unter ASM oder OCFS auf ein NFS-Laufwerk abzulegen. Eine ausführliche Installationsanweisung finden Sie hier bei Oracle-Base. Interessant ist, bei dieser Art der Konfiguration, die Verwendung des von Oracle unter 11gR1 zur Verfügung gestellten Direct-NFS-Clients zur Erhöhung der Performance beim Zugriff auf das NFS-System. In diesem Beispiel wurde eine geclusterte Datenbank mit den Instanzen orcl1 und orcl2 erstellt. Voting-Disk, Cluster-Registry und Datenbank liegen jeweils auf einem NFS-Share eines Open-Filers.

[oracle@rac1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Wed Feb 1 16:21:46 2012

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options

SQL> select instance_name from gv$instance;

INSTANCE_NAME
----------------
orcl1
orcl2

SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options

 

Für die Installation des Direct-NFS-Treibers muss die Standard-Bibliothek ODM (Oracle Disk Manager) gegen den Direct-NFS-Treiber getauscht werden. In diesem Fall werden alle Instanzen des Clusters heruntergefahren und, weil kein gemeinsames ORACLE_HOME der Knoten verwendet wird, die Bibliothek auf jedem Knoten ausgetauscht. Zusätzlich müssen die Shares über die Datei /etc/mtab eingebunden sein. Oracle erlaubt die Einbindung allerdings auch über die Dateien:

  1. $ORACLE_HOME/dbs/oranfstab
  2. /etc/oranfstab
  3. /etc/mtab

In diesem Fall wurde die Einbindung über /etc/mtab durchgeführt.

Herunterfahren der Instanzen:
[oracle@rac1 ~]$ srvctl stop database -d orcl

Austauschen der Bibliothek auf Knoten 1:

[oracle@rac1 ~]$ cd $ORACLE_HOME/lib
[oracle@rac1 lib]$ mv libodm11.so libodm11.so_stub
[oracle@rac1 lib]$ ln -s libnfsodm11.so libodm11.so

Austauschen der Bibliothek auf Knoten 2:


[oracle@rac2 ~]$ cd $ORACLE_HOME/lib
[oracle@rac2 lib]$ mv libodm11.so libodm11.so_stub
[oracle@rac2 lib]$ ln -s libnfsodm11.so libodm11.so

Starten der Instanzen:
[oracle@rac1 lib]$ srvctl start database -d orcl

Nach dem Start der Instanzen können über die Views v$dnfs_servers die Direct-NFS-Shares der Datenbank und über die View v$dfns_files die auf diesen Shares befindlichen Datenbankdateien verifiziert werden.

[oracle@rac1 lib]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Wed Feb 1 16:37:04 2012
Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options

SQL> describe v$dnfs_servers
Name                                      Null?    Type
----------------------------------------- -------- ----------------------------
ID                                                 NUMBER
SVRNAME                                            VARCHAR2(255)
DIRNAME                                            VARCHAR2(1024)
MNTPORT                                            NUMBER
NFSPORT                                            NUMBER
WTMAX                                              NUMBER
RTMAX                                              NUMBER

SQL> col SVRNAME format a20
SQL> col DIRNAME format a50
SQL> select SVRNAME,DIRNAME from v$dnfs_servers;

SVRNAME              DIRNAME
-------------------- --------------------------------------------------
192.168.1.10         /mnt/rac_nfs/oradata/oradata_share/

SQL> describe v$dnfs_files
Name                                      Null?    Type
----------------------------------------- -------- ----------------------------
FILENAME                                           VARCHAR2(513)
FILESIZE                                           NUMBER
PNUM                                               NUMBER
SVR_ID                                             NUMBER

SQL> select FILENAME from v$dnfs_files;

FILENAME
--------------------------------------------------------------------------------
/u01/racdisk/oradata/orcl/control01.ctl
/u01/racdisk/oradata/orcl/control02.ctl
/u01/racdisk/oradata/orcl/system01.dbf
/u01/racdisk/oradata/orcl/sysaux01.dbf
/u01/racdisk/oradata/orcl/undotbs01.dbf
/u01/racdisk/oradata/orcl/users01.dbf
/u01/racdisk/oradata/orcl/example01.dbf
/u01/racdisk/oradata/orcl/undotbs02.dbf
/u01/racdisk/oradata/orcl/temp01.dbf
/u01/racdisk/oradata/orcl/redo01.log
/u01/racdisk/oradata/orcl/redo02.log
/u01/racdisk/oradata/orcl/redo03.log
/u01/racdisk/oradata/orcl/redo04.log

13 rows selected.

Sollte die View v$dnfs_files keine Dateien zurückliefern und die AlertLog-Datei folgende Fehler beinhalten,
Direct NFS: NFS3ERR 1 Not owner. path 192.168.1.10 mntport 729 nfsport 2049

so kann es sein, dass die NFS-Shares in der Datei /etc/exports des NFS-Filers nicht korrekt konfiguriert sind. Die Ursache könnte sich darin begründen, dass sich der Client mit einem reservierten Port (>1024) am NFS-Filer anmeldet. Da der NFS-Treiber des Betriebsystems dieses mit dem Benutzer root durchführt, ist hier kein Problem zu erwarten. Der Direct NFS-Treiber von Oracle vollzieht dieses allerdings mit dem Benutzer Oracle und wird deshalb vom Filer abgewiesen. In der Regel tritt diese Problematik bei Open-Filern auf.

Zur Korrektur muss der Freigabe des Shares in der Datei /etc/exports die Option insecure hinzugefügt werden
/mnt/rac_nfs/oradata/oradata_share/               *(rw,sync,no_wdelay,insecure_locks,insecure,no_root_squash)

Nach Korrektur sollten nach einem erneuten Start der RAC-Instanzen folgende Einträge in der AlertLog-Datei zu finden sein, die eine erfolgreiche Verwendung von Direct-NFS signalisieren.

Wed Feb 01 17:05:54 2012
ALTER DATABASE MOUNT
This instance was first to mount
Direct NFS: channel id [0] path [192.168.1.10] to filer [192.168.1.10] via local [] is UP
Direct NFS: channel id [1] path [192.168.1.10] to filer [192.168.1.10] via local [] is UP
Successful mount of redo thread 1, with mount id 1301906802
Database mounted in Shared Mode (CLUSTER_DATABASE=TRUE)

Einen weiteren schönen Artikel über Direct-NFS finden Sie hier bei Ordix.
Das White Paper für Direct NFS ist hier bei Oracle zu finden.

Ein schöner Glossar von Andreas Reinhardt über die wichtigen Komponenten von RAC 11gR2.

Bei der Installation der Grid-Infrastructure für RAC unter 11g R2 stieß ich auf das Problem, dass das Skript root.sh nicht erfolgreich ausgeführt werden konnte. Dieses lag anscheinend daran, dass auf den Knoten eine vorherige RAC-Installation nicht sauber entfernt wurde.


[root@RAC1 ~]# /u01/app/grid/root.sh

Running Oracle 11g root.sh script...

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/grid

Enter the full pathname of the local bin directory: [/usr/local/bin]:
The file "dbhome" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]: y
   Copying dbhome to /usr/local/bin ...
The file "oraenv" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]: y
   Copying oraenv to /usr/local/bin ...
The file "coraenv" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]: y
   Copying coraenv to /usr/local/bin ...

Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
2011-07-05 14:25:12: Parsing the host name
2011-07-05 14:25:12: Checking for super user privileges
2011-07-05 14:25:12: User has super user privileges
Using configuration parameter file: /u01/app/grid/crs/install/crsconfig_params
Improper Oracle Clusterware configuration found on this host
Deconfigure the existing cluster configuration before starting
to configure a new Clusterware
run '/u01/app/grid/crs/install/rootcrs.pl -deconfig'
to configure existing failed configuration and then rerun root.sh
 

Zur Deinstallation soll das Skript rootcrs.pl mit der Option -deconfig ausgefürt werden, was aber aufgrund der nur vorhandenen Teilfragmente der vorherigen Installation ebenfalls fehlschlägt. 

[root@RAC1 ~]# /u01/app/grid/crs/install/rootcrs.pl -deconfig
2011-07-05 14:25:24: Parsing the host name
2011-07-05 14:25:24: Checking for super user privileges
2011-07-05 14:25:24: User has super user privileges
Using configuration parameter file: /u01/app/grid/crs/install/crsconfig_params
Failure to execute: Datei oder Verzeichnis nicht gefunden for command /u01/app/grid/bin/crsctl check cluster -n rac1
Failure to execute: Datei oder Verzeichnis nicht gefunden for command /u01/app/grid/bin/crsctl check cluster -n rac1
Oracle Clusterware stack is not active on this node
Restart the clusterware stack (use /u01/app/grid/bin/crsctl start crs) and retry
Failed to verify resources

Die Lösung ist die Verwendung der Zusatzoption -force, welches alle Teilfragmente entfernt und bei Fehlern nicht abbricht.

[root@RAC1 oracle]# /u01/app/grid/crs/install/rootcrs.pl -deconfig -force
2011-07-05 14:45:09: Parsing the host name
2011-07-05 14:45:09: Checking for super user privileges
2011-07-05 14:45:09: User has super user privileges
Using configuration parameter file: /u01/app/grid/crs/install/crsconfig_params
Failure to execute: Datei oder Verzeichnis nicht gefunden for command /u01/app/grid/bin/crsctl check cluster -n rac1
Failure to execute: Datei oder Verzeichnis nicht gefunden for command /u01/app/grid/bin/crsctl check cluster -n rac1
Verwendung: srvctl ]
    Befehle: enable|disable|start|stop|status|add|remove|modify|getenv|setenv|unsetenv|config
    Objekte: database|service|asm|diskgroup|listener|home|ons|eons
Für detaillierte Hilfe zu jedem Befehl und Objekt und dessen Optionen verwenden Sie:
  srvctl -h oder
    srvctl -h
PRKO-2012 : nodeapps Objekt wird von Oracle Restart nicht unterstützt
Can't exec "/u01/app/grid/bin/clsecho": Datei oder Verzeichnis nicht gefunden at /u01/app/grid/lib/acfslib.pm line 937.
Failure to execute: Datei oder Verzeichnis nicht gefunden for command /u01/app/grid/bin/crsctl stat res ora.registry.acfs
Failure to execute: Datei oder Verzeichnis nicht gefunden for command /u01/app/grid/bin/crsctl check cluster -n rac1
You must kill crs processes or reboot the system to properly
cleanup the processes started by Oracle clusterware
2560+0 Datensätze ein
2560+0 Datensätze aus
10485760 Bytes (10 MB) kopiert, 0,020821 Sekunden, 504 MB/s
Successfully deconfigured Oracle clusterware stack on this node

Nach der Ausführung mit der option -force, kann root.sh auf dem Knoten ausgeführt werden.

[root@RAC1 oracle]# /u01/app/grid/root.sh
Running Oracle 11g root.sh script...

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/grid

Enter the full pathname of the local bin directory: [/usr/local/bin]:
The file "dbhome" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]: y
   Copying dbhome to /usr/local/bin ...
The file "oraenv" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]: y
   Copying oraenv to /usr/local/bin ...
The file "coraenv" already exists in /usr/local/bin.  Overwrite it? (y/n)
[n]: y
   Copying coraenv to /usr/local/bin ...

Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
2011-07-05 14:51:23: Parsing the host name
2011-07-05 14:51:23: Checking for super user privileges
2011-07-05 14:51:23: User has super user privileges
Using configuration parameter file: /u01/app/grid/crs/install/crsconfig_params
yLOCAL ADD MODE
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
  root wallet
  root wallet cert
  root cert export
  peer wallet
  profile reader wallet
  pa wallet
  peer wallet keys
........

In RAC kann eine parallelisierte Sicherung mit dem Recovery Manager über mehrere Instanzen durchgeführt werden. Dieses kannn zum einen durch direkte Allokierung mehrere Kanäle auf die einzelnen Instanzen erfolgen:

RMAN>  run

2> {
3> allocate channel c1 device type disk connect 'sys/oracle@rac1:1521/orcl.localdomain';
4> allocate channel c2 device type disk connect 'sys/oracle@rac2:1521/orcl.localdomain';
5> backup as compressed backupset database;
6> }

allocated channel: c1
channel c1: SID=55 instance=orcl1 device type=DISK

allocated channel: c2
channel c2: SID=57 instance=orcl2 device type=DISK

Starting backup at 12-APR-12
channel c1: starting compressed full datafile backup set
channel c1: specifying datafile(s) in backup set
input datafile file number=00001 name=/u01/racdisk/oradata/orcl/system01.dbf
input datafile file number=00004 name=/u01/racdisk/oradata/orcl/users01.dbf
input datafile file number=00003 name=/u01/racdisk/oradata/orcl/undotbs01.dbf
channel c1: starting piece 1 at 12-APR-12
channel c2: starting compressed full datafile backup set
channel c2: specifying datafile(s) in backup set
input datafile file number=00002 name=/u01/racdisk/oradata/orcl/sysaux01.dbf
input datafile file number=00005 name=/u01/racdisk/oradata/orcl/example01.dbf
input datafile file number=00006 name=/u01/racdisk/oradata/orcl/undotbs02.dbf
channel c2: starting piece 1 at 12-APR-12
channel c2: finished piece 1 at 12-APR-12
piece handle=/u01/racdisk/flash_recovery_area/ORCL/backupset/2012_04_12/o1_mf_nnndf_TAG20120412T135356__2eb69bd.bkp tag=TAG20120412T135356 comment=NONE
channel c2: backup set complete, elapsed time: 00:00:57
channel c1: finished piece 1 at 12-APR-12
piece handle=/u01/racdisk/flash_recovery_area/ORCL/backupset/2012_04_12/o1_mf_nnndf_TAG20120412T135356__2c7ced0.bkp tag=TAG20120412T135356 comment=NONE
channel c1: backup set complete, elapsed time: 00:01:08
Finished backup at 12-APR-12

Starting Control File and SPFILE Autobackup at 12-APR-12
piece handle=/u01/racdisk/flash_recovery_area/ORCL/autobackup/2012_04_12/o1_mf_s_780414904__6d69a88.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 12-APR-12
released channel: c1
released channel: c2

Durch Abfrage der View gv$session_longops werden die einzelnen Prozesse des Sicherungsvorgangs angezeigt. Das unten ausgegebene Beispiel zeigt die Ausführung über die Instanz 1 und 2.

SQL> SELECT INST_ID, TOTALWORK, SOFAR, OPNAME

2 FROM GV$SESSION_LONGOPS
3 WHERE OPNAME LIKE 'RMAN: full datafile%' AND SOFAR<>TOTALWORK;

INST_ID  TOTALWORK      SOFAR OPNAME
---------- ---------- ---------- ------------------------------
2      88960      69630 RMAN: full datafile backup
2          0      51108 RMAN: full datafile backup
1      94720      66814 RMAN: full datafile backup
1          0      51836 RMAN: full datafile backup

Werden nicht mehrere Kanäle erstellt, so wird die Sicherung nur auf dem Knoten gestartet, mit dem der Recovery Manager verbunden ist.

RMAN> show all;

RMAN configuration parameters for database with db_unique_name ORCL are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/racdisk/flash_recovery_area/controlfilesnap/snapcf_orcl1.f';

 

RMAN> backup as compressed backupset database;

Starting backup at 12-APR-12
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=43 instance=orcl1 device type=DISK
channel ORA_DISK_1: starting compressed full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=/u01/racdisk/oradata/orcl/system01.dbf
input datafile file number=00002 name=/u01/racdisk/oradata/orcl/sysaux01.dbf
input datafile file number=00005 name=/u01/racdisk/oradata/orcl/example01.dbf
input datafile file number=00003 name=/u01/racdisk/oradata/orcl/undotbs01.dbf
input datafile file number=00006 name=/u01/racdisk/oradata/orcl/undotbs02.dbf
input datafile file number=00004 name=/u01/racdisk/oradata/orcl/users01.dbf
channel ORA_DISK_1: starting piece 1 at 12-APR-12
channel ORA_DISK_1: finished piece 1 at 12-APR-12
piece handle=/u01/racdisk/flash_recovery_area/ORCL/backupset/2012_04_12/o1_mf_nnndf_TAG20120412T135717__ee7ae45.bkp tag=TAG20120412T135717 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:01:15
Finished backup at 12-APR-12

Starting Control File and SPFILE Autobackup at 12-APR-12
piece handle=/u01/racdisk/flash_recovery_area/ORCL/autobackup/2012_04_12/o1_mf_s_780415114__1357f283.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 12-APR-12

 

Die Abfrage der View gv$session_longops zeigt die Verwendung nur einer Instanz.

SQL> SELECT INST_ID, TOTALWORK, SOFAR, OPNAME

2 FROM GV$SESSION_LONGOPS
3 WHERE OPNAME LIKE 'RMAN: full datafile%' AND SOFAR<>TOTALWORK;

INST_ID  TOTALWORK      SOFAR OPNAME
---------- ---------- ---------- ------------------------------
1     183680      34298 RMAN: full datafile backup
1          0      17126 RMAN: full datafile backup

Um eine manuelle Allokierung der Kanäle bei einer parallelen Sicherung über mehrere Instanzen überflüssig zu machen, können diese Kanäle direkt vorkonfiguriert werden.

RMAN> configure channel 1 device type disk connect 'sys/oracle@rac1:1521/orcl.localdomain';

new RMAN configuration parameters:
CONFIGURE CHANNEL 1 DEVICE TYPE DISK CONNECT '*';
new RMAN configuration parameters are successfully stored

RMAN> configure channel 2 device type disk connect 'sys/oracle@rac2:1521/orcl.localdomain';

new RMAN configuration parameters:
CONFIGURE CHANNEL 2 DEVICE TYPE DISK CONNECT '*';
new RMAN configuration parameters are successfully stored

Zusätzlich muss der standardisierte Parallelisierungsgrad entsprechend angepasst werden.

RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO BACKUPSET;

old RMAN configuration parameters:
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET;
new RMAN configuration parameters:
CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO BACKUPSET;
new RMAN configuration parameters are successfully stored

Bei der Durchführung der Sicherung müssen die Kanäle nun nicht mehr erstellt werden, dieses erfolgt automatisch:

RMAN> backup as compressed backupset database;

Starting backup at 12-APR-12
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=55 instance=orcl1 device type=DISK
allocated channel: ORA_DISK_2
channel ORA_DISK_2: SID=57 instance=orcl2 device type=DISK
channel ORA_DISK_1: starting compressed full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=/u01/racdisk/oradata/orcl/system01.dbf
input datafile file number=00004 name=/u01/racdisk/oradata/orcl/users01.dbf
input datafile file number=00003 name=/u01/racdisk/oradata/orcl/undotbs01.dbf
channel ORA_DISK_1: starting piece 1 at 12-APR-12
channel ORA_DISK_2: starting compressed full datafile backup set
channel ORA_DISK_2: specifying datafile(s) in backup set
input datafile file number=00002 name=/u01/racdisk/oradata/orcl/sysaux01.dbf
input datafile file number=00005 name=/u01/racdisk/oradata/orcl/example01.dbf
input datafile file number=00006 name=/u01/racdisk/oradata/orcl/undotbs02.dbf
channel ORA_DISK_2: starting piece 1 at 12-APR-12
channel ORA_DISK_2: finished piece 1 at 12-APR-12
piece handle=/u01/racdisk/flash_recovery_area/ORCL/backupset/2012_04_12/o1_mf_nnndf_TAG20120412T140721__330dca63.bkp tag=TAG20120412T140721 comment=NONE
channel ORA_DISK_2: backup set complete, elapsed time: 00:00:59
channel ORA_DISK_1: finished piece 1 at 12-APR-12
piece handle=/u01/racdisk/flash_recovery_area/ORCL/backupset/2012_04_12/o1_mf_nnndf_TAG20120412T140721__32de0c3b.bkp tag=TAG20120412T140721 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:01:10
Finished backup at 12-APR-12

Starting Control File and SPFILE Autobackup at 12-APR-12
piece handle=/u01/racdisk/flash_recovery_area/ORCL/autobackup/2012_04_12/o1_mf_s_780415712__36ffefe1.bkp comment=NONE
Finished Control File and SPFILE Autobackup at 12-APR-12

Die View gv$session_longops zeigt nun wieder die Verwendung mehrere Instanzen für die Durchführung der Sicherung.

SQL> SELECT INST_ID, TOTALWORK, SOFAR, OPNAME

2 FROM GV$SESSION_LONGOPS
3 WHERE OPNAME LIKE 'RMAN: full datafile%' AND SOFAR<>TOTALWORK;

INST_ID  TOTALWORK      SOFAR OPNAME
---------- ---------- ---------- ------------------------------
1      94720      32638 RMAN: full datafile backup
1          0      19247 RMAN: full datafile backup
2      88960      19324 RMAN: full datafile backup
2          0      12858 RMAN: full datafile backup

Die Aktivierung des Archivelog-Modus einer in RAC-Umgebung ist etwas anders, als bei einer Single-Instanzdatenbank. In diesem Beispiel wird der Archivelog-Modus mit der Fastrecovery Area aktiviert, die auf einem NFS-Laufwerk liegt.

 [oracle@rac1 racdisk]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Thu Apr 12 12:34:57 2012

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options

SQL> show parameter db_recovery_file_dest

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest                string
db_recovery_file_dest_size           big integer 0

SQL> alter system set db_recovery_file_dest_size=5G;

System altered.

SQL> alter system set db_recovery_file_dest='/u01/racdisk/flash_recovery_area';

System altered.

SQL> archive log list
Database log mode              No Archive Mode
Automatic archival             Disabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     10
Current log sequence           11

Im nächsten Schritt wird der Parameter cluster_database für die Instanz, aus der der Archivelog-Modus aktiviert werden soll, auf FALSE gesetzt.

SQL> alter system set cluster_database=false scope=spfile sid='orcl1';

System altered.

SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options

 

Nach dem Setzen des Parameters werden alle Instanzen des Clusters heruntergefahren.

[oracle@rac1 racdisk]$ srvctl stop database -d orcl

Daraufhin wird die Instanz, aus der der Archivelog-Modus aktiviert wird, in die Mount-Fase gestartet und in den Archivelog-Modus gebracht.

[oracle@rac1 racdisk]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Thu Apr 12 12:35:45 2012

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup mount
ORACLE instance started.

Total System Global Area  839282688 bytes
Fixed Size                  2217992 bytes
Variable Size             641730552 bytes
Database Buffers          192937984 bytes
Redo Buffers                2396160 bytes
Database mounted.
SQL> alter database archivelog;

Database altered.

Daraufhin wird der Parameter cluster_database wieder auf TRUE gesetzt und die Instanz heruntergefahren.

 

SQL> alter system set cluster_database=true scope=spfile sid='orcl1';

System altered.

SQL> shutdown immediate
ORA-01109: database not open

Database dismounted.
ORACLE instance shut down.
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options

Zum Schluss können alle Instanzen wieder gestartet werden.

[oracle@rac1 racdisk]$ srvctl start database -d orcl
[oracle@rac1 racdisk]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Thu Apr 12 12:39:38 2012

Copyright (c) 1982, 2009, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options

SQL> archive log list
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     10
Next log sequence to archive   11
Current log sequence           11

SQL> r
1* alter system switch logfile

System altered.

SQL> r
1* alter system switch logfile

System altered.

SQL> r
1* alter system switch logfile

System altered.

SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options

Nun sollte die Durchführung einer Online-Sicherung mit dem Recovery Manager möglich sein.

[oracle@rac1 racdisk]$ rman target /

Recovery Manager: Release 11.2.0.1.0 - Production on Thu Apr 12 12:43:16 2012

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

connected to target database: ORCL (DBID=1301895602)

RMAN> backup as compressed backupset database plus archivelog delete input;

Starting backup at 12-APR-12
current log archived
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=43 instance=orcl1 device type=DISK
channel ORA_DISK_1: starting compressed archived log backup set
channel ORA_DISK_1: specifying archived log(s) in backup set
input archived log thread=2 sequence=7 RECID=3 STAMP=780410454
input archived log thread=1 sequence=11 RECID=1 STAMP=780410451
input archived log thread=1 sequence=12 RECID=2 STAMP=780410454
input archived log thread=1 sequence=13 RECID=4 STAMP=780410457
input archived log thread=2 sequence=8 RECID=6 STAMP=780410505
input archived log thread=1 sequence=14 RECID=5 STAMP=780410460
input archived log thread=1 sequence=15 RECID=9 STAMP=780410511
input archived log thread=2 sequence=9 RECID=7 STAMP=780410508
input archived log thread=2 sequence=10 RECID=8 STAMP=780410511
input archived log thread=2 sequence=11 RECID=11 STAMP=780410619
input archived log thread=1 sequence=16 RECID=10 STAMP=780410617
channel ORA_DISK_1: starting piece 1 at 12-APR-12
channel ORA_DISK_1: finished piece 1 at 12-APR-12
piece handle=/u01/racdisk/flash_recovery_area/ORCL/backupset/2012_04_12/o1_mf_annnn_TAG20120412T124348__80613b0.bkp tag=TAG20120412T124348 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
channel ORA_DISK_1: deleting archived log(s)
archived log file name=/u01/racdisk/flash_recovery_area/ORCL/archivelog/2012_04_12/o1_mf_2_7__fd90330c.arc RECID=3 STAMP=780410454
archived log file name=/u01/racdisk/flash_recovery_area/ORCL/archivelog/2012_04_12/o1_mf_1_11__fd57642a.arc RECID=1 STAMP=780410451
archived log file name=/u01/racdisk/flash_recovery_area/ORCL/archivelog/2012_04_12/o1_mf_1_12__fd8ea7d8.arc RECID=2 STAMP=780410454
archived log file name=/u01/racdisk/flash_recovery_area/ORCL/archivelog/2012_04_12/o1_mf_1_13__fdbb6a9b.arc RECID=4 STAMP=780410457
archived log file name=/u01/racdisk/flash_recovery_area/ORCL/archivelog/2012_04_12/o1_mf_2_8__98d187.arc RECID=6 STAMP=780410505
archived log file name=/u01/racdisk/flash_recovery_area/ORCL/archivelog/2012_04_12/o1_mf_1_14__fde927b8.arc RECID=5 STAMP=780410460
archived log file name=/u01/racdisk/flash_recovery_area/ORCL/archivelog/2012_04_12/o1_mf_1_15__f51c74.arc RECID=9 STAMP=780410511
archived log file name=/u01/racdisk/flash_recovery_area/ORCL/archivelog/2012_04_12/o1_mf_2_9__c5bc9f.arc RECID=7 STAMP=780410508
archived log file name=/u01/racdisk/flash_recovery_area/ORCL/archivelog/2012_04_12/o1_mf_2_10__f2de8c.arc RECID=8 STAMP=780410511
archived log file name=/u01/racdisk/flash_recovery_area/ORCL/archivelog/2012_04_12/o1_mf_2_11__765b12e.arc RECID=11 STAMP=780410619
archived log file name=/u01/racdisk/flash_recovery_area/ORCL/archivelog/2012_04_12/o1_mf_1_16__73f898f.arc RECID=10 STAMP=780410617
Finished backup at 12-APR-12

Starting backup at 12-APR-12
using channel ORA_DISK_1
channel ORA_DISK_1: starting compressed full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00001 name=/u01/racdisk/oradata/orcl/system01.dbf
input datafile file number=00002 name=/u01/racdisk/oradata/orcl/sysaux01.dbf
input datafile file number=00005 name=/u01/racdisk/oradata/orcl/example01.dbf
input datafile file number=00003 name=/u01/racdisk/oradata/orcl/undotbs01.dbf
input datafile file number=00006 name=/u01/racdisk/oradata/orcl/undotbs02.dbf
input datafile file number=00004 name=/u01/racdisk/oradata/orcl/users01.dbf
channel ORA_DISK_1: starting piece 1 at 12-APR-12
channel ORA_DISK_1: finished piece 1 at 12-APR-12
piece handle=/u01/racdisk/flash_recovery_area/ORCL/backupset/2012_04_12/o1_mf_nnndf_TAG20120412T124352__8355c18.bkp tag=TAG20120412T124352 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:01:15
channel ORA_DISK_1: starting compressed full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current control file in backup set
including current SPFILE in backup set
channel ORA_DISK_1: starting piece 1 at 12-APR-12
channel ORA_DISK_1: finished piece 1 at 12-APR-12
piece handle=/u01/racdisk/flash_recovery_area/ORCL/backupset/2012_04_12/o1_mf_ncsnf_TAG20120412T124352__ce58ca1.bkp tag=TAG20120412T124352 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 12-APR-12

Starting backup at 12-APR-12
current log archived
using channel ORA_DISK_1
channel ORA_DISK_1: starting compressed archived log backup set
channel ORA_DISK_1: specifying archived log(s) in backup set
input archived log thread=1 sequence=17 RECID=13 STAMP=780410715
input archived log thread=2 sequence=12 RECID=12 STAMP=780410715
channel ORA_DISK_1: starting piece 1 at 12-APR-12
channel ORA_DISK_1: finished piece 1 at 12-APR-12
piece handle=/u01/racdisk/flash_recovery_area/ORCL/backupset/2012_04_12/o1_mf_annnn_TAG20120412T124517__d3ad5b1.bkp tag=TAG20120412T124517 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
channel ORA_DISK_1: deleting archived log(s)
archived log file name=/u01/racdisk/flash_recovery_area/ORCL/archivelog/2012_04_12/o1_mf_1_17__d214044.arc RECID=13 STAMP=780410715
archived log file name=/u01/racdisk/flash_recovery_area/ORCL/archivelog/2012_04_12/o1_mf_2_12__d1fd310.arc RECID=12 STAMP=780410715
Finished backup at 12-APR-12

RMAN>

 

 

Seite 2 von 2