Im Oracle-Umfeld kann es hin und wieder notwendig werden, eine Blockprüfung der Datenbank durchzuführen, um sicherzustellen, dass alles reibungslos funktioniert. Dabei gibt es verschiedene Ansätze, je nachdem, ob es sich um die gesamte Datenbank oder einzelne Tabellen handelt. Hier zeige ich euch, wie ihr vorgeht, und gebe auch Tipps zur Reparatur.
Blockprüfung der gesamten Datenbank
Die Blockprüfung kann leider nicht direkt auf Tabellenebene durchgeführt werden. Stattdessen prüfen wir alle Blöcke der gesamten Datenbank. Folgendes Kommando wird dazu verwendet:
brbackup -u / -w only_rmv -c -t online -m all -e 8
Damit werden alle Blöcke der Datenbank auf eventuelle Fehler überprüft.
Blockprüfung der benutzten Blöcke der Datenbank
Falls du nur die benutzten Blöcke prüfen möchtest, kannst du dieses Kommando verwenden:
brbackup -u / -w only_dbv -c -t online -m all -e 8
Auch hier wird leider nur auf Datenbankebene geprüft, nicht direkt auf Tabellenebene.
Reparatur von Indizes
Wenn die Blockprüfung Probleme bei einem Index aufzeigt, gibt es zwei Ansätze, um diesen zu reparieren.
Ansatz 1: Index online neu aufbauen
Du kannst den betroffenen Index einfach online neu aufbauen, und zwar mit folgendem Befehl:
alter index SAPSR3."<TABELLE>" rebuild online;
oder bei einem anderen Index:
alter index SAPSR3."<TABELLE>~0" rebuild online;
Ansatz 2: Export und Import der Tabelle
Alternativ kannst du den Index auch durch Export und Import neu aufbauen. Vorteil dieses Ansatzes: Du siehst bereits beim Export, ob es Probleme mit der Tabelle gibt. So gehst du vor:
1. Export der Tabelle
Führe folgenden Exportbefehl aus:
exp userid=sapsr3/password tables=<TABELLE> file=<TABELLE>.DMP
2. Tabelle löschen
Anschließend die Tabelle im SQLPlus löschen:
drop table sapsr3.<TABELLE>;
commit;
3. Tabelle wieder importieren
Nun importierst du die Tabelle wieder über die DOS-Box:
imp userid=sapsr3/password tables=<TABELLE> file=<TABELLE>.DMP
Manuelle Prüfung einzelner Tabellen
Wenn du eine einzelne Tabelle überprüfen möchtest, gibt es verschiedene Möglichkeiten. Eine schnelle Methode ist der ANALYZE-Befehl:
analyze table sapsr3.<TABELLE> validate structure cascade online;
Zusätzlich gibt es die FAST-Option für diesen Befehl, doch SAP empfiehlt die Verwendung dieser Option nicht(damaliger Stand):
analyze table sapsr3.<TABELLE> validate structure cascade fast;
Blockstatistiken generieren
Eine weitere Möglichkeit ist der Einsatz von brconnect zur Erzeugung von Statistiken:
brconnect -u / -c -f stats -t -v cascade
oder für alle Tabellen:
brconnect -u / -c -f stats -t all -v cascade -p 8 &
Mit diesen Befehlen und Techniken hast du eine solide Grundlage, um im Oracle-Umfeld Blockprüfungen durchzuführen und mögliche Probleme mit Tabellen und Indizes zu beheben. Je nach Art der Probleme kannst du zwischen einer schnellen Online-Reparatur oder einer gründlicheren Methode wie dem Export/Import wählen.