Bei großen Datenbanken kann schon das Erkennen geänderter Blöcke einen erheblichen Teil der Laufzeit eines inkrementellen Backups ausmachen. Block Change Tracking (BCT) protokolliert geänderte Datenblöcke in einer separaten Datei. RMAN kann diese Bitmap-Datei bei Level-1-Backups nutzen, um unveränderte Bereiche beim Scan auszulassen. Das reduziert vor allem Lese-I/O; die tatsächlich geänderten Blöcke müssen weiterhin gelesen und gesichert werden.
Aktivieren und Status kontrollieren
Bei Oracle Managed Files legt die Datenbank die BCT-Datei im konfigurierten DB_CREATE_FILE_DEST ab. Ohne OMF muss ein konkreter Dateipfad angegeben werden:
ALTER DATABASE ENABLE BLOCK CHANGE TRACKING
USING FILE '/u02/oradata/PROD/bct_prod.ctf';
SELECT status, filename, bytes
FROM v$block_change_tracking;
Die Datenbank kann BCT im geöffneten oder gemounteten Zustand einschalten. In RAC muss die Datei auf gemeinsamem Speicher liegen, den alle Instanzen erreichen. Speicherort und Kapazität gehören deshalb in die Storage- und Backup-Dokumentation, auch wenn die Datei selbst klein bleibt.
Wo BCT hilft – und wo nicht
Ein Level-0-Inkrementalbackup enthält die Basisblöcke und profitiert nicht vom Tracking. RMAN verwendet BCT für Level 1. Besonders relevant ist es, wenn große Datafiles zwischen den Backups nur teilweise geändert werden: Ohne Tracking müssen für das Erkennen geänderter Bereiche mehr Dateiblöcke geprüft werden. Bei sehr hoher Änderungsrate kann der Vorteil kleiner ausfallen. Messen Sie deshalb Scan-Dauer, gesicherte Datenmenge und I/O vor und nach der Aktivierung in einem repräsentativen Zyklus.
Die Datenbank hält Bitmaps für die jüngsten Backup-Intervalle vor. Wird das Zeitfenster des übergeordneten Backups durch viele weitere Backups überschritten, kann RMAN die Tracking-Information für dieses Parent-Backup nicht mehr verwenden und muss die Dateien erneut umfassender scannen. Die Backup-Kadenz aus Level 0, differentiellen oder kumulativen Level 1 sollte daher zum Tracking-Fenster passen.
Betrieb und Wiederanlauf
RMAN sichert die BCT-Datei nicht selbst. Wird eine Datenbank vollständig wiederhergestellt oder die Tracking-Datei ungültig, setzt Oracle das Tracking zurück und beginnt neu. Nach einem Level-0-Backup können folgende Level-1-Läufe die neue Bitmap-Historie verwenden. BCT ist damit eine Performance-Hilfe, aber kein Bestandteil, dessen Verlust die Wiederherstellbarkeit der Datenbank verhindert.
- Level-0/Level-1-Plan und Änderungsrate der Datenbank erfassen.
- BCT-Datei an einem für die Plattform passenden, erreichbaren Ort ablegen.
- Nach Aktivierung Status und ersten inkrementellen Lauf kontrollieren.
- Laufzeiten und Scan-I/O im normalen Zyklus vergleichen.
- Nach Restore oder Datei-Neuanlage den erneuten Aufbau in den Backup-Plan aufnehmen.
Block Change Tracking lohnt sich vor allem bei großen Datenbanken mit regelmäßigen Level-1-Backups und überschaubaren Änderungen zwischen den Läufen. Ein kurzer Messvergleich zeigt, ob die Bitmap den gewünschten Scan-Aufwand tatsächlich spart.
Weiterführend: Oracles Anleitung zu Block Change Tracking für RMAN-Inkremental-Backups und die Referenz zu ALTER DATABASE.