Como restaurar rapidamente para um banco de dados limpo usando o ponto de restauração da Oracle

摘要: Nossa missão é oferecer soluções que simplificam a TI ao fornecer soluções de banco de dados, desenvolvimento personalizado, datacenters dinâmicos e computação flexível.

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

症状

Aplica-se a: 

Banco de dados Oracle - 11gR2


Problema: 


Muitas vezes, durante a realização de testes de referência de desempenho, é necessário carregar um banco de dados limpo antes de iniciar uma nova execução. A única maneira de garantir um banco de dados limpo é recriar o banco de dados inteiro antes de cada execução de teste, mas, dependendo do tamanho dele, essa abordagem pode ser muito demorada e ineficiente.


Solução: 


Este artigo descreve como usar o recurso de flashback da Oracle para restaurar rapidamente um banco de dados para um estado em que se encontrava antes de executar a carga de trabalho. Mais especificamente, este artigo descreve as etapas sobre como usar os "pontos de restauração garantido".


Ponto de restauração: 

Ponto de restauração nada mais é do que um nome associado a um marcação de hora e data ou uma SCN do banco de dados. É possível criar um ponto de restauração normal ou um ponto de restauração garantido. A diferença entre os dois é que o ponto de restauração garantido permite fazer um flashback para o ponto de restauração, independentemente do parâmetro de inicialização DB_FLASHBACK_RETENTION_TARGET, ou seja, ele está sempre disponível (supondo que você tenha espaço suficiente na área de recuperação flash).

 
SLN310475_en_US__1icon Nota: Neste artigo, o registro de Flashback não foi ativado.

Ponto de restauração garantido:

Pré-requisitos: a criação de um ponto de restauração garantido requer os seguintes pré-requisitos:
  • O usuário deve ter privilégios de sistema SYSDBA
  • Deve ter criado uma área de recuperação flash
  • O banco de dados deve estar em modo ARCHIVELOG

Criar um ponto de restauração garantido:

Após criar ou migrar um novo banco de dados, a primeira coisa a fazer é criar um ponto de restauração garantido para que você possa fazer o flashback dele toda vez antes de iniciar uma nova carga de trabalho. As etapas são:
  1. $> su – oracle
  2. $> sqlplus / as sysdba;
  3. Descubra se ARCHIVELOG está habilitado
    SQL> select log_mode from v$database;
    Se a etapa 3 mostrar que ARCHIVELOG não está habilitado, continue, caso contrário, pule para a etapa 8 abaixo.
  4. SQL> shutdown immediate;
  5. SQL> startup mount;
  6. SQL> alterar archivelog do banco de dados;
  7. SQL> alter database open;
  8. SQL> create restore point CLEAN_DB guarantee flashback database;
    em que CLEAN_DB é o nome dado ao ponto de restauração garantido.
Visualização do SQL do ponto de restauração garantido
SQL> select * from v$restore_point;

Verifique as informações sobre o ponto de restauração recém-criado. Além disso, anote o SCN# para referência. Vamos nos referir a ele como "referência SCN#"


Fazer flashback para o ponto de restauração garantido

Agora, para restaurar o banco de dados ao ponto de restauração garantido, siga as etapas abaixo:
  1. $> su – oracle
  2. $> sqlplus / as sysdba;
  3. SQL> select current_scn from v$database;
  4. SQL> shutdown immediate;
  5. SQL> startup mount;
  6. SQL> select * from v$restore_point;
  7. SQL> flashback database to restore point CLEAN_DB;
  8. SQL> alter database open resetlogs;
  9. SQL> select current_scn from v$database;
Compare o SCN# da etapa 9 acima com o SCN# de referência.

 
SLN310475_en_US__1icon Nota: O SCN# da etapa 9 acima pode não ser necessariamente o mesmo SCN# que o SCN# de referência, mas será suficientemente parecido.

Referências: 


文章属性
文章编号: 000146492
文章类型: Solution
上次修改时间: 21 2月 2021
版本:  3
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。