Differences

This shows you the differences between two versions of the page.

Link to this comparison view

habilitando_o_archive_log_mode_no_oracle_10g_ou_11g_pt_br [2017/09/05 12:18] (current)
Line 1: Line 1:
 +====== Habilitando o archive log mode no Oracle 10G ou 11G  ======
  
 +
 +E ai galera aqui eu vou abordar como podemos habilitar o archive log no Oracle 10G ou 11G.
 +
 +Primeiro vamos listar como que está o estado do archive log no oracle
 +
 +Vamos conectar na instancia que queremos verificar da seguinte forma
 +<sxh bash>
 +. oraenv
 +ORACLE_SID = [orcl] ? orcl
 +The Oracle base for ORACLE_HOME=/​u01/​app/​oracle/​product/​11.2.0/​dbhome_1 is /​u01/​app/​oracle
 +</​sxh>​
 +
 +Vamos logar no Oracle ​
 +<sxh bash>
 + ​sqlplus / as sysdba
 +
 +SQL*Plus: Release 11.2.0.1.0 Production on Fri May 24 17:17:27 2013
 +
 +Copyright (c) 1982, 2009, Oracle. ​ All rights reserved.
 +
 +
 +Conectado a:
 +Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
 +With the Partitioning,​ Automatic Storage Management, OLAP, Data Mining
 +and Real Application Testing options
 +
 +SQL> ​
 +</​sxh>​
 +
 +Agora verificar como esta o estado do archive log
 +<sxh bash>
 +SQL> archive log list;
 +Modo log de banco de dados   Modo Sem Arquivamento
 +Arquivamento automatico ​      ​Desativado
 +Destino de arquivamento ​     USE_DB_RECOVERY_FILE_DEST
 +A sequencia de log on-line mais antiga ​    5
 +Sequencia de log atual     7
 +SQL> ​
 +</​sxh>​
 +
 +Como podemos notar o archive log está desabilitado e quando ativarmos ele ele vai ficar por padrão em USE_DB_RECOVERY_FILE_DEST que é a FRA este é o padrão porem podemos mudar isso
 +
 +Agora vamos listar aonde está variável USE_DB_RECOVERY_FILE_DEST vai armazenar os archives log
 +<sxh bash>
 +SQL> show parameter recovery_file_dest;​
 +
 +NAME             ​TYPE ​ VALUE
 +------------------------------------ ----------- ------------------------------
 +db_recovery_file_dest ​       string ​ +FRA
 +db_recovery_file_dest_size ​      big integer 3882M
 +</​sxh>​
 +
 +No meu caso ele vai armazenar em uma partição do +ASM que é a +FRA caso precise alterar podemos fazer da seguinte forma
 +
 +Vamos criar o diretório no sistema de arquivos
 +<sxh bash>
 +mkdir -p /​u01/​app/​oracle/​oradata/​orcl/​arch
 +</​sxh>​
 +
 +Caso tenha criado o diretório com um usuário diferente do oracle precisa ajustar as permissões do diretório
 +<sxh bash>
 +chown -R oracle:dba /​u01/​app/​oracle/​oradata/​orcl/​arch
 +</​sxh>​
 +
 +Agora vamos alterar o caminho de armazenamento dos archives
 +<sxh bash>
 +SQL> alter system set log_archive_dest_1='​LOCATION=/​u01/​app/​oracle/​oradata/​orcl/​arch'​ scope = both;
 +
 +Sistema alterado.
 +
 +SQL> ​
 +</​sxh>​
 +
 +OBS: O caminho tem que existir no sistema de arquivos e tem que ter permissão de escrita para o usuário oracle e o seu grupo ex o dba
 +
 +Agora os archives logs não vão ser armazenados na +FRA  agora eles vão ser armazenados em /​u01/​app/​oracle/​oradata/​orcl/​arch
 +
 +Agora se mandarmos listar as configurações do archive log vamos ter algo como abaixo
 +<sxh bash>
 +SQL> archive log list;
 +Modo log de banco de dados   Modo Sem Arquivamento
 +Arquivamento automatico ​      ​Desativado
 +Destino de arquivamento ​     /​u01/​app/​oracle/​oradata/​orcl/​arch
 +A sequencia de log on-line mais antiga ​    5
 +Sequencia de log atual     7
 +SQL> ​
 +</​sxh>​
 +
 +Agora para podermos habilitar o archive log precisamos baixar o banco
 +<sxh bash>
 +SQL> shutdown immediate;
 +Banco de dados fechado.
 +Banco de dados desmontado.
 +Instancia ORACLE desativada.
 +SQL>
 +</​sxh>​
 +
 +Agora vamos subir o banco em modo mount
 +<sxh bash>
 +SQL> startup mount;
 +Instancia ORACLE iniciada.
 +
 +Total System Global Area 1269366784 bytes
 +Fixed Size        2212976 bytes
 +Variable Size     ​889195408 bytes
 +Database Buffers ​   369098752 bytes
 +Redo Buffers ​       8859648 bytes
 +Banco de dados montado.
 +SQL> ​
 +</​sxh>​
 +
 +Agora podemos habilitar o archive log o comando é muito dificil como diria meu professor Zandona
 +<sxh bash>
 +SQL> alter database archivelog;
 +
 +Banco de dados alterado.
 +
 +SQL> ​
 +</​sxh>​
 +
 +Agora já podemos dar um open no banco para liberar ele para os usuários
 +<sxh bash>
 +SQL> alter database open;
 +
 +Banco de dados alterado.
 +
 +SQL> ​
 +</​sxh>​
 +
 +Agora vamos listar a opção de archive log
 +<sxh bash>
 +SQL> archive log list;
 +Modo log de banco de dados     Modo de Arquivamento
 +Arquivamento automatico ​      ​Ativado
 +Destino de arquivamento ​     /​u01/​app/​oracle/​oradata/​orcl/​arch
 +A sequencia de log on-line mais antiga ​    5
 +Proxima sequencia de log a arquivar ​  7
 +Sequencia de log atual     7
 +SQL> ​
 +</​sxh>​
 +
 +Note que agora o arquivamento automático está ativo :D
 +
 +Agora vamos dar um switch o logfile para verificar a criação do archive log
 +<sxh bash>
 +SQL> alter system switch logfile;
 +
 +Sistema alterado.
 +
 +SQL>
 +</​sxh>​
 +
 +Agora vamos verificar o nosso archive log
 +<sxh bash>
 +[oracle@oracle11 oradata]$ ls -l /​u01/​app/​oracle/​oradata/​orcl/​arch/​
 +total 24804
 +-rw-r----- 1 oracle dba 25364992 Mai 24 17:38 1_7_816275674.dbf
 +</​sxh>​
 +
 +Como podemos notar o nosso arquivo foi criado com sucesso :D
 +
 +====== Desabilitando o Archive log mode ======
 +
 +Vamos listar o archive log mode
 +<sxh bash>
 +SQL> archive log list;
 +Modo log de banco de dados     Modo de Arquivamento
 +Arquivamento automatico ​      ​Ativado
 +Destino de arquivamento ​     /​u01/​app/​oracle/​oradata/​orcl/​arch
 +A sequencia de log on-line mais antiga ​    6
 +Proxima sequencia de log a arquivar ​  8
 +Sequencia de log atual     8
 +SQL> ​
 +</​sxh>​
 +
 +Como podemos notar o archive log está ativo
 +
 +Agora vamos baixar o banco
 +<sxh bash>
 +SQL> shutdown immediate;
 +Banco de dados fechado.
 +Banco de dados desmontado.
 +Instancia ORACLE desativada.
 +SQL> ​
 +</​sxh>​
 +
 +Agora vamos subir o banco em mount
 +<sxh bash>
 +SQL> startup mount;
 +Instancia ORACLE iniciada.
 +
 +Total System Global Area 1269366784 bytes
 +Fixed Size        2212976 bytes
 +Variable Size     ​889195408 bytes
 +Database Buffers ​   369098752 bytes
 +Redo Buffers ​       8859648 bytes
 +Banco de dados montado.
 +SQL> ​
 +</​sxh>​
 +
 +Agora vamos desabilitar o archive log mode
 +<sxh bash>
 +SQL> alter database noarchivelog;​
 +
 +Banco de dados alterado.
 +
 +SQL> ​
 +</​sxh>​
 +
 +Agora vamos liberar o banco
 +<sxh bash>
 +SQL> alter database open;
 +
 +Banco de dados alterado.
 +
 +SQL> ​
 +</​sxh>​
 +
 +Agora vamos listar as configurações do archive log
 +<sxh bash>
 +SQL> archive log list;
 +Modo log de banco de dados   Modo Sem Arquivamento
 +Arquivamento automatico ​      ​Desativado
 +Destino de arquivamento ​     /​u01/​app/​oracle/​oradata/​orcl/​arch
 +A sequencia de log on-line mais antiga ​    6
 +Sequencia de log atual     8
 +SQL> ​
 +</​sxh>​
 +
 +Como podemos notar agora ele está desabilitado.
 +
 +
 +
 +====== Referências ======
 +  - http://​www.oracledistilled.com/​oracle-database/​backup-and-recovery/​enabledisable-archive-log-mode-10g11g/​