Trebuie specificat de la început ca nu exista o comanda prin care se poate face resize la redo log, singura modalitate este de a crea alt grup și a-l șterge pe cel vechi. Totuși va fi nevoie sa existe cel puțin doua grupuri, indiferent de câți membrii conține un grup. Înainte de a face drop la un redo log statusul acestuia trebuie sa fie inactiv, nu va putea fi șters dacă este curent sau activ.
Când un membru redo log este sters din baza de date, el nu va fi sters fizic de pe disc, daca nu doriți sa mai utilizați acel fișier asigurați-vă ca folositi comenzile adecvate ale sistemului de operare pentru a elibera spațiul de pe disc.
Descriu mai jos pașii pentru a redimensiona redo logurile unei baze de date:
1. Verific statusul fișierelor Redo Log
SQL> conn / as sysdba
Connected.
SQL> select group#, bytes, status from v$log;
GROUP# BYTES STATUS
–––- –––- –––––-
1 52428800 CURRENT
2 52428800 INACTIVE
3 52428800 INACTIVE
2. Verific câți membrii conțin fiecare grup de redo log
SQL> select group#, member from v$logfile;
GROUP# MEMBER
–––- ––––––––––
3 /u02/oracle/oradata/test/redo03.log
2 /u02/oracle/oradata/test/redo02.log
1 /u02/oracle/oradata/test/redo01.log
3. Șterg grupul 2 fără a șterge fizic fișierul de pe disc
SQL> alter database drop logfile group 2;
Database altered.
4. Adaug un nou grup 2 utilizând același fișier dar de data aceasta cu dimensiunea de 500 Mb
SQL> alter database add logfile group 2 ‘/u02/oracle/oradata/test/redo02.log’ size 500M reuse;
Database altered.
5. Verific din nou status-ul grupurilor
SQL> select group#, bytes, status from v$log;
GROUP# BYTES STATUS
–––- –––- –––––-
1 52428800 CURRENT
2 524288000 UNUSED
3 52428800 INACTIVE
6. Putem șterge și grupul 3
SQL> alter database drop logfile group 3;
Database altered.
7. Adaug grupul 3 asemănător cu pasul 4 de mai sus
SQL> alter database add logfile group 3 ‘/u02/oracle/oradata/test/redo03.log’ size 500M reuse;
Database altered.
8. Verific dacă intre timp s-a executat logswich
SQL> select group#, bytes, status from v$log;
GROUP# BYTES STATUS
–––- –––- –––––-
1 52428800 CURRENT
2 524288000 UNUSED
3 524288000 UNUSED
9. Forțăm un swichlog
SQL> alter system switch logfile;
System altered.
10. Verificam dacă s-a executat cu succes swich-ul
SQL> select group#, bytes, status from v$log;
GROUP# BYTES STATUS
–––- –––- –––––-
1 52428800 ACTIVE
2 524288000 CURRENT
3 524288000 UNUSED
11. Forțăm un checkpoint pentru a putea șterge si grupul 2
SQL> ALTER SYSTEM CHECKPOINT;
System altered.
12. Verificam ca a devenit inactiv și grupul 1
SQL> select group#, bytes, status from v$log;
GROUP# BYTES STATUS
–––- –––- –––––-
1 52428800 INACTIVE
2 524288000 CURRENT
3 524288000 UNUSED
13. Ștergem și ultimul grup rămas
SQL> alter database drop logfile group 1;
Database altered.
SQL> alter database add logfile group 1 ‘/u02/oracle/oradata/test/redo01.log’ size 500M reuse;
Database altered.