Outils personnels

Redimensionner les fichiers REDO LOGs

De wikiGite

Révision datée du 23 mai 2013 à 09:09 par Frank (discussion | contributions)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

Le redimensionnement des REDO consiste à les supprimer et les recréer à la bonne taille. Pour les supprimer, il faut qu'ils soient INACTIFS (qu'ils ne contiennent plus de transactions non validées).

Commencer par repérer l'emplacement et le nom des fichiers REDO utilisés :

SELECT GROUP#,MEMBER FROM v$LOGFILE;

Vérifier l'état des fichiers :

SELECT GROUP#, ARCHIVED, STATUS FROM V$LOG;

Si le groupe qu'on veut supprimer/redimensionner est "INACTIVE", on peut le supprimer :

ALTER DATABASE DROP LOGFILE GROUP 3;

S'il n'est pas inactif, deux solutions :

1. Il est 'ACTIVE' : ce n'est pas le fichier REDO en cours d'utilisation, mais il contient des transactions non validées ou qui ne sont pas sorties de la période de rétention (délai de garde des transactions même validées, qui permet à la base de se reconstruire proprement en cas de crash).

Dans ce cas, on force la validation :

ALTER SYSTEM CHECKPOINT GLOBAL;

On vérifie si le groupe est bien passé INACTIVE, et on peut alors le supprimer.

2. Il est 'CURRENT' : Oracle est en train d'écrire dedans. Il faut donc d'abord swicher sur un autre fichier, puis forcer la validation

ALTER SYSTEM SWITCH LOGFILE;
ALTER SYSTEM CHECKPOINT GLOBAL;

On vérifie si le groupe est bien passé INACTIVE, et on peut alors le supprimer.

Finalement, on recrée les groupes avec la bonne taille, en réutilisant les mêmes noms de fichiers

ALTER DATABASE ADD LOGFILE GROUP 3 '/ora/MABASE/REDO03.log' SIZE 100M REUSE;