terça-feira, 20 de dezembro de 2011

[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 da base de dados.

Explicarei agora, como passar uma instância para o modo ARCHIVE:


1. Crie o diretório onde ficarão armazenados os arquivos de Archive do banco:
C:\oracle\archive1

2. Conecte-se ao banco como um usuário SYS e privilégio SYSDBA:
SQL>Connect /  as sysdba

3. Configure os parâmetros para nomear os diretórios de destino (criados o passo 1) para conter os log's arquivados. Repare que é necessário incluir uma barra no final dos nomes dos diretórios (invertida no caso do Windows):
SQL>alter system set log_archive_dest_1='location=c:\oracle\archive1\' scope=spfile;

4. Configure o nome dos arquivos de log arquivados:
SQL>alter system set log_archive_format='arch_<INSTANCE>_%d_%t_%r_%s.arch' scope=spfile;

5. Finalize o banco de forma limpa:
SQL>shutdown immediate;

6. Inicialize o banco em modo mount:
SQL>startup mount;

7. Converta o banco para o modo archive:
SQL>alter database archivelog;

8. Abra o banco:
SQL> alter database open;

9. Confirme se o banco está em modo archivelog e que o archive está rodando nas duas consultas:
SQL>select log_mode from v$database;
SQL>select archiver from v$instance;

10. Force um switch log file:
SQL>alter system switch logfile;

11. O switch logfile terá forçado o envio de um arquivo para ambos os destinos. Confirme isso com a consulta:
SQL>select name from V$archived_log;

Nenhum comentário:

Postar um comentário