terça-feira, 15 de julho de 2008

Configurando archivelog

Essa é uma configuração que algumas pessoas não utilizam ainda, e ai os motivos podem ser diversos (não entra no mérito).

O banco em archivelog é um jeito de fazer com que o banco crie um backup das transações que ocorreram no banco, sendo assim, permite que ele seja recuperado e caso de problemas até um ponto específico no tempo (point-in-time recovery). Quando não se está utilizando o banco no modo archivelog, o administrador perde essa vantagem e fica preso em ter efetuar restaurações mais rígidas em relação ao tempo do problema, a vantagem é que o administrador teria um ganho de performance, mas que talvez esse ganho se torne um prejuízo mais na frente.

No Oracle 10g, existem alguns parâmetros que servem para a configuração do processo de arquivamento, como os mostrados a seguir:
  • log_archive_format: serve para formatar o nome dos arquivos gerados no processo de arquivamento, os parâmetros de formatação podem ser:
    • %s log sequence number
    • %S log sequence number, zero filled
    • %t thread number
    • %T thread number, zero filled
    • %a activation ID
    • %d database ID
    • %r resetlogs ID that ensures unique names are constructed for the archived log files across multiple incarnations of the database;

  • log_archive_dest_n: esse parâmetro (onde o n varia de 1 a 10), e indica até dez diretórios diferentes onde os arquivos serão gravados, mas atenção, isso não faz striping dos arquivos, é uma cópia de cada um, logo deve ser utilizado para se ter uma maior segurança do armazenamento dos mesmos.

  • log_archive_dest_state_n: aqui o n também varia de 1 a 10 e a sua utilização é para dizer se o destino está habilitado ou desabilitado.

  • log_archive_dest: este parâmetro é incompatível com o parâmetro log_archive_dest_n, mas também serve para especificar um diretório de destino para os arquivos de archive. Se for uma versão Enterprise, então esse valor está deprecated.

Para verificar o estado do archive no banco, o comando pode ser utilizado:

SQL> archive log list;
Modo log de banco de dados Modo de Arquivamento
Arquivamento automático Ativado
Destino de arquivamento /u02/oradata/archives/orcl
A seqüência de log on-line mais antiga 8
Próxima seqüência de log a arquivar 10
Seqüência de log atual 10

Se o banco não estiver configurado com o modo de arquivamento (Archivelog Mode), então deve-se fazer os passos:

SQL> alter system set log_archive_format='%t_%s_%r.arc' scope=spfile;

Sistema alterado.

SQL> alter system set log_archive_dest_1='LOCATION=/u02/oradata/archives/orcl' scope=spfile;

Sistema alterado.

SQL> shutdown immediate;
Banco de dados fechado.
Banco de dados desmontado.
Instância ORACLE desativada.
SQL> startup mount
Instância ORACLE iniciada.

Total System Global Area 1073741824 bytes
Fixed Size 2026224 bytes
Variable Size 373294352 bytes
Database Buffers 692060160 bytes
Redo Buffers 6361088 bytes
Banco de dados montado.
SQL> alter database archivelog;

Banco de dados alterado.

SQL> alter database open;

Banco de dados alterado.

SQL> archive log list;
Modo log de banco de dados Modo de Arquivamento
Arquivamento automático Ativado
Destino de arquivamento /u02/oradata/archives/orcl
A seqüência de log on-line mais antiga 8
Próxima seqüência de log a arquivar 10
Seqüência de log atual 10

Com essas configurações o servidor começará a criar os arquivos de archive no(s) diretório(s) especificados. Fica a cargo do administrador agora cuidar desses arquivos, a melhor forma de fazer isso é utilizando o RMAN para fazer o backup deles.

Nenhum comentário: