De beste opties voor een backup

De volgende zaken heb je in ieder geval voor elkaar als je een database beheerd:

 

- De database loopt in Archivelog mode
- Je maakt gebruik van het multiplexen van de controlfile
- Je neemt regelmatig backups
- Periodiek doe je een complete restore om de procedures te testen.

1. Zet block checking aan

Het doel is om zo vroeg mogelijk corrupte blocken in de database te detecteren. Dit geeft iets overhead echter het stelt Oracle in staat om in een vroeg stadium corruptie op te sporen wat veroorzaakt wordt door de disks, het storage systeem of systeem I/O problemen.
Commando:

SQL> alter system set db_block_checking = true scope=both;

2. Zet block checking aan als je gebruik maakt van RMAN backups (als je 10g gebruikt)

Dit stelt RMAN in staat alleen die blokken te back-uppen die sinds de laatste full back-up zijn, dit verminderd de back-up tijd omdat er minder blocken geback-upt hoeven te worden.
Commando:

SQL> alter database enable block change tracking using file ‘/oracle/data/DB/change_tracking.f’;   

3. Voer de log groups en members dubbel uit en heb meer dan 1 archive log dest.

Als een archivelog corrupt is of verloren, kan je indien je meerdere kopieën hebt op verschillende locaties, de andere logs die beschikbaar zijn gebruiken. Als een offline log is weggegooid of corrupt raakt, dank heb je nog een andere member die je kan gebruiken om te recoveren als dat nodig is.
Commando:

SQL> alter system set log_archive_dest_2='location=/nieuwelocatie/archive2' scope=both; 
SQL> alter database add logfile member '/nieuwelocatie/redo21.log' to group 1;   

4. Als je de database back-upt gebuik dan de 'check logical' parameter

Dit zorgt ervoor dat RMAN naast de normale check op ‘head/tail’checksumming ook op logische corruptie in een block kan ckecken. Dit is de beste manier om er zeker van te zijn dat je een goede back-up krijgt.
Commando:

RMAN> backup check logical database plus archivelog delete input;   

5. Test je back-up. Reden: Dit doet alles behalve echt restoren van de database

Dit is de beste manier om te kijken of je back-up goed en bruikbaar is voor dat je in een situatie komt waar het kritisch is en er problemen zijn.
Commando:

  RMAN> restore validate database;   

6. Zorg dat ieder datafile in een enkele backup piece komt

Indien je een partiële restore doet, moet RMAN de hele piece doorlezen om de nodige datafile/archivelog te vinden. Hoe kleiner de back-up piece hoe sneller de restore klaar is. Dit is met name relevant bij tape back-ups van grote databases of wanneer de restore voor individuele/weinig files.
Commando:

RMAN> backup database filesperset 1 plus archivelog delete input;   

7. Onderhoud je RMAN catalog/controlfile

Kies nauwkeurig voor de juiste retentie policy

Wees er van overtuigt dat het aansluit op de policy van de device waarnaar je back-upt. Als je geen catalog gebruikt, zorg dan dat je parameter voor de controlfile record keep time overeenkomt met je retentie policy. Commando:

SQL> alter system set control_file_record_keep_time=21 scope=both; 
This will keep 21 days of backup records.

Doe regelmatig catalog maintenance.

Delete obsolete, zal back-ups die buiten de retentie periode vallen, verwijderen. Als de obsolete back-ups niet weggegooid worden zal de catalog steeds groter worden en uiteindelijk een performance issue worden. Commando:

RMAN> delete obsolete; 

Crosscheck de backup.

Crosschecking zal controleren of de catalog/controlfile matches overeenkomt met de fysieke back-ups. Als er een back-up mist zal deze de back-up piece op 'EXPIRED' zetten zodat als een restore gestart wordt, zal deze niet gebruikt worden en een eerder gemaakte back-up gebruiken. Om de expired back-ups te verwijderen van de catalog/controlfile gebruik je het delete expired commando.
Commando:

RMAN> crosscheck backup;
RMAN> delete expired backup;

8. Wees voorbereid op het verlies van controlfiles

set autobackup on.

Dit geeft je de zekerheid dat je altijd een up-to-date controlfile beschikbaar hebt die genomen is aan het eind van de huidige back-up en niet gedurende de back-up.
Commando:

RMAN> configure controlfile autobackup on;  

Bewaar je backup logs.

De back-up logs bevat parameters voor de toegang naar je tapes en locaties van je controlfile back-ups die gebruikt kunnen worden als complete verlies voorkomt.

9. Test je recovery

Tijdens recovery situaties weet je hoe je recovery zal gaan zonder dit echt uit te voeren, het kan voorkomen dat je je bron datafiles nogmaals moet restoren.
Commando:

SQL> recover database test;  

10. Specificeer niet 'delete all input' als je archivelogs back-upt

‘Delete all input' zal van de 1ste locatie back-uppen en dan beide kopieën van de archivelog verwijderen, terwijl 'delete input' van een locatie zal back-uppen en dan verwijderen wat geback-upt is. De volgende back-up zal ze van de 2de locatie evenals de nieuwe van de 1ste back-uppen en ze allemaal verwijderen als ze geback-upt zijn. Dit betekent dat je de archivelogs sinds de laatste back-up op disk hebt in locatie 2 (evenals eenmaal geback-upt).

 

Advertentie

>

Poll

Voorkeur
 

Wie is er aanwezig

We hebben 259 gasten online