DataARTIGO

O que é control file?

Olá, amigos. Alguns profissionais iniciantes em Oracle ainda têm muitas dúvidas sobre diversos conceitos de arquitetura do banco de dados Oracle. Por este motivo resolvi discutir sobre um ponto bem importante: “O que é um Control file?”

Tradução

Control file = Arquivo de Controle, tradução em português para a palavra que é muito utilizado na literatura Oracle brasileira.

Visão Geral

O arquivo de controle é um arquivo binário necessário para iniciar e operar com sucesso o banco de dados. O arquivo de controle é atualizado constantemente pelo Oracle durante sua utilização, ficando disponível para escrita apenas quando o banco de dados está aberto, ou seja, OPEN. Caso o arquivo de controle não esteja acessível por alguma razão, o banco de dados não irá funcionar corretamente, podendo trazer problemas ao iniciar a instância. Todo arquivo de controle é sempre associado somente a um único banco de dados, não podendo existir um arquivo de controle que seja utilizado por mais de uma instância. Até em ambientes de Real Application Cluster (RAC) existe um arquivo de controle para cada instância.

Contéudo

Um arquivo de controle possui diversas informações de um banco de dados que é requerida pela instância. Durante o processo de startup ou uma operação normal, somente o Oracle Server pode modificar as informações no arquivo de controle, deste modo, nenhum DBA ou usuário pode modificar seu contéudo.

As informações que o arquivo de controle possui são:

  • Nome do banco de dados
  • Data de criação do banco de dados
  • Os nomes e localizações de cada datafile e redo log associados ao banco de dados
  • Informações sobre as tablespaces
  • Possíveis datafiles com status offline
  • O histórico de logs
  • Sobre os archives gerados
  • Backupsets e backup pieces, gerados pelo RMAN
  • Backups de datafiles e informações de redo log
  • Cópia de datafiles
  • O valor atual do número da sequência do log
  • Informações de checkpoint

Para cada datafile ou redo log que é adicionado, renomeado, modificado ou excluído do banco de dados, o arquivo de controle é atualizado pelo Oracle Server para garantir a modificação da estrutura física da base. Essas modificações podem ser:

  1. O Oracle pode identificar os datafiles e redo logs que foram abertos durante o processo de startup
  2. Identificar os arquivos que são necessários ou disponíveis em caso de recuperação do banco de dados

Portanto, para cada modificação na estrutura física do banco de dados, podendo ser feita através do comando ALTER DATABASE, é altamente recomendado que seja feito um backup do seu arquivo de controle para evitar possíveis problemas no próximo processo de startup do banco de dados.

Como o arquivo de controle armazena informações sobre os checkpoints a cada três segundos, o processo de plano de fundo (CKPT) registra as posições do redo log, essas posições serão utilizadas posteriormente durante um processo de recuperação do banco de dados, no qual o Oracle irá dizer se todas as entradas dos grupos de redo log serão necessárias para realizar tal recuperação. Mais informações acesse meu blog.

Referência

Oracle Concepts 10g

Abraços,

Rodrigo Almeida, DBA Oracle há mais de 10 anos é um dos DBA’s mais influentes do pais e mantém seu próprio Portal e Fórum (www.rodrigoalmeida.net), eleito ORACLE ACE em 2009 pela Oracle Corporation, cursou Eng. da Computação pela UNISANTA, graduado em Analise de banco de dados e pós-graduando em BI pela Veris Faculdades, especialista em Micro-eletrônica pelo INSA em Toulouse/França. Possui certificações OCP 9i/10g/11g, OCE SQL Expert, OCS 11g Implementations e Exadata e mais de 14 certificações Oracle. É vice-presidente do grupo de usuários Oracle do Brasil (GUOB), colunista Oracle do portal iMasters e colaborador técnico para os principais portais e revistas Brasileiras e internacionais. É participante dos Beta Program da Oracle Coporation para soluções de banco de dados e instrutor oficial da Oracle University Brasil para os treinamentos de BD e Exadata e atualmente é DBA Oracle e DMA Exadata e consultor técnico da Oracle do Brasil focado no gerenciamento e implementação de Oracle Exadata, Exalogic e tecnologias de banco de dados e aplicações Oracle. Também é proprietário da empresa UNIDBA Consultoria em TI (www.unidba.com.br)

Ver perfil