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>
"- 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
Martins, muito bom o artigo usei para dá aula. :)
ResponderExcluirFico horado meu amigo Emerson, por ter usado um de meus posts como exemplo de sala de aula..
ResponderExcluirEmerson
DBA JR
Parabéns! Muito bom. Sou iniciante, ou melhor, antes de iniciante, e conseguir entender. Tem algum artigo ensinando como usar os ARCHIVELOG? Obrigado
ResponderExcluir