Wenn Oracle im Archivelog Modus läuft, dann ist es sehr wichtig, dass die Datenbank regelmäßig gesichert wird. Dies kann entweder mit RMAN oder einer Backup Software wie Veeam erfolgen.
Wenn die Datenbank steht hilft nur ein umgehendes Bereinigen der Archivelogs. Allerdings lassen die sich nicht einfach löschen, weil Oracle in der Datenbank Verweise auf die Dateien hat und sie dann sucht. Deswegen müssen Archivelogs mit Hilfe von RMAN gelöscht werden.
Symptome:
Auf dem Server ist die Festplattenpartition auf der die Archivelogs gespeichert werden vollgelaufen. Eventuell kann auch dieser Artikel bei der Diagnose helfen. (Wenn mit sqlplus noch Queries laufen)
Abhilfe:
Ausführen folgender Befehle:
- rman.exe TARGET sys/[syspasswort]@[Datenbankinstanz]
- crosscheck archivelog all;
- delete expired archivelog all;
Da das Löschen der abgelaufenen Archivelogs wahrscheinlich nichts bringt (Sie sind ja nicht ungültig mangels Sicherung, kann man entweder alle Archivelogs löschen, oder, wenn man vorsichtiger sein will auch die der letzten paar Tage stehen lassen.
- Löschen der Archivelogs älter als 8 Tage: DELETE ARCHIVELOG UNTIL TIME 'SYSDATE - 8';
- Löschen aller Archivelogs (nur im Notfall) delete archivelog all;
Es ist klar, dass manche Datenbankexperten davor warnen werden, aber andererseits ist es die schnellste Möglichkeit, das System wieder zum laufen zu bringen, da es sehr aufwändig ist eine Sicherung mit RMAN einzurichten und auch die Fehlersuche in der Backupsoftware eine Weile dauern kann. Wer die Zeit hat, zu sichern, sollte dies vorziehen.
Zum Thema Backupsoftware schreibe ich hier noch was.