Olá,
O arquivo de controle (control file) de um banco de dados Oracle é um arquivo binário que contém algumas informações críticas do banco de dados, tais como:
- Nome do banco de dados
- Informações de checkpoint
- Números de seqüência de registro de log
- Histórico de logs de arquivamento (Archive Log history)
- Timestamp da criação do banco de dados
- Os nomes dos arquivos de dados e de registro de redo log
- Redo threads – informações do arquivo de redo log corrente)
- Modo de operação corrente do banco de dados (ARCHIVELOG ou NOARCHIVELOG)
- Informações de blocos de banco de dados corrompidos
- Informações de backup do RMAN (catálogo do RMAN se o mesmo estiver sendo usado)
O tamanho do arquivo de controle é determinado pelos seguintes parâmetros:
- maxlogfiles
- maxlogmembers
- maxloghistory
- maxinstances
- control_file_record_keep_time
O arquivo de controle é usado pela instância do Oracle para montar, abrir e atualizar o banco de dados a sua perda pode fazer com que a instância seja abortada. A perda completa de todos os arquivos de controle junto com algum outro arquivo de dados pode significar um dos cenários de recuperação mais difíceis para o DBA. Esse é o motivo pelo qual o arquivo de controle está entre os arquivos de banco de dados mais críticos e deve ser protegido a qualquer custo.
O Oracle fornece o mirroring de software (espelhamento) também chamando de multiplexing para o arquivo de controle, por meio do qual várias cópias do arquivo de controle podem ser especificadas. Essas cópias são todas gravadas simultaneamente pela instância do Oracle e, no caso de perda de uma cópia, as outras cópias ainda estarão disponíveis.
Existem duas maneiras de multiplexar os arquivos de controle:
- Através do spfile (A partir do Oracle 9i)
- Através do init pfile (Oracle 8i e anteriores)
- Através do init pfile (Oracle 8i e anteriores)
Através do spfile
1 - alter system set control_files = 'caminho do controlfile 1', 'caminho do controlfile 2', ... SCOPE=SPFILE;
2 - feche o banco de dados (shutdown immediate).
3 - realize a cópia dos control files para os locais desejados utlizando comandos do SO.
4 - abra o banco de dados (startup).
2 - feche o banco de dados (shutdown immediate).
3 - realize a cópia dos control files para os locais desejados utlizando comandos do SO.
4 - abra o banco de dados (startup).
SQL> alter system set control_files = '/disco1/oracle/oradata/BD01/control01.dbf',
2 '/disco2/oracle/oradata/BD01/control02.dbf',
3 '/disco3/oracle/oradata/BD01/control03.dbf' scope=SPFILE;
2 '/disco2/oracle/oradata/BD01/control02.dbf',
3 '/disco3/oracle/oradata/BD01/control03.dbf' scope=SPFILE;
Através do init pfile
1 - feche o banco de dados (shutdown immediate).
2 - realize a cópia dos control files para os locais desejados utlizando comandos do SO.
3 - altere o parâmetro control_file manualmente no arquivo de init com as respectivas localizações dos arquivos de controle.
4 - abra o banco de dados (startup pfile=initSID.ora).
2 - realize a cópia dos control files para os locais desejados utlizando comandos do SO.
3 - altere o parâmetro control_file manualmente no arquivo de init com as respectivas localizações dos arquivos de controle.
4 - abra o banco de dados (startup pfile=initSID.ora
Nenhum comentário:
Postar um comentário