Come eseguire la resize dei Redo Logs

Come eseguire la resize dei Redo Logs
  • 11
    Mag

Come eseguire la resize dei Redo Logs

twittergoogle_pluslinkedin

I redo logs registrano tutte le modifiche occorse ai dati. Ogni DB possiede almeno due file di redo log,

perché Oracle scrive in questi file in maniera circolare: quando un file di redo log è pieno allora Oracle

scrive in quello successivo, quando l’ultimo file di redo log è pieno allora Oracle ricomincia dal primo,

assicurandosi però di memorizzare le informazioni nei data file prima di sovrascriverle.

Se una qualsiasi anomalia non permette la scrittura delle modifiche occorse al database nei rispettivi data

file, allora possiamo tranquillamente ottenere tali modifiche dai redo log file.
Le modifiche ai dati, pertanto,non sono mai perse.

I redo log file rappresentano la cronologia delle modifiche ai dati e sono di vitale importanza per l’integrità

del DB. Oracle permette di avere più di una copia per ciascun redo log file: questa importante caratteristica

è denominata multiplexing dei redo log file.

Per effettuare la resize dei redo logs file i procedimenti da seguire sono:

1. Verificare quanti redo logs sono stati creati e il path dove sono situati:

select group#, bytes/1024/1024 as MB,status from v$log;

GROUP# MB STATUS

— — — — — — — — — — — — — — — — — —

1 50 CURRENT

2 50 INACTIVE

3 50 INACTIVE

set lin 220

col MEMBER for a35

select group#, member from v$logfile;

GROUP# MEMBER

— — — — — — — — — — — — — — — — — — — — — — –

1 /ora01_oracle/ORACLE1/redo01.log

2 /ora01_oracle/ORACLE1/redo02.log

3 /ora01_oracle/ORACLE1/redo03.log

2. Procedere alla creazione dei nuovi gruppi di redo logs con la dimensione desiderata:

alter database add logfile group 4 '/ora01_oracle/ORACLE1/redo04.log' size 512M;

alter database add logfile group 5 '/ora01_oracle/ORACLE1/redo05.log' size 512M;

alter database add logfile group 6 '/ora01_oracle/ORACLE1/redo06.log' size 512M;

3. Verificare che i nuovi gruppi siano stati creati e siano in stato UNUSED:

select group#, status from v$log;

GROUP# STATUS

— — — — — — — — — — — — —

1 CURRENT

2 INACTIVE

3 INACTIVE

4 UNUSED

5 UNUSED

6 UNUSED

4. Eseguire il comando (alter system switch logfile;) fino a rendere active i gruppi appena creati

5. Eseguire il comando (alter system checkpoint;) per rendere inactive i gruppi 1,2 e 3

6. A questo punto è possibile procedere al drop dei “vecchi” gruppi:

alter database drop logfile group 1;

alter database drop logfile group 2;

alter database drop logfile group 3;

7. A questo punto bisogna andare nel path dei gruppi droppati ed eseguire rm dei file.

cd /ora01_oracle/ORACLE1/

rm redo01.log

rm redo02.log

rm redo03.log