Als PDF Downloaden!

Werbung
Tipps & Tricks: März 2008
Bereich:
DBA, B&R
Erstellung:
03/2008 MM
Versionsinfo:
10.2.0.4, 11.1.0.6
Letzte Überarbeitung:
06/2009 MM
Nützliches zur Archivierung in 10g
Sie haben Oracle 10g (oder höher) im Einsatz und (hoffentlich) die Archivierung eingeschaltet? Dann haben Sie gemeinsam mit einem (hoffentlich) vorhandenen Backup - schon einmal die Grundlage für eine mögliche
Wiederherstellung Ihrer Datenbank in einem (hoffentlich niemals) auftretenden Fehlerfall geschaffen.
Aber sind Sie sich auch sicher, dass Sie dazu alles richtig konfiguriert haben und nicht Gefahr laufen, dass Ihnen
plötzlich Ihre Datenbank stehen bleibt? Falls ja, dann können Sie an dieser Stelle mit dem Lesen des Monatstipps
abbrechen und sich lieber einen anderen unserer (interessanten :-)) Beiträge ansehen. Falls nein, dann haben wir
vielleicht noch ein paar nützliche Informationen bezüglich Ihrer Archivierung und der Nutzung der Flash Recovery
Area.
Überprüfung der Archivierung
Die beste Variante zur Überprüfung der Archivierung bietet SQL*Plus. Hierzu ist eine Anmeldung als SYSDBA
notwendig:
CONNECT sys/<pwd> as sysdba
ARCHIVE LOG LIST
Datenbank-Log-Modus
Archive-Modus
Automatische Archivierung
Aktiviert
Archivierungsziel
USE_DB_RECOVERY_FILE_DEST
Älteste Online-Log-Sequenz
85
Nächste zu archivierende Log-Sequenz 87
Aktuelle Log-Sequenz
87
Die Ausgabe besagt, dass die Archivierung eingeschaltet ist und als Archivierungsziel die Flash Recovery Area
verwendet wird. Auf welches Verzeichnis das Ziel USE_DB_RECOVERY_FILE_DEST verweist, erhält man über
einen der folgenden Befehle:
SHOW PARAMETER db_recovery_file_dest;
NAME
-------------------------db_recovery_file_dest
db_recovery_file_dest_size
VALUE
-------------------------------------------C:\oracle\product\10.2.0/flash_recovery_area
2G
SELECT * FROM v$recovery_file_dest;
NAME
SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NOF
-------------------------------- ----------- ---------- ----------------- --Muniqsoft GmbH
Schulungszentrum, Grünwalder Weg 13a, 82008 Unterhaching, Tel. 089 / 679090-40
IT-Consulting & Support, Witneystraße 1, 82008 Unterhaching, Tel. 089 / 6228 6789-0
Seite 1 von 4
C:\oracle\product\10.2.0/flash_
2147483648 806454784
11396608
7
Die weiteren Spalten der View V$RECOVERY_FILE_DEST haben im Einzelnen folgende Bedeutung:
SPACE_LIMIT: Gesamtgröße der Flash Recovery Area
SPACE_USED: Größe des bereits belegten Speicherplatzes
SPACE_RECLAIMABLE: Speicherplatz, der durch Löschen von obsoleten (also veralteten) Dateien
wieder gewonnen werden könnte
NUMBER_OF_FILES: Anzahl, der über die Flash Recovery Area verwalteten Dateien
Achtung:
Die Größe der Flash Recovery Area ist bei einer Default Installation auf 2GB begrenzt!!
Sind diese 2GB bzw. das Gesamtlimit erreicht und es kann nicht weiter archiviert werden, bleibt Ihnen die
Datenbank unweigerlich stehen. Sie müssen dazu Dateien aus der Flash Recovery Area löschen bzw. die
zulässige Gesamtgröße erhöhen. In der Alert-Datei erhalten Sie eine entsprechende Fehlermeldung:
Errors in file c:\oracle\admin\o10g\bdump\o10g_arc1_3832.trc:
ORA-19815: WARNING: db_recovery_file_dest_size of 2147483648 bytes is 100.00% used,
and has 0 remaining bytes available.
Thu Jan 31 14:16:48 2008
********************************************************************
You have following choices to free up space from flash recovery area:
1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard,
then consider changing RMAN ARCHIVELOG DELETION POLICY.
2. Back up files to tertiary device such as tape using RMAN
BACKUP RECOVERY AREA command.
3. Add disk space and increase db_recovery_file_dest_size parameter to
reflect the new space.
4. Delete unnecessary files using RMAN DELETE command. If an operating
system command was used to delete files, then use RMAN CROSSCHECK and
DELETE EXPIRED commands.
********************************************************************
Thu Jan 31 14:16:48 2008
Errors in file c:\oracle\admin\o10g\bdump\o10g_arc1_3832.trc:
ORA-19809: limit exceeded for recovery files
ORA-19804: cannot reclaim 13220864 bytes disk space from 2147483648 limit
ARC1: Error 19809 Creating archive log file to
'C:\ORACLE\FLASH_RECOVERY_AREA\O10G\ARCHIVELOG\2008_01_31\O1_MF_1_95_U_.ARC'
ARCH: Archival stopped, error occurred. Will continue retrying
Thu Jan 31 14:16:49 2008
Errors in file c:\oracle\admin\o10g\bdump\o10g_arc1_3832.trc:
ORA-16038: log 1 sequence# 95 cannot be archived
ORA-19809: limit exceeded for recovery files
ORA-00312: online log 1 thread 1: 'C:\ORACLE\ORADATA\O10G\REDO01.LOG'
Thu Jan 31 14:16:49 2008
ARCH: Archival stopped, error occurred. Will continue retrying
Thu Jan 31 14:16:49 2008
Errors in file c:\oracle\admin\o10g\bdump\o10g_arc0_288.trc:
ORA-16014: log 1 sequence# 95 not archived, no available destinations
ORA-00312: online log 1 thread 1: 'C:\ORACLE\ORADATA\O10G\REDO01.LOG'
All online logs needed archiving
Muniqsoft GmbH
Schulungszentrum, Grünwalder Weg 13a, 82008 Unterhaching, Tel. 089 / 679090-40
IT-Consulting & Support, Witneystraße 1, 82008 Unterhaching, Tel. 089 / 6228 6789-0
Seite 2 von 4
Löschen von veralteten Backups bzw. Dateien
Das Löschen von Dateien aus der Flash Recovery Area allein auf Betriebssystemebene ist leider nicht mehr
ausreichend. Der Speicherplatz, den die gelöschten Dateien belegt haben wird nicht automatisch freigegeben.
Sie müssen hierzu das Oracle Tool "Recovery Manager" (RMAN) verwenden. Erst durch das Löschen über den
RMAN werden die Dateien aus den Controldateien ausgetragen und der Speicherplatz wieder nutzbar. Dazu
empfehlen wir folgendes Vorgehen:
Anmeldung über den RMAN an der Datenbank:
C:\> RMAN target sys/<pwd>@<tns_alias>
Überprüfung der erzeugten archivierten Redolg-Dateien und der erzeugten RMAN-Backups. Ist die Überprüfung
für eine Datei nicht erfolgreich, ist diese auf Betriebssystemebene nicht mehr gefunden worden:
RMAN> crosscheck archivelog all;
RMAN> crosscheck backup;
Die nicht erfolgreich überprüften Dateien müssen nun endgültig gelöscht werden:
RMAN> delete expired archivelog all;
RMAN> delete expired backup;
Möglicherweise gibt es weitere Dateien, die zwar physisch noch vorhanden, aber selbst im Fehlerfall nicht mehr
erforderlich sind und somit den Status OBSOLETE haben. Diese Dateien lassen sich ebenfalls ganz einfach
löschen:
RMAN> report obsolete;
RMAN> delete obsolete;
Die Überprüfung des Speicherplatzes ergibt dann folgendes Ergebnis:
SELECT * FROM v$recovery_file_dest;
NAME
SPACE_LIMIT SPACE_USED SPACE_RECLAIMABLE NOF
-------------------------------- ----------- ---------- ----------------- --C:\oracle\product\10.2.0/flash_ 2147483648 795058176
0 5
Anmerkungen
Grundsätzlich ist die Idee eines zentralen Verzeichnisses, das wichtige Dateien für Backup und Recovery
Vorgänge übersichtlich verwaltet nicht uninteressant. Man darf als DBA dabei aber nie den administrativen
Aufwand außer Acht lassen, der dadurch entsteht.
Sicherlich lässt sich auch dies über eine entsprechende RMAN-Konfiguration weitestgehend automatisieren. Die
dafür nötigen Skripte werden Ihnen in einem späteren Tipp des Monats vorgestellt. Also regelmäßig wieder
reinklicken :-)
Wollen Sie auf die Nutzung der Flash Recovery Area komplett verzichten, setzen Sie sich einfach einen (oder
mehrere) der LOG_ARCHIVE_DEST_n-Parameter auf das gewünschte Verzeichnis. Aber auch hier müssen Sie
natürlich für ausreichenden Speicherplatz sorgen.
Muniqsoft GmbH
Schulungszentrum, Grünwalder Weg 13a, 82008 Unterhaching, Tel. 089 / 679090-40
IT-Consulting & Support, Witneystraße 1, 82008 Unterhaching, Tel. 089 / 6228 6789-0
Seite 3 von 4
Falls Sie jedoch das in 10g eingeführte FLASHBACK DATABASE-Feature nutzen wollen, kommen Sie um die
Flash Recovery Area nicht herum, da die gesammelten Änderungen in Form von .FLB-Dateien nur dort abgelegt
werden können.
Zum Schluss sind noch ein paar interessante Abfragen hinsichtlich der Archivierung und der Flash Recovery Area
zusammengestellt:
SELECT dest_id, dest_name, status, destination, log_sequence
FROM v$archive_dest;
SELECT name, dest_id, sequence#, first_time, next_time
FROM v$archived_log;
SELECT * FROM v$flash_recovery_area_usage;
Muniqsoft GmbH
Schulungszentrum, Grünwalder Weg 13a, 82008 Unterhaching, Tel. 089 / 679090-40
IT-Consulting & Support, Witneystraße 1, 82008 Unterhaching, Tel. 089 / 6228 6789-0
Seite 4 von 4
Herunterladen