Hinweise
Bevor Sie Oracle-Datenbanken in einer Windows-Umgebung erkennen, schützen und bereitstellen können, müssen Sie Folgendes prüfen:
Prüfen Sie die folgenden Einstellungen auf dem Datenbankserver:
Die Oracle-Datenbank und der Oracle-Listener sind aktiv (Windows-Dienste prüfen).
Prüfen Sie, ob ein tns-Eintrag mit dem Namen SID vorhanden ist. Die Datei tnsnames.ora befindet sich unter
%ORACLE_HOME%\network\admin
Prüfen Sie, ob der tns-Eintrag gültig ist, indem Sie Folgendes ausführen:
%ORACLE_HOME%\bin\tnsping <SID>
Prüfen Sie, ob der Protokollmodus auf „Archivprotokoll“ gesetzt ist:
sql> archive log list
Wenn sich die Datenbank im Modus „Kein Archivierungsprotokoll“ befindet, kehren Sie zum Modus „Archivierungsprotokoll“ zurück:
sql> shutdown immediate; sql> startup mount; sql> alter database archivelog; sql> alter database open;
Aktivieren Sie die Block-Verfolgung für Datenbankänderungen. Wenn die Datenbank-BCT deaktiviert ist, wirkt sich das auf die Dauer der inkrementellen Sicherung aus. Die Funktion zum Blockieren von Änderungen ist in der Oracle Enterprise Edition verfügbar. Führen Sie eine SQL-Abfrage aus, um zu prüfen, ob das Blockierungs-Tracking aktiviert ist. Führen Sie die Abfrage aus:
sqlplus / as sysdba sql> select * from v$block_change_tracking;
So aktivieren Sie das Blockieren von Änderungen:
sql> alter database enable block change tracking
using file '<Oracle home directory>\orcl.bct';
Oracle-Datenbank in einer Windows-Umgebung sichern
So sichern Sie eine Oracle-Datenbank in einer Windows-Umgebung:
Legen Sie die Anwendungsdetails und -einstellungen für Oracle-Datenbanken fest.
Wenden Sie einen Sicherungsplan an, um die Datenbank zu schützen.
Bekanntes Problem
Oracle 19c SQLPlus (sqlplus.exe) hängt unter Windows gelegentlich beim Ausführen des Befehls „exit“ (Doc ID 2820655.1) fest. Dieser Fehler ist nur auf Windows-Systemen zu finden. Oracle hat bestätigt, dass dieses Problem in den SQLPlus-Versionen 19.10, 19.11 und 19.12 auftritt. Oracle hat folgende Lösungen bereitgestellt:
- SQL*Plus 21.1 oder höher verwenden (oder)
- Wenden Sie den Patch 31466370 an. Dieser Patch ist für 19.11 und 19.13 verfügbar.
Oracle-Datenbanken in einer Windows-Umgebung manuell mit RMAN an einem geplanten Sicherungspunkt wiederherstellen, wenn das Archive-Log nicht durch Sicherung und Notfallwiederherstellung geschützt ist
So stellen Sie eine vollständige Oracle-Datenbank in einer Windows-Umgebung wieder her:
Verbinden Sie den Snapshot der Datenbanksicherung aus dem Sicherungs- und Notfallwiederherstellungsdienst wieder mit dem Oracle-Server, wie unter Oracle-Datenbank als Standard-Mount bereitstellen beschrieben.
Legen Sie die Datenbankumgebung fest und starten Sie die Datenbank im Zustand „Nicht bereitgestellt“ mithilfe der Parameterdatei aus dem bereitgestellten Volume für die Sicherung und Notfallwiederherstellung (z. B. für ein bereitgestelltes Datenbankvolume auf E:):
sqlplus / as sysdba sql> startup nomount pfile='E:\<sid>___backup.ora';
Spfile aus Pfile erstellen:
sql> create spfile='%ORACLE_HOME%\database\spfile<sid>.ora' from pfile='E:\<sid>___backup.ora';
Starten Sie die Datenbank mit dem spfile im Status
nomount
:sql> shutdown immediate; sql> startup nomount;
Stellen Sie die Kontrolldatei mit RMAN aus dem bereitgestellten Volume für die Sicherung und Notfallwiederherstellung wieder her:
rman target / rman> restore controlfile from 'E:\cf-D_<sid>-id_<id>.ctl';
Stellen Sie die Datenbank bereit:
rman> alter database mount;
Katalogisieren Sie die Datendatei und den Ordner mit den Archivdateien aus dem bereitgestellten Volume für die Sicherung und Notfallwiederherstellung in RMAN:
rman> run { catalog start with 'E:\datafile' noprompt; catalog start with 'E:\archivelog' noprompt; }
So stellen Sie die Datenbank wieder her:
rman> run { restore database; recover database; }
Öffnen Sie die Datenbank mit der Option zum Zurücksetzen des Protokolls:
rman> alter database open resetlogs;
Oracle-Datenbanken in einer Windows-Umgebung manuell mit RMAN zu einem geplanten Sicherungspunkt mit Vorwärtswiederherstellung des mit Backup und Notfallwiederherstellung geschützten Archivelogs wiederherstellen
Sie können das Image vom Quelldatenbankserver bereitstellen, um es wiederherzustellen. Verbinden Sie den Sicherungs-Snapshot aus dem Sicherungs- und Notfallwiederherstellungsdienst wieder mit dem Oracle-Server, wie unter Oracle-Datenbank als Standard-Mount bereitstellen beschrieben.
Legen Sie die Datenbankumgebung fest und starten Sie die Datenbank im nicht bereitgestellten Zustand mithilfe der Parameterdatei aus dem bereitgestellten Volume für die Sicherung und Notfallwiederherstellung. In diesem Beispiel wird das Sicherungs-Image der Datenbank unter E:\ und das geschützte Archivprotokoll unter Z:\ bereitgestellt.
sqlplus / as sysdba
startup nomount pfile='E:\<sid>___backup.ora';
Spfile aus Pfile erstellen:
sql> create spfile='%ORACLE_HOME%\database\spfile<sid>.ora' from pfile='E:\<sid>___backup.ora';
Starten Sie die Datenbank mit dem spfile im Status „nomount“:
```sql shutdown immediate; startup nomount; ```
Stellen Sie die Kontrolldatei mit RMAN aus dem bereitgestellten Archiv-Log-Image für die Sicherung und Notfallwiederherstellung wieder her:
```rman rman target / rman> restore controlfile from 'Z:\cf-D_<sid>-id_<id>.ctl'; ```
Stellen Sie die Datenbank bereit:
```rman rman> alter database mount; ```
Katalogisieren Sie den Datendatei- und Archivelog-Ordner aus dem bereitgestellten Datenbank- und Archivelog-Image von Sicherung und Notfallwiederherstellung in RMAN:
```rman rman> run { catalog start with 'E:\datafile' noprompt; catalog start with 'E:\archivelog' noprompt; catalog start with 'Z:\archivelog' noprompt; } ```
So stellen Sie die Datenbank wieder her:
```rman rman> run { restore database; recover database; } ```
Führen Sie für die Wiederherstellung zu einem bestimmten Zeitpunkt den Befehl „recover“ so aus:
```rman rman> run { restore database; recover database until time "to_date('<time stamp>','yyyymmddhh24mi')"; } ```
Öffnen Sie die Datenbank mit der Option zum Zurücksetzen des Protokolls:
```rman rman> alter database open resetlogs; ```
Die Datenbank ist für Lese- und Schreibvorgänge verfügbar.
Script zum Überwachen der Bereitstellung von Datenbankvolumes
Wenn Sie eine anwendungsspezifische Bereitstellung erstellen, können Sie mit einem Überwachungsscript die Volumes anzeigen, die über „Sicherung und Notfallwiederherstellung“ bereitgestellt werden, und die laufenden Oracle-Prozesse. Anwendungsspezifische Bereitstellungen werden unter Oracle-Datenbank als virtuelle Anwendung bereitstellen beschrieben.
Wenn Sie eine anwendungsspezifische Bereitstellung ausführen, können Sie dieses Überwachungsskript verwenden. Der Speicherort des Scripts muss C:\Programme\Sicherung und Notfallwiederherstellung\scripts sein. Scripts, die auf Windows-Hosts ausgeführt werden, müssen .bat- oder .vbs-Dateien sein.
```Windows
@echo off
:loop
echo. > watchtemp
echo ------------------ >> watchtemp
echo Oracle Processes >> watchtemp
echo ------------------ >> watchtemp
tasklist /svc | findstr oracle >> watchtemp
echo. >> watchtemp
echo ------------------ >> watchtemp
echo Backup and DR Mounts >> watchtemp
echo ------------------ >> watchtemp
wmic volume get label, name | findstr Backup and DR >> watchtemp
echo. >> watchtemp
cls
type watchtemp
timeout 2 > null
goto loop
```
Die Ausgabe sieht in etwa so aus:
Oracle Processes
------------------
oracle.exe 1492 OracleServiceORCL
oracle.exe 3768 OracleServiceTestDB
oracle.exe 872 OracleServiceTestDB2
------------------
Backup and DR Mounts
------------------
Backup and DR-Backup-ORCL D:\mount_1