Votre base Oracle génère trop rapidement des redo logs, et vous obtenez souvent l'erreur "checkpoint not complete". La rotation des redo logs est trop rapide pour le process DB Writer, l'allocation du nouveau redo log attend la fin de l'écriture des données du redo log à allouer dans la base. Vous devez augmenter la taille de vos redo logs (ou augmenter le nombre de redo logs).

Sur cet exemple il y a 4 groupes de redo logs avec deux membres chacuns.

Le principe est simple, il faut dropper les anciens redo logs, les effacer physiquement avant de les recréer (une variante est de créer de nouveaux groupes et de basculer ensuite sur ces nouveaux groupes).

 

sqlplus "/as sysdba"

 

SQL> alter database drop logfile group 11;

alter database drop logfile group 11

*

ERROR at line 1:

ORA-01623: log 11 is current log for instance DLL (thread 1) - cannot drop

ORA-00312: online log 11 thread 1: '/oracle/DLL/origlogA/log_g11m1.dbf'

ORA-00312: online log 11 thread 1: '/oracle/DLL/mirrlogA/log_g11m2.dbf'

 

Le log est actuellement utilisé, il faut exécuter un switch et un checkpoint. Ceci est fait après.

 

SQL> alter database drop logfile group 12;

 

Database altered.

 

SQL> alter database drop logfile group 13;

 

Database altered.

 

Effacer les fichiers correspondants.

 

SQL> alter database add logfile group 12

2('/oracle/DLL/origlogB/log_g12m1.dbf','/oracle/DLL/mirrlogB/log_g12m2.dbf')size 300M;

 

Database altered.

 

SQL> alter database add logfile group 13

2('/oracle/DLL/origlogA/log_g13m1.dbf','/oracle/DLL/mirrlogA/log_g13m2.dbf') size 300M;

 

Database altered.

 

SQL> alter database drop logfile group 14;

 

Database altered.

 

SQL> alter system switch logfile;

 

System altered.

 

SQL> alter system switch logfile;

 

System altered.

 

SQL> alter system checkpoint;

 

System altered.

 

SQL> alter database drop logfile group 11;

 

Database altered.

 

SQL> alter database add logfile group 11

2('/oracle/DLL/origlogA/log_g11m1.dbf','/oracle/DLL/mirrlogA/log_g11m2.dbf') size 300M;

 

Database altered.

 

 

SQL> alter database add logfile group 14

2('/oracle/DLL/origlogB/log_g14m1.dbf','/oracle/DLL/mirrlogB/log_g14m2.dbf') size 300M;

 

Database altered.