[ORACLE] Perda de REDOLOGS
Tecnologia da Informação

[ORACLE] Perda de REDOLOGS



Antes de iniciar o procedimento, vai uma dica:
Sempre mantenha seus redologs multiplexados (recomenda-se dois membros para cada grupo), para evitar que o banco de dados pare, além de também evitar perda de dados, caso ocorra a perda de um grupo/membro de redolog em estado current.

Perda de somente um membro de um grupo de redolog:

Se os membros dos grupos de redolog estiverem multiplexados é muito simples corrigir este problema:

Como o banco de dados não para quando ocorre a perda de somente um membro de um grupo de redolog deve se prestar atenção nas mensagens logadas no log de alert e vindas do GRID CONTROL.

Exemplo de mensagem logada no log de alert:

Errors in file C:\APP\ORA\diag\rdbms\orcl\orcl\trace\orcl_lgwr_4560.trc:
ORA-00313: a abertura falhou para os membros do grupo 3 de log do thread 1
ORA-00312: thread 3 do log 1 on-line: 'C:\APP\ORA\ORADATA\ORCL\REDO03.LOG'
ORA-27041: n?o e possivel abrir arquivo
OSD-04002: não é possível abrir arquivo
O/S-Error: (OS 2) O sistema não pode encontrar o arquivo especificado.
Errors in file C:\APP\ORA\diag\rdbms\orcl\orcl\trace\orcl_lgwr_4560.trc:
ORA-00321: log 3 do thread 1; n?o e possivel atualizar o cabecalho do arquivo de log
ORA-00312: thread 3 do log 1 on-line: 'C:\APP\ORA\ORADATA\ORCL\REDO03.LOG'

Conecte-se a instância Oracle como usuário SYS:

C:\>sqlplus / as sysdba

E remova o membro de redolog perdido do dicionário de dados:

ALTER DATABASE
  DROP LOGFILE MEMBER 'C:\app\ORA\oradata\ORCL\REDO03.log';

Após isso, o criamos novamente:

ALTER DATABASE
  ADD LOGFILE MEMBER 'C:\app\ORA\oradata\ORCL\REDO03.log'
      TO GROUP 3;

Caso o membro de redolog perdido seja do grupo no estado current, deve-se forçar a troca de grupo de redolog, antes de se executar os passos acima:

SQL>alter system switch logfile;

Perda de todos os membros de um grupo de REDOLOG:

Caso você perca todos os membros de um grupo de redolog (que não esteja no estado CURRENT), conforme já informado, a instância irá parar.

Neste caso, inicie a instância em modo MOUNT;

SQL>startup mount;

E remova do dicionário de dados o grupo de redolog perdido:

ALTER DATABASE DROP LOGFILE GROUP 2;

Após isso, crie-o novamente:

ALTER DATABASE
  ADD LOGFILE GROUP 2 ('C:\APP\ORA\ORADATA\ORCL\REDO02.LOG', 'C:\APP\ORA\ORADATA\ORCL\REDO02_B.LOG')
      SIZE 50M;

E abra a instância:

SQL>alter database open;


Perda de todos os membros de um grupo de REDOLOG no estado CURRENT:

Neste caso, haverá a perda dos dados que estavam neste grupo de redolog, pois eles não foram para disco, nem para a área de archive (por estarem no estado CURRENT).

Inicie a instância no modo MOUNT:

SQL>startup mount;

Será necessária uma recuperação incompleta do banco de dados para conseguir abri-lo novamente. Conecte-se ao RMAN:

C:\>rman target /

E inicie a restauração:

RMAN> RESTORE DATABASE UNTIL TIME '08-09-2012:17:00:00';

*Sempre mantenha em dia seus backups, pois caso ocorra uma situação desta, podemos diminuir a quantidade de dados perdidos.

E depois a recuperação:

RMAN> RECOVER DATABASE UNTIL TIME '08-09-2012:17:00:00';

Repare que ocorrerá erros ao final da recuperação justamente pela perda do grupo de redolog, ignore estes erros e ao término da recuperação, inicie a instância utilizando a opção RESETLOGS:

SQL>alter database open resetlogs;












loading...

- [oracle] Oracle Managed Files (omf)
O uso do OMF tira a necessidade do DBA manipular arquivos que compõem o banco de dados diretamente no sistema operacional. Você especifica as operações em termos de objetos de banco de dados ao invés de nomes de arquivos. Internamente o Oracle Database...

- [oracle] Removendo Dumpfiles Com Adrci
O ADRCI está disponível na versão 11g do banco de dados Oracle, ele é uma  ferramenta via linha de comando e é utilizada para gerenciar dados de diagnóstico. Neste post vou mostrar como remover dumpfiles via ADRCI. Execute o ADRCI: [[email protected]...

- [oracle] Criando Um Catalogo De Recuperação Para Rman
Passo 1: Crie uma instância para o RMAN. Passo 2: Crie a tablespace que irá conter o catálogo: create tablespace CLOG datafile 'C:\Oracle\RMAN\TBS\CLOG01.DBF' size 200M; Crie um usuário para o RMAN: create user userrman identified by userrman...

- [oracle] Criando Instância Manualmente
Segue abaixo, exemplo de como criar uma intância Oracle manualmente: Passo1: Copie a estrutura de diretórios de uma instância já existente para utilizar na nova instância. Passo 2: Copie o arquivo init.ora de uma instância já existente e substitua...

- [oracle] Modo Archive
É altamente recomendado que as instâncias Oracle estejam em modo Archive, porém, não são raras as vezes que encontramos instâncias com este modo desabilitado. Os logs de archive (archivelogs) são de muita importância para uma eventual recuperação...



Tecnologia da Informação








.