Entendendo os modos ARCHIVELOG e NOARCHIVELOG no Oracle

Posted by Emerson on 07:49 with 3 comments
O modo ARCHIVELOG nos bancos de dados Oracle é uma das configurações exigidas para todo DBA que se preze. Como já disse nosso grande amigo Oracle ACE Ricardo Portilho:
"- Se o Banco de Dados é importante, deve estar em ARCHIVELOG.

- Se o Banco de Dados não é importante, para que colocar dados nele? ",

Então por ai já percebemos a importância do seu banco estar em modo ARCHIVELOG.



Em resumo as todas as modificação executadas ao banco de dados que são feitas ficarão gravadas nos archives de redo log. A maioria dos recursos de alta disponibilidade do Oracle requer que você ative o modo ARCHIVELOG para o seu banco de dados. Quando você ativar esse modo os redo log serão arquivados em vez de substituído. Os archives devem ser armazenados em um local separado e backupeados regularmente por segurança a depender de sua Estratégia de backup. Os archives são  também utilizados pelo RMAN, Data Guard, Flashback Database e muitas outras ferramentas usadas para voltar o estado do banco de dados em um determinado momento após um Recover.

No modo NOARCHIVELOG os arquivos de redo log não serão gerados, e após restaurar um backup o dba fica impossibilitado de restaurar qualquer transação até o ultimo backup efetuado e válido.Digamos que seu ultimo backup foi de hoje as 04:00 e aconteceu o desastre natural as 14:00, como você explicará a ausência dos dados da manhã inteira?Claro não tem os archives.Então recomendo alterar logo..rsss...

Para habilitar o modo ARCHIVELOG é muito simples:

