REDO LOG FILE
Conceito:
Esse arquivo é uma cadeia contínua e cronológica de cada vetor de alteração (“instruções” para desfazer um DML de alteração – insert, update, delete).
Uma utilidade de fácil entendimento desses arquivos é na recuperação de uma base após um problema que necessite “voltar” o backup.
Para que não haja perda de trabalho até o momento do crash ou erro.
Os arquivos de redo log podem ser aplicados ao backup para refazer o trabalho, adiantando-os no tempo até o momento em que o dano ocorreu.
Verificando Os grupos e seus membros/arquivos
SQL> SELECT a.group#, a.member, b.bytes FROM v$logfile a, v$log b WHERE a.group# = b.group# order by a.group#;
EX :
1 /local/aondecoloqueiobanco/eosiddobanco/onlinelog/redo01b.log 52428800
1 /local/aondecoloqueiobanco/eosiddobanco/onlinelog/redo01a.log 52428800
2 /local/aondecoloqueiobanco/eosiddobanco/onlinelog/redo02a.log 52428800
2 /local/aondecoloqueiobanco/eosiddobanco/onlinelog/redo02b.log 52428800
3 /local/aondecoloqueiobanco/eosiddobanco/onlinelog/redo03a.log 52428800
3 /local/aondecoloqueiobanco/eosiddobanco/onlinelog/redo03b.log 52428800
* 52428800 = (50MB)
Verificação dos status dos grupos de “redo logs”.
SQL> select group#, status from v$log;
EX :
GROUP# STATUS
---------- ----------------
1 CURRENT
2 INACTIVE
3 INACTIVE
Vamos Amentar o tamanho do REDO no grupo 1
1.) Execução do “switch” dos “redo logs”, para tira o grupo 1 de CURRENT.
SQL> alter system switch logfile;
2.) Caso não altere devemos executar o checkpoint manualmente
SQL> ALTER SYSTEM CHECKPOINT GLOBAL;
3.) Confirmando
SQL> select group#, status from v$log;
EX :
GROUP# STATUS
---------- ----------------
1 UNUSED
2 CURRENT
3 INACTIVE
<< talvez tenhamos que dar o alter system switch logfile; mais de uma vez >>>
4.) Apagando o grupo 1
SQL> alter database drop logfile group 1;
Database altered.
5.) Recriando o grupo 1 utilizando os membros/arquivos já existente dando mais espaços para os arquvios crescerem.
SQL> alter database add logfile group 1 ('/local/aondecoloqueiobanco/eosiddobanco/onlinelog/redo01b.log','/local/aondecoloqueiobanco/eosiddobanco/onlinelog/redo01a.log') size 1024m reuse;
Voce tambem pode adicionar novos aqurivos tipo :
alter database add logfile group 1 '/local/aondecoloqueiobanco/eosiddobanco/onlinelog/redo01bv2.log' size 1024M;
Repita os passos acima para o grupo 2 e 3.
Verificando Os grupos NOVAMENTE
SQL> SELECT a.group#, a.member, b.bytes FROM v$logfile a, v$log b WHERE a.group# = b.group# order by a.group#;
EX :
1 /local/aondecoloqueiobanco/eosiddobanco/onlinelog/redo01b.log 1073741824
1 /local/aondecoloqueiobanco/eosiddobanco/onlinelog/redo01a.log 1073741824
2 /local/aondecoloqueiobanco/eosiddobanco/onlinelog/redo02a.log 1073741824
2 /local/aondecoloqueiobanco/eosiddobanco/onlinelog/redo02b.log 1073741824
3 /local/aondecoloqueiobanco/eosiddobanco/onlinelog/redo03a.log 1073741824
3 /local/aondecoloqueiobanco/eosiddobanco/onlinelog/redo03b.log 1073741824
* 52428800 = (1024MB)