Fazer backups gerenciados pelo usuário e pelo servidor

  • Se você não estiver executando no modo ARCHIVELOG, deverá desligar o banco de dados para fazer um backup usando os comandos do sistema operacional.
  • No modo ARCHIVELOG, você pode colocar um tablespace individual ou um banco de dados inteiro no modo BEGIN BACKUP. A partir de então, você pode copiar os datafiles para um diretório de backup. Em seguida, você pode retirar o banco de dados do modo de backup. Em seguida, você pode retirar o banco de dados do modo de backup com END BACKUP.
  • Com o banco de dados aberto, é possível consultar as views dinâmicas de desempenho V$DATAFILE e V$CONTROLFILE para identificar as localizações de todos os datafiles e de todas as cópias do controlfile.
  • Ao fazer um backup com o banco de dados fechado, esse backup é considerado consistente porque os SCN’s de todos os datafiles estão sincronizados; todos os arquivos são congelados no tempo.
  • Para fazer o backup dos datafiles para um tablespace individual, use a view do dicionário de dados DBA_DATA_FILES para ver a associação entre os tablespaces e os nomes dos datafiles.
  • O banco de dados não será desligado se algum tablespace estiver no modo de backup.

Identificar a necessidade do modo de backup

  • Copiar um datafile com um comando do sistema operacional enquanto o processo DBWR estiver atualizando o bloco pode acarretar um bloco fraturado.
  • Se você utilizar o RMAN para fazer backup dos datafiles, ele repetirá automaticamente a leitura do bloco várias vezes até considerá-lo consistente.
  • Para o ALTER DATABASE BEGIN BACKUP ou ALTER TABLESPACE ... BEGIN BACKUP, o Oracle gera redo adicional (a imagem anterior do bloco) para o banco de dados ou para o tablespace individual até você retirar o banco de dados ou o tablespace do modo de backup.

Fazer backup e recovery de um controlfile

  • Para fazer o backup do controlfile com o banco de dados aberto, use dois comandos SQL diferentes:
    • ALTER DATABASE BACKUP CONTROLFILE TO <NOME_DO_ARQUIVO> e
    • ALTER DATABASE BACKUP CONTROLFILE TO TRACE.
  • ALTER DATABASE BACKUP CONTROLFILE TO <arquivo> cria uma cópia binária exata do controlfile na localização especificada.
  • ALTER DATABASE BACKUP CONTROLFILE TO TRACE gera um script editável que recria o controlfile no diretório $ORACLE_BASE/diag/rdbms/<database>/<instância>/trace.
  • A perda de todas as cópias do controlfile não acarreta a perda de quaisquer transações com commit se você tiver uma cópia de backup recente do controlfile e os datafiles e redo logs estiverem intactos.
  • Não é necessário abrir o banco de dados com RESETLOGS após restaurar o controlfile se você criar manualmente o controlfile de substituição usando CREATE CONTROLFILE, ou se você usar uma versão do script do controlfile criada com ALTER DATABASE BACKUP CONTROLFILE TO TRACE.

Referência Bibliográfica

Este post, assim como todos os posts sobre Certificação OCP deste blog, são trechos do livro “OCP Oracle Database 11g – Administração II (Guia do Exame 1Z0-053)”, da editora Bookman – www.bookman.com.br
Recomendo este livro a todos que pretendem estudar para o exame. Meus posts são apenas algumas dicas para quem já está estudando por outros materiais, e por isso exige uma base de conhecimento anterior em cada um dos capitulos. Para uma referência completa de estudos é recomendado a compra do livro correspondente, bem como a documentação oficial da Oracle.

Milton Bastos é DBA Oracle e Desenvolvedor PL/SQL, dividido entre Apucarana/PR e Curitiba/PR. Certificações: OCA (Oracle 11g DBA Certified Associate), Oracle Database 11g Data Warehousing Certified Implementation Specialist, Oracle Database 11g Sales Specialist Assessment, Oracle Database Appliance PreSales Specialist Assessment, Oracle Database Appliance Sales Specialist Assessment