Benutzer-Werkzeuge

Webseiten-Werkzeuge


dba:recovery

Rücksicherung

Um die DB nach einem Crash wiederherstellen zu können, müssen die folgenden Schritte durchgeführt werden.

Hinweis! Für eine Vollständigkeit und in jedem Fall richtige Funktionsweise kann keine Haftung übernommen werden.
Gutes Grundverständnis der Oracle-Architektur wird vorausgesetzt!
Bitte binden Sie im Zweifel immer den Oracle Support mit ein!

1. Schritt - Analyse

Die Anwender melden einen Fehler mit der Datenbank.

  • Kaffee trinken, Doku suchen, entspannen
  • Ist auf den Platten überhaupt noch Platz?
    • Falls nicht, Platz schaffen
  • Prüfen:
    • In der alert-Log-Datei den letzten Eintrag suchen
    • Evtl. ist ja auch nur der Archiver stehen geblieben

A) Läuft die DB noch?

Über die Konsole mit SQL*Plus auf die DB verbinden

cmd>SET ORACLE_HOME=<Meine DB Software>
cmd>SET ORACLE_SID=<Meine Anwender schimpfen SID>
cmd>sqlplus "/ as sysdba"

Läuft die Instance überhaupt noch?

SQL> SELECT INSTANCE_NAME,STARTUP_TIME,STATUS,ACTIVE_STATE FROM v$instance;
 
INSTANCE_NAME    STARTUP_ STATUS       ACTIVE_ST
---------------- -------- ------------ ---------
ORACLE_SID             26.08.06 OPEN         NORMAL

Ist die Datenbank geöffnet?

SQL> SELECT dbid,name,OPEN_MODE FROM v$database;
 
      DBID NAME                                     OPEN_MODE
---------- ---------------------------------------- ----------
 944794439 ORACLE_SID                                     READ WRITE

Sind alle Datendateien online?

  SQL> SELECT name,status  FROM v$datafile;
 
NAME                                     STATUS
---------------------------------------- -------
D:\ORACLE\ORADATA\ORACLE_SID\SYSTEM01.DBF      SYSTEM
D:\ORACLE\ORADATA\ORACLE_SID\UNDOTBS01.DBF     ONLINE
D:\ORACLE\ORADATA\ORACLE_SID\INDX01.DBF        ONLINE
D:\ORACLE\ORADATA\ORACLE_SID\TOOLS01.DBF       ONLINE
D:\ORACLE\ORADATA\ORACLE_SID\USERS01.DBF       ONLINE

Wenn hier alles in Ordnung ist, hängt evtl. nur der Archiver?
Symptome:

Ein Select kann durchgeführt werden, bei einem Update bleibt die Session hängen.
Auf Plattenplatz achten!
Wenn wieder genug Platz da ist, läuft der Archiver normalerweise weiter, ansonsten einen neuen Prozess dazu starten.

SQL> SELECT paddr, name,error FROM v$bgprocess WHERE name LIKE 'ARC%' ORDER BY name;
 
PADDR    NAME                                          ERROR
-------- ---------------------------------------- ----------
1AA4048C ARC0                                     ##########
1AA40874 ARC1                                     ##########
00       ARC2                                     ##########
....

Ist in der Spalte PADDR ein Wert eingetragen, läuft ab dieser Speicheradresse der Archiver (in diesem Falle zwei Stück) Falls keiner mehr am Leben ist, kann so ein neuer Prozess gestartet werden:

SQL> ALTER system SET log_archive_max_processes=3;
 
System wurde geändert.

Kontrolle:

SQL> SELECT paddr, name,error FROM v$bgprocess WHERE name LIKE 'ARC%' ORDER BY name;
 
PADDR    NAME                                          ERROR
-------- ---------------------------------------- ----------
1AA4048C ARC0                                     ##########
1AA40874 ARC1                                     ##########
1AA41044 ARC2                                     ##########
.....

Datenbank ist abgestürzt

Der Service der DB ist noch am Leben:
Sie versuchen sich anzumelden

cmd> SET ORACLE_SID=<meine Defekte DB>
H:\oracle\flash_recovery_area\ORACLE_SID>sqlplus /nolog
 
SQL*Plus: RELEASE 9.2.0.7.0 - Production ON Sa Aug 26 16:07:54 2006
 
Copyright (c) 1982, 2002, Oracle Corporation.  ALL rights reserved.
 
SQL> CONNECT / AS sysdba
Bei einer nicht hochgefahrenen Instanz angemeldet.

Falls die Meldung so aussieht, ist der Service für die Instance noch am Leben.
Damit wir einen konsistenten Status erreichen, falls noch Prozesse am laufen sind, die Datenbank mit „shutdown abort“ stoppen.

SQL> shutdown abort;
ORACLE-Instanz heruntergefahren.

Service der DB ist ebenfalls abgestürzt

H:\oracle\flash_recovery_area\ORACLE_SID>sqlplus /nolog
 
SQL*Plus: RELEASE 9.2.0.7.0 - Production ON Sa Aug 26 16:12:37 2006
 
Copyright (c) 1982, 2002, Oracle Corporation.  ALL rights reserved.
 
SQL> CONNECT / AS sysdba
ERROR:
ORA-12560: TNS: Fehler bei Protokolladapter

Nur den Service der DB neu starten!
!NICHT ÜBER die Windows-Dienste-Verwaltung, sonst startet auch die Instance!
Zuvor den Startmode auf Manual stellen, sonst startet immer die Instance nach!

cmd>oradim -edit -sid ORACLE_SID -startmode m
cmd>oradim -startup -sid ORACLE_SID -starttype srvc

2. Schritt - Retten, was zu retten ist

!MERKSPRUCH für den CHEF: Das kriegen wir hin, aber ein Bein kann Ihnen auch niemand in einer halben Stunde annähen!

Voraussetzung:

  • DB Prozesse sind alle beendet (shutdown abort!)
  • Kopieren der defekten Datenbank als Sicherungskopie, falls etwas daneben geht!
  • solange Kaffee trinken gehen.

Die Szenario für die Rücksicherung

Cookies helfen bei der Bereitstellung von Inhalten. Durch die Nutzung dieser Seiten erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Rechner gespeichert werden. Weitere Information
"Autor: Gunther Pipperr"
dba/recovery.txt · Zuletzt geändert: 2014/06/27 08:38 von Gunther Pippèrr