sábado, 28 de fevereiro de 2009

O que é um Control file? - Parte 1

Vamos discutir hoje para que serve o Control File e qual sua importância para o banco de dados Oracle.

Control File nada mais é que um arquivo de controle utilizado quando a instancia inicia e o Banco de Dados é montado, dai então o arquivo de controle é lido, especificando os arquivos físicos que constituem o banco de dados onde contem informações da estrutura física do Banco de dados.

Cada vez que um arquivo de dados ou um arquivo de redo log é adicionado, renomeado ou excluído do banco de dados, o arquivo de controle é atualizado para refletir essa alteração de estrutura física.

Para prevenir a perda do control file, a Oracle recomenda multiplexar em pelo menos 3 dispositivos físicos diferentes, em artigos posteriores iremos ver a como gerar cópias dos control files, aguardem...

O Control File deve estar disponível para o Oracle atualiza-lo constantemente(alterar e inserir informações) sempre que o banco de dados estiver aberto(OPEN), caso o arquivo de controle não esteja acessível, o banco de dados ira “capotar”, pois sem o arquivo de controle, o banco de dados não pode ser montado, podendo trazer problemas ao iniciar a instância.

Cada arquivo de controle está associado a apenas um banco de dados Oracle. Um arquivo de controle, é um pequeno arquivo binário que registra a estrutura física do banco de dados e inclui:

  • O nome do banco de dados
  • Nomes e locais dos datafiles e redo log on-line
  • O log atual número sequencial
  • Checkpoint informações
  • Informações sobre as tablespaces
  • Sobre os archives gerados Backups de datafiles e informações de redo log
  • Cópia de datafiles, etc

Por padrão, mais cópias do arquivo de controle são criadas durante a criação do banco de dados. É muito importante multiplexar o control file para assegurar que possamos recuperar o nosso banco de dados, pois quando ocorrer uma falha os arquivos de controle são utilizados juntos com os arquivos de redo log para a recuperação do banco de dados. Então repito, Você deve criar duas ou mais cópias do arquivo de controle de dados, pois se você perder o arquivo de controle ou desejar alterar as configurações, pode se dar mal se não tiver um backup.

Para verificar onde se localiza o control file e suas cópias em seu disco execute o seguinte select:

SELECT * from v$controlfile;

imagem 1

A view V$PARAMETER, Exibe informações sobre os parâmetros de inicialização que estão em vigor para a sessão atual, nesta view é possível identificar também qual a localização dos Control Files, executando a seguinte consulta:

SELECT * from v$parameter where name = 'control_files';

imagem2

O Control File também registram informações sobre checkpoint. Cada três segundos, o processo de verificação (CKPT) grava informações no arquivo de controle sobre a posição do redo log. Esta informação é usada durante a recuperação de banco de dados para informar ao Oracle que todos os movimentos registados antes deste ponto no grupo de redo log não são necessários para recuperação de banco de dados, pois já foram já escritos nos arquivos de dados.

Até mais.

Nenhum comentário: