TAKTUM Logo


Oracle Schulung
Oracle Schulung

Oracle Standby Datenbank Tutorial: Anlegen

Prinzip

Zur Erstellung einer oder mehrerer Standbydatenbanken wird eine Kopie der Produktionsdatenbank benötigt. Diese Kopie kann online, offline, konsistent oder inkonsistent erstellt werden. Es ist zu entscheiden, auf welchem Rechner die Standbydatenbank zu installieren ist und in welchem Modus (Managed oder Manual Recovery Mode) die Standbydatenbank zu aktualisieren ist.

Wird die Standbydatenbank auf dem gleichen Rechner installiert, ist zu beachten, dass die Dateinamen inkl. Verzeichniss nicht identisch sein dürfen. Eine Umbenennung der Dateien in der Standbydatenbank ist hier zwingend notwendig.

In der Produktionsdatenbank muss der Archive Log Modus aktiviert sein. In den folgenden Beispielen wird aus einer Produktionsdatenbank PROD auf dem Rechner <prod> eine Standbydatenbank STBY auf dem Rechner <stby> erzeugt.

Rechner: <prod> Datenbank: PROD

Rechner: <stby> Datenbank: STBY

Standbydatenbank im Managed Recover Mode herstellen:

  • Erstellen einer Kopie der Produktionsdatenbank
  • Erstellen einer Steuerdatei für die Standbydatenbank
  • Datenbankdateien und Steuerdatei auf den Standbyrechner kopieren
  • Erstellen der Netzwerkverbindung zwischen Produktionsdatenbank und Standbydatenbank
  • Konfigurieren der Initialisierungsparameter der Produktionsdatenbank
  • Konfigurieren der Initialisierungsparameter der Standbydatenbank
  • Starten der Standby-Instanz und Mounten der Standbydatenbank
  • Umbenennen weitere Datenbankdateien in der Standbydatenbank

Standbydatenbank im Manual Recovery Mode herstellen

  • Erstellen einer Kopie der Produktionsdatenbank
  • Erstellen eines Steuerdatei für die Standbydatenbank
  • Datenbankdateien und Steuerdatei auf den Standbyrechner kopieren
  • Konfigurieren der Initialisierungsparameter der Standbydatenbank
  • Starten der Standby-Instanz und Mounten der Standbydatenbank
  • Umbenennen weitere Datenbankdateien in der Standbydatenbank

Erstellen einer Kopie der Produktionsdatenbank PROD

Beispiel:

Bestimmen der Datenbankdateien:

select name from v$datafile;

NAME
-------------------------------------
/u01/oradata/PROD/system01.dbf
/u01/oradata/PROD/temp01.dbf
/u01/oradata/PROD/rbs01.dbf
/u01/oradata/PROD/users01.dbf
/u01/oradata/PROD/index01.dbf
/u01/oradata/PROD/tools01.dbf
/u02/oradata/PROD/users02.dbf

Datenbank stoppen:

shutdown immediate

Datenbankdateien im Betriebssystem kopieren:

cp /u01/oradata/PROD/*dbf /backup
cp /u02/oradata/PROD/*dbf /backup

Datenbank starten:

startup

Erstellen einer Steuerdatei für die Standbydatenbank STBY

alter database create standby controlfile as '/backup/standby_control.ctl';

Wichtig ist, dass diese Steuerdatei nach der Kopie der Dateien der Produktionsdatenbank erstellt wurde.

Kopieren der Datenbankdateien auf den Rechner mit der Standbydatenbank

Falls auf dem gleichen Rechner, sind die Dateien der Standbydatenbank umzubenennen, um keinen Konflikt mit den Dateien der Produktionsdatenbank zu bekommen.

Beispiel:

cp <prod>//backup/*dbf <stby>//u01/oradata/STBY/

Erstellen einer Netzwerkverbindung zwischen der Produktions- und Standbydatenbank

Eine Netzwerrkverbindung ist von der Produktionsdatenbank auf die Standbydatenbank zu konfigurieren. Auf dem Rechner <stby> erfolgt die Konfiguration des Listeners.

Auf dem Rechner <prod> die Konfiguration als Client. Siehe hierzu auch z.B. "Oracle Net8 Administrators Guide".

Beispiel:

standby_datenbank =
  (DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(COMMUNITY =
    tcp.world)(PROTOCOL=TCP)(Host = <stby>)(Port = 1521)))
    (CONNECT_DATA = (SID = STBY)))

Konfigurieren der Initialisierungsparameter der Produktionsdatenbank

Für den "Managed Recovery Mode" ist in der Produktionsdatenbank eines der Archiv Verzeichnisse mit dem Net8 Service Namen zu konfigurieren:

Beispiel:

LOG_ARCHIVE_DEST_2='SERVICE=standby_datenbank'

Über diesen Service werden automatisch die zu archivierenden Redo Log Files auf der Standbydatenbank angewandt.

Konfigurieren der Initialisierungsparameter der Standbydatenbank

Als Basis für die Standbydatenbank ist die Initialisierungsdatei der Produktinsdatenbank zu kopieren. In der Standbydatenbank sind folgende Initialisierungsparameter anzupassen:

CONTROL_FILES muss auf die Steuerdatei der Standbydatenbank zeigen.

Beispiel:

CONTROL_FILES=/u01/oradata/STBY/control01.ctl

STANDBY_ARCHIVE_DEST wird im "Managed Recovery Mode" für die Speicherung der archivierten Redo Logs von der Produktionsdatenbank benutzt.

Beispiel:

STANDBY_ARCHIVE_DEST=/u01/oraarch/STBY

LOG_ARCHIVE_DEST ist das Default Verzeichnis für die "Manual Recover Mode" und den Befehl "recover standby database;". Es ist möglich und sinnvoll STANDBY_ARCHIVE_DEST auf das gleiche Verzeichniss einzustellen

Beispiel:

LOG_ARCHIVE_DEST=/u01/oraarch/STBY

LOCK_NAME_SPACE ist zu setzen, wenn die Standbydatenbank und Produktionsdatenbank auf dem gleichen Rechner laufen. Wenn dies nicht durchgeführt wird, erscheint ein ORA-1102 beim Mounten der Standbydatenbank

Beispiel:

LOCK_NAME_SPACE=stby

BACKGROUND_DUMP_DEST, USER_DUMP_DEST sowie CORE_DUMP_DEST sind ggf. anzupassen.

Starten der Standbyinstanz und Mounten der Standbydatenbank

Die Standbydatenbank ist in den Zustand "MOUNT" zu versetzen:

startup nomount pfile=initSTBY.ora;

alter database mount standby database;

Umbenennen weiterer Datenbankdateien in der Standbydatenbank

Da die Namen der Dateien (Dateiname und Verzeichniss) der Standbydatenbank nicht mit den Namen in der Steuerdatei übereinstimmen, sind entweder

  • die Namen der Dateien mit dem Initialisierungsparameter DB_FILE_NAME_CONVERT oder mit
  • alter database rename file ...

in der Steuerdatei bekannt zu machen.

DB_FILE_NAME_CONVERT='/u01/oradata/PROD', '/u01/oradata/STBY'

Dateien in weiteren Verzeichnissen sind in jedem Fall in der Steuerdatei umzubenennen:

alter database rename file '/u02/oradata/PROD/users02.dbf' to 'u01/oradata/STBY/users02.dbf';



Stichwörter

Standby Datenbank database Anlegen Erzeugen Aufsetzen alter database create standby controlfile alter database mount standby database;