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 zettenWanneer 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 StartupOm 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 StartupOm 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 ModusEr 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 UitzettenJe 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 StartupOm 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 StartupOm 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. |