Hinweis
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 und werden ausgeführt (prüfen Sie die Windows-Dienste).
Prüfen Sie, ob ein TNS-Eintrag mit dem Namen SID vorhanden ist. Die Datei „tnsnames.ora“ befindet sich unter
%ORACLE_HOME%\network\adminPrüfen Sie mit folgendem Befehl, ob der TNS-Eintrag gültig ist:
%ORACLE_HOME%\bin\tnsping <SID>
Prüfen Sie, ob der Logmodus auf „Archive Log“ festgelegt ist:
sql> archive log listWenn sich die Datenbank im No-Archive-Log-Modus befindet, versetzen Sie sie wieder in den Archive-Log-Modus:
sql> shutdown immediate; sql> startup mount; sql> alter database archivelog; sql> alter database open;Datenbank-Änderungsblock-Tracking aktivieren. Wenn die Datenbank-BCT deaktiviert ist, wirkt sich das auf die Zeit für die inkrementelle Sicherung aus. Die Funktion „Changed Block Tracking“ ist in der Oracle Enterprise Edition verfügbar. Führen Sie eine SQL-Abfrage aus, um zu prüfen, ob die Änderungsblockverfolgung aktiviert ist. Führen Sie die Abfrage aus:
sqlplus / as sysdba sql> select * from v$block_change_tracking;
So aktivieren Sie die Änderungsblockverfolgung:
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 in der Appliance-Verwaltungskonsole Anwendungsdetails und -einstellungen für Oracle-Datenbanken fest.
Wenden Sie einen Sicherungsplan an, um die Datenbank zu schützen.
Bekanntes Problem
Oracle 19c SQL*Plus (sqlplus.exe) hängt gelegentlich unter Windows, wenn der Befehl „exit“ ausgeführt wird (Doc ID 2820655.1). Dieser Fehler tritt nur unter Windows auf. Oracle hat bestätigt, dass dieses Problem in den SQL*Plus-Versionen 19.10, 19.11 und 19.12 auftritt. Oracle hat die folgenden 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 auf einen geplanten Sicherungspunkt wiederherstellen, wenn das Archivelog nicht durch Backup und DR geschützt ist
So stellen Sie eine gesamte Oracle-Datenbank in einer Windows-Umgebung wieder her:
Hängen Sie den Snapshot der Datenbanksicherung aus Backup und DR wieder auf dem Oracle-Server an, wie unter Oracle-Datenbank als Standardbereitstellung bereitstellen beschrieben.
Legen Sie die Datenbankumgebung fest und starten Sie die Datenbank im No-Mount-Zustand mit der Parameterdatei aus dem bereitgestellten Backup und DR-Volume (z. B. für ein bereitgestelltes Datenbank-Volume auf E:):
sqlplus / as sysdba sql> startup nomount pfile='E:\<sid>___backup.ora';Erstellen Sie eine SPFILE aus einer PFILE:
sql> create spfile='%ORACLE_HOME%\database\spfile<sid>.ora' from pfile='E:\<sid>___backup.ora';Starten Sie die Datenbank mit spfile im Status
nomount:sql> shutdown immediate; sql> startup nomount;Stellen Sie die Steuerdatei mit RMAN aus dem bereitgestellten Backup und DR-Volume 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 Archivdateiordner vom bereitgestellten Backup und DR-Volume in RMAN:
rman> run { catalog start with 'E:\datafile' noprompt; catalog start with 'E:\archivelog' noprompt; }Datenbank wiederherstellen:
rman> run { restore database; recover database; }Öffnen Sie die Datenbank mit der Option zum Zurücksetzen des Logs:
rman> alter database open resetlogs;
Oracle-Datenbanken in einer Windows-Umgebung manuell mit RMAN auf einen geplanten Sicherungspunkt mit Roll-Forward des Backup- und DR-geschützten Archivelogs wiederherstellen
Stellen Sie die Sicherung vom Quelldatenbankserver bereit, um sie wiederherzustellen. Hängen Sie den Sicherungs-Snapshot von Backup und DR wieder auf dem Oracle-Server an, wie unter Oracle-Datenbank als Standard-Bereitstellung bereitstellen beschrieben.
Legen Sie die Datenbankumgebung fest und starten Sie die Datenbank im No-Mount-Zustand mit der Parameterdatei aus dem bereitgestellten Backup und DR-Volume. In diesem Beispiel wird die Datenbanksicherung unter „E:\“ und das geschützte Archivprotokoll unter „Z:\“ bereitgestellt.
sqlplus / as sysdbastartup nomount pfile='E:\<sid>___backup.ora';Erstellen Sie eine SPFILE aus einer PFILE:
sql> create spfile='%ORACLE_HOME%\database\spfile<sid>.ora' from pfile='E:\<sid>___backup.ora';Starten Sie die Datenbank mit „spfile“ im Status „nomount“:
```sql shutdown immediate; startup nomount; ```Stellen Sie die Steuerdatei mit RMAN aus der von Backup und DR bereitgestellten Archivprotokollsicherung 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 der von Backup und DR bereitgestellten Datenbanksicherung und der Archivelog-Sicherung in RMAN:
```rman rman> run { catalog start with 'E:\datafile' noprompt; catalog start with 'E:\archivelog' noprompt; catalog start with 'Z:\archivelog' noprompt; } ```Datenbank wiederherstellen:
```rman rman> run { restore database; recover database; } ```Führen Sie den Wiederherstellungsbefehl für eine Wiederherstellung zu einem bestimmten Zeitpunkt 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 Logs:
```rman rman> alter database open resetlogs; ```Die Datenbank ist für Lese- und Schreibvorgänge verfügbar.
Watch-Script, um zu prüfen, ob Datenbank-Volumes bereitgestellt werden
Wenn Sie eine anwendungsspezifische Bereitstellung erstellen, können Sie ein Watch-Script verwenden, um die Volumes anzuzeigen, die von Backup und DR bereitgestellt werden, sowie die ausgeführten Oracle-Prozesse. Anwendungsspezifische Bereitstellungen werden unter Oracle-Datenbank als virtuelle Anwendung bereitstellen beschrieben.
Wenn Sie eine anwendungsspezifische Bereitstellung durchführen, können Sie dieses Watch-Script verwenden. Der Speicherort des Skripts muss „C:\Programme\Backup und DR\scripts“ sein. Skripts, 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
```
Dadurch wird eine Ausgabe wie die folgende generiert:
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