DBAtlas · Atlas für Datenbankbetrieb

Oracle ASM: täglicher Betrieb und Störungsszenarien

OracleStufe: FortgeschrittenDauer: 10 Min. – einige Stunden (je nach Rebalance-Dauer)

Täglicher Betrieb der ASM-Diskgroups in einer installierten Oracle-Restart- oder RAC-Umgebung und Vorgehen im Störungsfall: Kapazitätsprüfung (usable_file_mb), Rebalance-Überwachung, Disks hinzufügen/ersetzen/entfernen, Offline-Disk, neue Diskgroup, Mount/Dismount, Sicherung der ASM-Konfiguration und Discovery-String. ASM wird hier nicht installiert (Installation: Guide zu Oracle Restart oder RAC); suchst du nach einem Fehlercode (z. B. ORA-15041, ORA-15042), öffnet sich das passende Szenario. Jedes Szenario folgt dem Schema Diagnose → Sicherheitsnetz → Durchführung → Prüfung → Nacharbeiten; die Datenbank bleibt geöffnet (außer bei Dismount).

Topologie: Oracle Restart (Einzelserver) oder RAC mit 2–8 Nodes, Grid Infrastructure 19c (Unterschiede in 23ai/26ai in den Hinweisen)

Szenarien

  • Kapazität und Zustand der Diskgroups prüfen — Ändert nichts: Ist eine Diskgroup voll, wie viel Platz ist noch frei (richtige Deutung von usable_file_mb je Redundanz), Offline-Disks, ungleiche Verteilung auf die Disks und Kompatibilitätsattribute. Die erste Karte bei Platzproblemen, einer Warnung oder einer Routineprüfung.
  • Rebalance überwachen, beschleunigen oder verlangsamen — Fortschritt und Restdauer eines laufenden Rebalance/Resync (v$asm_operation, est_minutes) sowie Ändern der POWER. Die Datenbank bleibt geöffnet; nur die I/O-Last ändert sich.
  • Neue Disk zu einer Diskgroup hinzufügen — In der Diskgroup wird der Platz knapp oder sie muss wachsen: neue LUN auf allen Nodes vorbereiten (Multipath/udev/ASMLib/AFD), mit ADD DISK hinzufügen, Rebalance überwachen. Die Datenbank bleibt geöffnet.
  • Eine Disk durch eine neue ersetzen (REPLACE DISK) — Ersetzt eine ausgefallene (offline) oder zu erneuernde Disk in einem einzigen Vorgang durch eine neue; kopiert werden nur die Daten dieser Disk (12.1+, NORMAL/HIGH). Bei EXTERNAL erfolgen Hinzufügen + Entfernen in einem Befehl. Die Datenbank bleibt geöffnet.
  • Disk aus einer Diskgroup entfernen — Um eine LUN zurückzugeben oder aus dem Storage zu entfernen: Mit DROP DISK werden die Daten auf die übrigen Disks verlagert; die Disk wird erst abgehängt, wenn der Rebalance beendet und die Disk FORMER ist. Die Datenbank bleibt geöffnet.
  • Eine Disk ist offline oder ausgefallen (NORMAL/HIGH Redundancy) — In einer NORMAL/HIGH-Diskgroup erscheint eine Disk als OFFLINE oder das Alert-Log zeigt Schreib-/Lesefehler: Diagnose, Zeitfenster disk_repair_time, ONLINE DISK (Fast Mirror Resync), wenn der Pfad repariert ist, Verlängern des Zeitfensters, wenn die Reparatur länger dauert. Die Datenbank bleibt geöffnet.
  • Neue Diskgroup anlegen — Zum Anlegen einer neuen Daten-, FRA- oder Anwendungs-Diskgroup: Redundancy, AU-Größe, Attribute compatible.asm/rdbms; bei RAC Mount auf allen Nodes und die Clusterware-Ressource. Vorhandene Diskgroups sind nicht betroffen.
  • Diskgroup mounten oder dismounten — Um eine Diskgroup geplant herunterzufahren (Dismount) oder eine heruntergefahrene bzw. sich nicht öffnende Diskgroup zu öffnen (Mount): mit srvctl start/stop diskgroup auf allen Nodes. Für einen Dismount darf keine Datenbank die Diskgroup nutzen; lässt sie sich nicht mounten, leitet das Szenario dich anhand des Fehlercodes weiter.
  • Sicherung von ASM-spfile, Passwortdatei und Metadaten — Keine Downtime: ASM-spfile, Passwortdatei, Diskgroup-Struktur (md_backup) und bei RAC das GPnP-Profil werden außerhalb von ASM gesichert, damit sich die ASM-Konfiguration auch bei Verlust der Diskgroups wieder aufbauen lässt. Führe das nach der Installation und nach jeder Strukturänderung aus.
  • ASM-Discovery-String (asm_diskstring) ändern — Um das Pfadmuster zu ändern, mit dem ASM nach Disks sucht (z. B. Umstieg auf Multipath, neues udev-Verzeichnis, ASMLib/AFD): zuerst mit kfod testen, dann asmcmd dsset. Alle vorhandenen Disks (inklusive OCR/Voting) müssen auch mit dem neuen String gefunden werden.

