Este artigo propoe alterar uma base de dados single de modo NOARCHIVELOG para modo ARCHIVELOG, para qual proposito? Simples, a partir do momento que sua base está funcionando em modo ARCHIVELOG podemos realizar backups online (hot), quando em modo NOARCHIVELOG conseguimos apenas realizar backups offline (cold) e como o proprio nome ja diz, sua base precisa estar parada, offline, algo complicado certo?
Porém o principal fator que impoe importancia no modo ARCHIVELOG é de que desta forma é possível realizar uma recuperação até o ultimo commit executado no database, praticamente sem perdas de informações (archives/redologs online disponíveis), quando utilizando um backup offline para recuperação a perda de informações são do momento em que o backup foi realizado até o momento da falha.
Bem, visto a importância do modo ARCHIVELOG, vamos alterar nossa base de dados single para o modo archivelog.
Primeiramente vamos confirmar se ela está em modo NOARCHIVELOG:
SQL> select NAME, OPEN_MODE, LOG_MODE from v$database; NAME OPEN_MODE LOG_MODE --------- ---------- ------------ ORCL10G READ WRITE NOARCHIVELOG
ou
SQL> archive log list; Database log mode No Archive Mode Automatic archival Disabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 285 Current log sequence 287
Confirmado que a base está em modo NOARCHIVELOG, vamos ajustar um destino para os archives (redolog arquivados) que serão gerados.
Sintaxe:alter system set log_archive_dest_1=’LOCATION=’ scope=spfile;
SQL> alter system set log_archive_dest_1='LOCATION=/oraarchive/orcl10g' scope=spfile; System altered.
Desta forma o parâmetro de destino 1 foi ajustado para o local “/oraarchive/orcl10g”, note que antes do caminho de destino devemos especificar “LOCATION”. O scope será definido como spfile (podemos tratar mais sobre o scope em outro artigo já que não é o foco deste). Agora iremos ajustar o formato que os archives serão gerados.
Sintaxe:alter system set log_archive_format=’_%t_%s_%r.arc’ scope=spfile;
SQL> alter system set log_archive_format='orcl10g_%t_%s_%r.arc' scope=spfile; System altered.
ORACLE_SID = Nome da instance; %t = Número da thread; %s = Número de sequencia do log; %r = Resetlog ID.
O próximo passo é a parada da base de dados e startup em modo mount.
SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount; ORACLE instance started. Total System Global Area 234881024 bytes Fixed Size 1273008 bytes Variable Size 125829968 bytes Database Buffers 104857600 bytes Redo Buffers 2920448 bytes Database mounted.
Alteramos agora o database para modo ARCHIVELOG e abrimos a base,
SQL> alter database archivelog; Database altered. SQL> alter database open; Database altered.
Verificando se a base foi alterada para ARCHIVELOG,
SQL> select NAME, OPEN_MODE, LOG_MODE from v$database; NAME OPEN_MODE LOG_MODE --------- ---------- ------------ ORCL10G READ WRITE ARCHIVELOG SQL> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination /oraarchive/orcl10g Oldest online log sequence 285 Next log sequence to archive 287 Current log sequence 287
Para certificarmos que os archives estão sendo gerados com sucesso podemos forçar um switch e verificar se foram criados abaixo do destino especificado.
SQL> alter system switch logfile; System altered. SQL> ! [oracle@orcl ~]$ cd /oraarchive/orcl10g [oracle@orcl orcl10g]$ ls -lrt -rw-r----- 1 oracle dba 15048704 Set 4 20:52 orcl10g_1_287_757628597.arc
Pronto, nossa base já está em modo ARCHIVELOG, agora so basta implementar/ajustar as rotinas de backup.

Autor: Anderson Graf
Bacharel em Sistemas de Informação e MBA em Gestão de Banco de Dados Oracle. Entusiasta da tecnologia Oracle, ACE Associate ♠, autor em vários blogs e OTN. Consultor Oracle Senior na Exímio Soluções em TI
Envolvido em soluções de:
– Implementação, migração, gerenciamento e suporte a produtos Oracle, multiplataforma
– Monitoramento de ambientes 24×7
– Backup e Recovery
– Performance e Tuning
– Alta disponibilidade (HA) – RAC, Data Guard
– EM database/grid/cloud control
– Particionamento & Advanced Compression
– Oracle Engineered Systems – ODA, Exadata
Blog pessoal: http://www.andersondba.com.br
Articulista na Oracle Technology Network (OTN) – https://goo.gl/99R6yW
ACE Associate – https://goo.gl/MBB51b
Articulista GPO – http://profissionaloracle.com.br
Vale lembrar que:
Você deverá ter um controle de disco muito grande após setar o banco para archivelog mode.
Após o backup físico completo ter terminado com sucesso, você pode remover os archives gerados antes do inicio do backup.
Muito bom o artigo.
Olá!
Um ponto importante, assim que ativar o archive log, fazer um backup full com o RMAN.
Att,
Sakamoto
MyTraceLog – Registro de um DBA
http://mytracelog.blogspot.com