Archivering aan en uit zetten

Bij het creëren van een database geef je aan of deze al dan niet in archivelog modus moet komen te draaien. Normaal gesproken kan je default NOARCHIVELOG gebruiken bij het aanmaken van de

database omdat er geen reden is om redo informatie te bewaren op dit punt. Nadat de database is aangemaakt kan je beslissen om hier vanaf te wijken.

Nadat de database is aangemaakt, kan je de archiving modus op ieder moment veranderen echter in het algemeen is dit niet iets wat je dagelijks doet.

LET OP: Als een database automatisch wordt gecreëerd met de Orale installatie zal de initiële archiving modus platform afhankelijk zijn. Dit kan je vinden in de os-specifieke Oracle documentatie.

ARCHIVELOG modus is noodzakelijk om on-line back-ups te kunnen maken en voor bepaalde database recovery acties. Als je de database in ARCHIVELOG modus creëert kunne de gebruikers complete point-in-time recovery van media falen met gebruik van de off-line of on-line backups. Als de ARCHIVELOG modus is uitgezet kan de database gerestored worden van een back-up echter kan deze niet vooruitgerold worden naar de tijd van het falen. Met andere woorden dataverlies indein de database wordt ge-update.

De Initiële Database in Archiving Modus zetten

Wanneer je de database creëert, kan je de initiele archiveing modus van de redo logs in het CREATE DATABASE statement opnemen. Als je niets specificeert zal de database in NOARCHIVELOG modus gezet worden, dit is de default. Om te checken wat de database modus is, kan je het volgende statement executen:


SVRMGR> Select NAME, CREATED, LOG_MODE, CHECKPOINT_CHANGE#,
ARCHIVE_CHANGE# from V$DATABASE;
 NAME CREATED LOG_MODE CHECKPOINT_CHANGE# ARCHIVE_CHANGE# 
---- ----------------- ------------ ------------------ --------------
ORCL 05/21/97 17:55:06 NOARCHIVELOG 7.7174E+12 7.7174E+12

 

Aanzetten van Automatische Archiving bij Instance Startup

Om automatisch archiveren van volle redo groups aan te zetten, bij instance startup, dan zal je de "LOG_ARCHIVE_START" parameter op TRUE moeten zetten in de parameter file van de database:

LET OP: Deze parameter wordt niet meer gesupport in Oracle 10G

LOG_ARCHIVE_START=TRUE

De nieuwe waarde wordt van kracht op het moment dat de database opnieuw aangezet wordt.

Aanzetten van Automatische Archiving na Instance Startup

Om automatisch archiveren van volle redo groups aan te zetten zonder de database uit te zetten, zal je het ALTER SYSTEM met de ARCHIVE LOG START parameter in SQL moeten geven. Het volgende statement zet archiving aan:

Oracle 7.x and Oracle8 / 8i


SVRMGRL> ALTER SYSTEM ARCHIVE LOG START;

Oracle 9.x (Logged in as "/ as SYSDBA")


SQL> ALTER SYSTEM ARCHIVE LOG START;

Als je deze optie gebruikt zal je de instance niet te hoeven stoppen om automatische archivering aan te .

Maar, als een instance wordt uitgezet en herstart nadat automatische archivering is aangezet met deze optie, zal de instance opstarten met de waardes die in de parameter file staan, ("LOG_ARCHIVE_START"), welke al dan niet automatische archivering aanzet.

LET OP: Met Oracle 9i, kan je de spfile gebruiken in plaats van de standaard pfile. De The LOG_ARCHIVE_START parameter wordt in Oracle 10g nneit meer gebruikt.


SQL> alter system set log_archive_start=true scope=spfile;

Het veranderen van de Database Archiverings Modus

Er is een "init.ora" parameter die je aan moet passen om om er voor te zorgen dat je database in de juiste archive log modus draait. Zo zijn er:

LOG_ARCHIVE_START
LOG_ARCHIVE_DEST
LOG_ARCHIVE_FORMAT

LOG_ARCHIVE_START:
Zet automatische archivering van volle redog groups aan, ieder keer als de instance gestart word.
Zet deze parameter op TRUE als je NIET handmatig je redo logfiles wilt archiveren als je database in ARCHIVELOG us loopt.

LOG_ARCHIVE_DEST:
Deze paramater geeft de directory aan waar je archived logs neergezet zullen worden.

LOG_ARCHIVE_FORMAT:
Deze parameter geeft het formaat van de archived logs aan. Als je formaat bijvoorbeeld arch%s.arc is, worden je logfiles :arch1,arc,arch2.arc, arch3.arc genoemd waar de 1,2 en 3 voor het sequence nummer staat

Voorbereiden om de Database Archiving modus te veranderen

1. Stop de database instance.

Oracle 7.x en Oracle8 / 8i


SVRMGRL> shutdown


Oracle 9i/10g (Ingelogt als "/ as SYSDBA")
  

SQL> shutdown

Een open database moet gesloten en gedismount worden en alle bijbehorende instances moeten gestopt worden voordat de archiving modus van de database veranderd kan worden.

2. Backup de database.

Deze backup kan gebruikt worden met de archived logs die je zal genereren..

3. Voer de operating system specific steps uit (optioneel).

4. Start opnieuw op en mount, maar open de database niet.

Oracle 7.x en Oracle8 / 8i


SVRMGRL> startup mount

Oracle 9i (Ingelogged als "/ as SYSDBA")


SQL> startup mount

Let Op : Als je Oracle Parallel Server gebruikt, moet je de database exclusief mounten gebruik makend van 1 instance, om de archiving modus van de database veranderen.

5. Verander de archiving modus van de database.

Oracle 7.x en Oracle8 / 8i

 

 
SVRMGRL> alter database archivelog;

Oracle 9i/10g

