segunda-feira, 5 de outubro de 2009

Control Files do Oracle

Os Control Files são arquivos binários extensão ctl que guardam informações sobre o banco de dados, por sua vez estas informações mantém a integridade do banco de dados. Este arquivo de controle é validado na inicialização do banco, durante a passagem do estado DATABASE NOMOUNT para MOUNT e cada instância do banco de dados tem o seu Control File.

Para verificar o status e a localização dos Control Files você pode consultar as seguintes views:
V$CONTROLFILE: Lista o nome e o status de todos os Control Files associados à instância.
V$PARAMETER: Lista o status e a localização de todos os parâmetros.
V$CONTROLFILE_RECORD_SECTION: Contém as informações sobre as seções de registro dos Control Files.
SHOW PARAMETER CONTROL_FILES: Lista o nome, o status e a localização dos Control Files.

O Control File contém as seguintes informações:
  • O nome e o identificador (SID) do banco de dados.
  • O timestamp de criação do banco de dados.
  • Os nomes das tablespaces.
  • Os nomes e as localizações dos arquivos de dados e de redo log on-line.
  • O número de seqüência do arquivo de redo log on-line atual.
  • As informações sobre checkpoints.
  • O início e o fim dos segmentos de undo.
  • As informações de arquivamento de redo log.
  • As informações de backup.
Como você pode ver ele contém dados importantíssimos para o funcionamento do banco, a sua perda pode implicar na recuperação de todo o banco. Uma das estratégias para se precaver disso é multiplexar o Control File.

Multiplexação do Control File

A multiplexação consiste em fazer várias cópias do Control File em locais diferentes, exemplo se você tem dois discos u01 e u02, você pode criar cópias nos dois através dos arquivos de parâmetros, com a seguinte sequência de comandos:

Através do SPFILE
1. Altere o SPFILE:
ALTER SYSTEM SET control_files =
'$HOME/ORADATA/u01/ctrl01.ctl',
'$HOME/ORADATA/u02/ctrl02.ctl' SCOPE=SPFILE;

2. Desative o banco de dados:
shutdown immediate
3. Crie os Control Files adicionais:
cp $HOME/ORADATA/u01/ctrl01.ctl
$HOME/ORADATA/u02/ctrl02.ctl

4. Inicie o banco de dados:
startup

Através do PFILE
1. Desative o banco de dados:
shutdown immediate
2. Crie arquivos de controle adicionais:
cp $HOME/ORADATA/u01/ctrl01.ctl
$HOME/ORADATA/u02/ctrl02.ctl

3. Adicione os nomes dos arquivos de controle a PFILE:
CONTROL_FILES = $HOME/ORADATA/u01/ctrl01.ctl,
$HOME/ORADATA/u02/ctrl02.ctl)

4. Inicie o banco de dados:
Startup
Com varias copias do Control File, no caso de uma falha em um deles você pode usar a cópia para recupera-lo.

Backup do Control File
Para fazer o backup normal do Control File, use o comando ALTER DATABASE BACKUP CONTROLFILE, exemplo:
ALTER DATABASE
BACKUP CONTROLFILE TO '/oracle/backup/ctrl01.bkp';


Na próxima postagem falaremos sobre os arquivos de parâmetros SPFILE e PFILE.

0 comentários:

Postar um comentário