Como alterar o banco de dados de NOARCHIVELOG para ARCHIVELOG no Oracle

Se seu banco de dados é importante, ele deve estar no modo ARCHIVELOG!

Para realizar tal alteração, basta seguir alguns poucos passos, porém, diferente do SQL Server, essa opção de alteração do RECOVERY MODEL requer que o banco seja reiniciado! Sim, estamos em 2020 e o Oracle com todos recursos que tem, ainda nos pede para reiniciar o banco para fazer essa simples troca!

1º passo: Verifique se o banco está em NOARCHIVELOG.

[oracle@server01 ~]$ sqlplus / as sysdba
SQL> archive log list;

Database log mode              No Archive Mode
Automatic archival             Disabled
Archive destination            /u01/app/oracle/product/19.0.0/dbhome_1/dbs/arch
Oldest online log sequence     24
Current log sequence           26

Verificamos que o Database Log Mode está como No Archive Mode, outra maneira de verificar seria na view dinâmica: v$database, conforme script abaixo:

SQL> select log_mode from v$database;

LOG_MODE
------------
NOARCHIVELOG

2º passo: Desligar o banco de dados e coloca-lo em modo MOUNT. Nesse momento você DEVE usar o comando shutdown immediate, não use o shutdown abort, nem startup force mount!

--Desligando o banco
SQL> shut immediate;

Database closed.
Database dismounted.
ORACLE instance shut down.

--Iniciando em modo mount
SQL> startup mount;

ORACLE instance started.
Total System Global Area 4848612984 bytes
Fixed Size                  8906360 bytes
Variable Size             973078528 bytes
Database Buffers         3858759680 bytes
Redo Buffers                7868416 bytes
Database mounted.

Verificando se a instância está em modo MOUNT:

SQL> select status from v$instance;

STATUS
------------
MOUNTED

3º passo: Alterar o banco para ARCHIVELOG:

SQL> alter database archivelog;

Database altered.
SQL>

4º passo: Abrir o banco:

SQL> alter database open;

Database altered.

5º passo: Verificar se o banco foi alterado para archivelog:

SQL> archive log list;

Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            /u01/app/oracle/product/19.0.0/dbhome_1/dbs/arch
Oldest online log sequence     25
Next log sequence to archive   27
Current log sequence           27
SQL>


SQL> select log_mode from v$database;

LOG_MODE
------------
ARCHIVELOG

Com esse simples passo você faz essa alteração, cuja configuração é de extrema importância para implementar soluções de alta disponibilidade e recuperação de dados no ORACLE.

Até mais.

Deixe uma resposta

Seu e-mail não será publicado.

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

×