[root@oralinux /]# su - oracle
[oracle@oralinux ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Wed Nov 23 16:51:27 2011
Copyright (c) 1982, 2009, Oracle.  All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> archive log list;
Database log mode              No Archive Mode
Automatic archival             Disabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     21
Current log sequence           23

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.

Total System Global Area  422670336 bytes
Fixed Size                  1336960 bytes
Variable Size             322963840 bytes
Database Buffers           92274688 bytes
Redo Buffers                6094848 bytes
Database mounted.
SQL> alter database archivelog;
Database altered.

SQL> archive log start;
Statement processed.
SQL> alter database open;
Database altered.
SQL>

Após configurado deverá configurar ainda o local onde os archives irão ser gerados através do parâmetro 
LOG_ARCHIVE_DEST_n. Com este parâmetro pode ser definido em até 10 diretórios ou discos diferentes por recomendação da oracle.

SQL> alter system set log_archive_dest_1='location=/u01/app/oracle/flash_recovery_area/DB11G/archivelog optional reopen=300' scope=spfile;
System altered.
SQL>

Para entendermos melhor a criação dos archives da base em ARCHIVELOG irei demonstrar a criação de uma tabela e efetuar alguns inserts e listar os archives criados a no diretório setado anteriormente.

SQL> create table teste01(valor integer);
Table created.
SQL> begin
  2  for i in 1..500000
  3  loop
  4  insert into teste01 values(i);
  5  end loop;
  6  end;
  7  /
PL/SQL procedure successfully completed.
SQL>

Listando os archives criados após o insert:

[oracle@oralinux 2011_11_23]$ pwd
/u01/app/oracle/flash_recovery_area/DB11G/archivelog/2011_11_23
[oracle@oralinux 2011_11_23]$ ls -lah
total 2,1G
drwxr-x--- 2 oracle oinstall 4,0K Nov 23 20:27 .
drwxr-xr-x 3 oracle oinstall 4,0K Nov 23 20:20 ..
-rw-r----- 1 oracle oinstall  50M Nov 23 20:20 o1_mf_1_23_7dtzxt9q_.arc
-rw-r----- 1 oracle oinstall  49M Nov 23 20:20 o1_mf_1_24_7dtzy2rb_.arc
-rw-r----- 1 oracle oinstall  49M Nov 23 20:20 o1_mf_1_25_7dtzycvt_.arc
-rw-r----- 1 oracle oinstall  49M Nov 23 20:20 o1_mf_1_26_7dtzypgz_.arc
-rw-r----- 1 oracle oinstall  49M Nov 23 20:21 o1_mf_1_27_7dtzyy6k_.arc
-rw-r----- 1 oracle oinstall  49M Nov 23 20:21 o1_mf_1_28_7dtzz9fy_.arc
-rw-r----- 1 oracle oinstall  49M Nov 23 20:21 o1_mf_1_29_7dtzzl70_.arc
-rw-r----- 1 oracle oinstall  45M Nov 23 20:21 o1_mf_1_30_7dtzzswx_.arc
-rw-r----- 1 oracle oinstall  49M Nov 23 20:21 o1_mf_1_31_7dv002rr_.arc
-rw-r----- 1 oracle oinstall  49M Nov 23 20:21 o1_mf_1_32_7dv00ccx_.arc
-rw-r----- 1 oracle oinstall  48M Nov 23 20:21 o1_mf_1_33_7dv00mmc_.arc
-rw-r----- 1 oracle oinstall  49M Nov 23 20:22 o1_mf_1_34_7dv00vfc_.arc
-rw-r----- 1 oracle oinstall  49M Nov 23 20:22 o1_mf_1_35_7dv0144t_.arc
-rw-r----- 1 oracle oinstall  49M Nov 23 20:22 o1_mf_1_36_7dv01cov_.arc
-rw-r----- 1 oracle oinstall  46M Nov 23 20:22 o1_mf_1_37_7dv01nrj_.arc
-rw-r----- 1 oracle oinstall  49M Nov 23 20:22 o1_mf_1_38_7dv01wvh_.arc
-rw-r----- 1 oracle oinstall  43M Nov 23 20:22 o1_mf_1_39_7dv023vd_.arc
-rw-r----- 1 oracle oinstall  49M Nov 23 20:22 o1_mf_1_40_7dv02c5w_.arc
-rw-r----- 1 oracle oinstall  49M Nov 23 20:23 o1_mf_1_41_7dv02ngt_.arc
-rw-r----- 1 oracle oinstall  44M Nov 23 20:23 o1_mf_1_42_7dv02vwv_.arc
-rw-r----- 1 oracle oinstall  49M Nov 23 20:23 o1_mf_1_43_7dv034vf_.arc
-rw-r----- 1 oracle oinstall  49M Nov 23 20:23 o1_mf_1_44_7dv03fg5_.arc
-rw-r----- 1 oracle oinstall  49M Nov 23 20:23 o1_mf_1_45_7dv03ors_.arc
-rw-r----- 1 oracle oinstall  49M Nov 23 20:23 o1_mf_1_46_7dv03xcc_.arc
-rw-r----- 1 oracle oinstall  49M Nov 23 20:23 o1_mf_1_47_7dv044y0_.arc
-rw-r----- 1 oracle oinstall  49M Nov 23 20:23 o1_mf_1_48_7dv04g9p_.arc
-rw-r----- 1 oracle oinstall  41M Nov 23 20:24 o1_mf_1_49_7dv04pg7_.arc
-rw-r----- 1 oracle oinstall  49M Nov 23 20:24 o1_mf_1_50_7dv04ydk_.arc
-rw-r----- 1 oracle oinstall  49M Nov 23 20:24 o1_mf_1_51_7dv05b4r_.arc
-rw-r----- 1 oracle oinstall  49M Nov 23 20:24 o1_mf_1_52_7dv05nn8_.arc
-rw-r----- 1 oracle oinstall  49M Nov 23 20:24 o1_mf_1_53_7dv05xxz_.arc
-rw-r----- 1 oracle oinstall  49M Nov 23 20:24 o1_mf_1_54_7dv066xl_.arc
-rw-r----- 1 oracle oinstall  49M Nov 23 20:25 o1_mf_1_55_7dv06l77_.arc
-rw-r----- 1 oracle oinstall  49M Nov 23 20:25 o1_mf_1_56_7dv06yyr_.arc
-rw-r----- 1 oracle oinstall  49M Nov 23 20:25 o1_mf_1_57_7dv075dw_.arc
-rw-r----- 1 oracle oinstall  49M Nov 23 20:25 o1_mf_1_58_7dv07cbs_.arc
-rw-r----- 1 oracle oinstall  49M Nov 23 20:25 o1_mf_1_59_7dv07k4c_.arc
-rw-r----- 1 oracle oinstall  45M Nov 23 20:25 o1_mf_1_60_7dv07tgw_.arc
-rw-r----- 1 oracle oinstall  49M Nov 23 20:25 o1_mf_1_61_7dv07zhs_.arc
-rw-r----- 1 oracle oinstall  46M Nov 23 20:26 o1_mf_1_62_7dv089n6_.arc
-rw-r----- 1 oracle oinstall  42M Nov 23 20:26 o1_mf_1_63_7dv08sn5_.arc
-rw-r----- 1 oracle oinstall  46M Nov 23 20:26 o1_mf_1_64_7dv094t9_.arc
-rw-r----- 1 oracle oinstall  49M Nov 23 20:26 o1_mf_1_65_7dv09m3r_.arc
-rw-r----- 1 oracle oinstall  49M Nov 23 20:26 o1_mf_1_66_7dv0b0q7_.arc
-rw-r----- 1 oracle oinstall  47M Nov 23 20:27 o1_mf_1_67_7dv0bh6p_.arc
[oracle@oralinux 2011_11_23]$

É isso ai pessoal!Até o próximo!

Referências:
Oracle RMAN 11g Backup and Recovery - Oracle Press
www.otn.oracle.com