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.
[code lang=”sql”]
[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
[/code]
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:
[code lang=”sql”]
SQL> select log_mode from v$database;
LOG_MODE
————
NOARCHIVELOG
[/code]
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!
[code lang=”sql”]
–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.
[/code]
Verificando se a instância está em modo MOUNT:
[code lang=”sql”]
SQL> select status from v$instance;
STATUS
————
MOUNTED
[/code]
3º passo: Alterar o banco para ARCHIVELOG:
[code lang=”sql”]
SQL> alter database archivelog;
Database altered.
SQL>
[/code]
4º passo: Abrir o banco:
[code lang=”sql”]
SQL> alter database open;
Database altered.
[/code]
5º passo: Verificar se o banco foi alterado para archivelog:
[code lang=”sql”]
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
[/code]
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.