Requirements first
| Tier | RPO | RTO | Typical design |
|---|---|---|---|
| Critical | Seconds–minutes | < 1 hour | Data Guard standby + RMAN backups (see the Data Guard post) |
| Standard | ≤ 1 hour | Hours | Daily incremental + archivelog backups every 15–60 min |
| Low | 24 hours | Days | Weekly full + daily incremental |
Archived redo log backup frequency sets backup-based RPO.
Backup styles
| Style | How | Fits |
|---|---|---|
| Level 0 + level 1 incrementals | Weekly level 0, daily level 1 (differential or cumulative) | Most databases |
| Incrementally updated image copy ("incremental merge") | Image copy rolled forward daily with level 1 | Fast restore by switching to the copy |
| Recovery appliance / incremental forever | Appliance or cloud service merges virtual fulls | Large estates needing low RPO |
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 14 DAYS;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE BACKUP OPTIMIZATION ON;
CONFIGURE DEVICE TYPE DISK PARALLELISM 4;
CONFIGURE COMPRESSION ALGORITHM 'MEDIUM'; -- check Advanced Compression licensing for non-BASIC levels
RUN {
BACKUP AS COMPRESSED BACKUPSET INCREMENTAL LEVEL 1 DATABASE PLUS ARCHIVELOG DELETE INPUT;
DELETE NOPROMPT OBSOLETE;
}
Speed up incrementals
ALTER DATABASE ENABLE BLOCK CHANGE TRACKING USING FILE '+DATA';
SELECT status, filename FROM v$block_change_tracking;
Block change tracking avoids scanning all blocks for level 1 backups.
Where backups go
| Copy | Purpose |
|---|---|
| Fast Recovery Area / local disk | Fast restores, short retention |
| Off-site/object storage | Site loss; longer retention |
| Immutable storage (retention-locked buckets, immutable appliances) | Ransomware and deletion protection |
For cloud object storage, use Oracle's cloud backup module or the platform's managed backup service; encrypt backups (RMAN encryption with wallet or password).
Protect keys and catalog
- TDE wallets/keystores backed up separately and securely; without them encrypted backups are useless.
- An RMAN recovery catalog for large estates (history beyond control file, reporting).
Test
RESTORE DATABASE VALIDATE;
RESTORE ARCHIVELOG FROM TIME 'SYSDATE-1' VALIDATE;
Plus a real restore to a test host at least quarterly, timed against RTO (see the RMAN restore post).
Caution
DELETE OBSOLETEfollows your retention policy exactly. Set the recovery window before automating deletion, and make sure off-site/immutable copies have their own, longer retention.
Checklist
- RPO/RTO per database tier
- Backup style chosen
- Retention policy and controlfile autobackup set
- Block change tracking enabled
- Off-site and immutable copies
- Wallets and catalog protected
- Validation and timed restore tests