SQL> alter database archivelog;

LET OP : Je kan ook :


alter database noarchivelog

Om de archiving modus van de database te veranderen.

6. Open de database.

Oracle 7.x en Oracle8 / 8i


SVRMGRL> alter database open;

Oracle 9i/10g


SQL> alter database open;

7. Controleer of je database nu in archivelog mode draait.

Oracle 7.x en Oracle8 / 8i


SVRMGRL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled

 


Archive destination for example: $ORACLE_HOME/dbs/arch
Oldest on-line log sequence 275
Next log sequence 277
Current log sequence 278

Oracle 9i/10g

 

 
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive

 

destination for example: $ORACLE_HOME/dbs/arch
Oldest on-line log sequence 275
Next log sequence 277
Current log sequence 278

8. Archiveer al je redo logs vanaf dit punt:

Oracle 7.x en Oracle8 / 8i


SVRMGRL> archive log all;

Oracle 9i/10g


SQL> archive log all;

9. Verzeker jezelf er van dat deze nieuw gecreëerde archived log files aan het back-up proces zijn toegevoegd.

Automatische Archivering Uitzetten

Je kan het automatisch archiveren van online redo log groups op ieder moment uitzetten. Echter, indien je automatisch archiveren eenmaal hebt uitgezet, moet je handmatig de online redo log files archiveren.

Als een database in archive log modus draait maar automatisch archivering is uitgezet, zullen alle groups van redo logs gevuld worden maar niet gearchiveerd.

De LGWR kan niet een group van online redo logs hergebruiken om verder te gaan met het schrijven van redo log entries, indien ze inactief zijn. Daarom zal de database activiteit tijdelijk uitgesteld worden totdat de nodige archivering heeft plaatsgevonden.

Om automatisch archiveren uit te zetten nadat de instance is opgestart, moet je een connectie hebben met administrator privileges en het ALTER SYSTEM privilege.

Automatisch archiveren kan uitgezet worden tijdens of na instance startup.

Uitzetten van Automatisch Archiveren tijdens Instance Startup

Om automatisch archiveren elke keer als de database instance wordt gestart, zet dan de "LOG_ARCHIVE_START" parameter van de parameter file van de database op FALSE:

LOG_ARCHIVE_START=FALSE

LET OP: Met Oracle9, kan je gebruik maken van een SPFILE in plaats van een standaard pfile. De LOG_ARCHIVE_START parameter wordt met Oracle 10g niet meer gebruikt.


SQL> alter system set log_archive_start=false scope=spfile;

De nieuwe waarde wordt effectief op het moment dat de database de volgende keer wordt opgestart. Het archive log list commando zal het volgende laten zien:

Automatic archival Disabled

Uitzetten van Automatisch Archiveren na Instance Startup

Om automatisch archivering uit te zetten zonder de huidige instance te stoppen gebruik dan het SQL commando ALTER SYSTEM met de ARCHIVE LOG STOP parameter.

Het volgende statement stop het archiveren:

Oracle 7.x en Oracle8 / 8i


SVRMGRL> ALTER SYSTEM ARCHIVE LOG STOP;

Oracle 9i


SQL> ALTER SYSTEM ARCHIVE LOG STOP;

Als ARCH aan het archiveren is op het moment dat je probeert om automatisch archiveren uit te zetten, zal ARCH het archiveren van de current group afmaken, maar niet beginnen met het archiveren van de volgende gevulde online redo group.

De instance hoeft niet gestopt te worden om automatisch archiveren uit te zetten. Echter, indien een instance is gestopt en gestart nadat automatische archivering is uitgezet, zal de instance met de waarde van de "LOG_ARCHIVE_START" parameter uit de pfile welke al dan niet automatische archivering aan zal zetten.

LET OP: Als je kiest om automatische archivering uit te zetten en niet tegelijk archiveren uitzet, moet je de archives handmatig archiveren. Anders zal de database tijdelijk stilstaan totdat de nodige archiving heeft plaatsgevonden.

Handmatig Archiveren

Als een database in ARCHIVELOG mode draait zullen gevulde online redo groupen gearchiveerd worden. Je kan ze handmatig archiveren of automatisch archiveren nu wel of niet is aangezet.

Als automatische archivering niet is aangezet moet je zelf de online redo groupen op tijd archiveren. Als alle redo log groups gevuld zijn maar niet gearchiveerd, zal LGWR zijn gegevens niet meer kwijt kunnen in de redo members. Hierdoor zal de database tijdelijk geen operaties meer uit kunnen voeren totdat de nodige archivering is uitgevoerd. Je kan dit testen door het volgende commando een aantal keer uit te voeren als automatisch archiveren is uitgezet:


alter system switch logfile;

Indien je dit commando uitvoert met een laatste redo log group, zal deze niet completen en niet terugkomen met een:

‘statement processed’ totdat archivering is uitgevoerd.

Als automatisch archivering is aangezet maar je wilt een inactieve group van online redo’s naar een andere locatie herachiveren, dan kan je handmatig activeren. Echter het system kan zelf beslissen om de redo log group te hergebruiken,voordat je klaar bent met de handmatige actie en daarmee de files overschrijft. Als dit gebeurd zal Oracle met een foutmelding in de ALERT log.

Om handmatig te kunnen archiveren moet je geconnect zijn met administrator privileges en het volgende commando uivoeren:

Oracle 7.x and Oracle8 / 8i


SVRMGRL> ALTER SYSTEM ARCHIVE LOG ALL;

Oracle 9i/10g


SQL> ALTER SYSTEM ARCHIVE LOG ALL;

Dit zal alle niet gearchiveerde archives archiveren.

 

 

 

Advertentie

>

Poll

Voorkeur
 

Wie is er aanwezig

We hebben 249 gasten online