Vor dem Start

  • Du hast root-Zugriff und eine Login-Shell als Benutzer grid; das Profil von grid setzt ORACLE_HOME=… und ORACLE_SID (+ASM…N…). Die SQL-Schritte laufen mit sqlplus / as sysasm.
  • Das Storage-Team hat die neuen LUNs …allen Nodes… präsentiert; sie haben dieselbe Größe wie die vorhandenen Disks; die WWIDs (oder die Seriennummern der VM-Disks) liegen dir vor; die Disks sind leer (kein Dateisystem, kein LVM, kein alter ASM-Header).
  • Für die Datenbanken in der Diskgroup gibt es ein aktuelles RMAN-Backup; da der Vorgang I/O-Last erzeugt, wurde eine Zeit mit wenig Last gewählt.
  • Auf … läuft kein anderer Rebalance (starte nicht zwei große Vorgänge gleichzeitig).

Phasen der Anleitung

  • Kapazitäts- und Zustandsprüfung — Belegung der Diskgroups anzeigen · Verteilung und Zustand der Disks prüfen · Kompatibilitäts- und Reparaturattribute anzeigen · Belegung pro Diskgroup und laufende Vorgänge
  • Rebalance-Überwachung und POWER-Einstellung — Laufende Vorgänge und POWER-Einstellung anzeigen · Rebalance-POWER ändern · Rebalance bis zum Ende überwachen
  • Disk hinzufügen: Diagnose — Zustand der Diskgroup … anzeigen
  • Neue Disks vorbereiten — Neue LUNs scannen und identifizieren… (…)… · Neue LUNs scannen und identifizieren… (…)… · Multipath-Aliasse definieren · Neue Disks in die udev-Regel aufnehmen · Partition auf den Disks anlegen und ASMLib-Label schreiben… (nur Node 1)… · Labels auf den anderen Nodes einlesen (…) …
  • Disk hinzufügen: Durchführung — Disks zur Diskgroup … hinzufügen · Rebalance bis zum Ende überwachen
  • Disk hinzufügen: Prüfung — Prüfen, dass die neuen Disks Mitglieder sind · Nacharbeiten
  • Disk ersetzen: Diagnose — Zustand der Diskgroup … anzeigen · Zustand der zu ersetzenden Disk anzeigen
  • Neue Disks vorbereiten — Neue LUNs scannen und identifizieren… (…)… · Neue LUNs scannen und identifizieren… (…)… · Multipath-Aliasse definieren · Neue Disks in die udev-Regel aufnehmen · Partition auf den Disks anlegen und ASMLib-Label schreiben… (nur Node 1)… · Labels auf den anderen Nodes einlesen (…) …
  • Disk ersetzen: Durchführung — Alte Disk offline nehmen, falls sie noch ONLINE ist · Disk durch die neue ersetzen · Neue Disk hinzufügen und alte entfernen (EXTERNAL) · Rebalance bis zum Ende überwachen
  • Disk ersetzen: Prüfung und Nacharbeiten — Austausch prüfen · Header der alten Disk prüfen
  • Disk entfernen: Diagnose — Zustand der Diskgroup … anzeigen · Reicht der Platz nach dem Entfernen?
  • Disk entfernen: Durchführung — Disks aus … entfernen · Rebalance bis zum Ende überwachen
  • Disk entfernen: Prüfung und Entfernen aus dem Betriebssystem — Prüfen, dass die entfernten Disks FORMER sind · Disks aus dem Betriebssystem entfernen
  • Ausgefallene Disk: Diagnose — Offline-Disks und verbleibende Frist anzeigen · Disk-Pfad im Betriebssystem prüfen… (…)… · Disk-Pfad im Betriebssystem prüfen · Im ASM-Alert-Log nach Disk-Ereignissen suchen
  • Ausgefallene Disk: Disk zurückholen (ONLINE) — Disk online setzen · Resync bis zum Ende überwachen · Prüfen, dass die Disk online ist
  • Ausgefallene Disk: Frist bis zum Entfernen verlängern — Offline-Disk eine neue Frist geben · Nach der Reparatur
  • Neue Diskgroup: Diagnose — Vorhandene Diskgroups und Kandidaten-Disks anzeigen
  • Neue Disks vorbereiten — Neue LUNs scannen und identifizieren… (…)… · Neue LUNs scannen und identifizieren… (…)… · Multipath-Aliasse definieren · Neue Disks in die udev-Regel aufnehmen · Partition auf den Disks anlegen und ASMLib-Label schreiben… (nur Node 1)… · Labels auf den anderen Nodes einlesen (…) …
  • Neue Diskgroup: Anlegen — Diskgroup … anlegen · Diskgroup auf allen Nodes mounten · Diskgroup-Ressource prüfen
  • Neue Diskgroup: Nacharbeiten — Diskgroup in Betrieb nehmen
  • Mount / Dismount: Diagnose — Zustand der Diskgroup und ihre Nutzer anzeigen · Clusterware-Ressource anzeigen
  • Sicherung von ASM-spfile, Passwortdatei und Metadaten — Speicherort von ASM-spfile und Passwortdatei anzeigen · Sicherungsverzeichnis anlegen · Sicherungen erstellen · Sicherungen außerhalb des Servers ablegen
  • Discovery-String: Diagnose — Aktuellen String und Pfade der Mitglieds-Disks anzeigen · Prüfen, dass der neue String alle Mitglieds-Disks findet
  • Discovery-String: Durchführung und Prüfung — Discovery-String ändern · Auf allen ASM-Instanzen prüfen
Schritt-für-Schritt-Plan für Ihre Umgebung öffnen →