Um restore point já existe algum tempo no Oracle, mais muita gente ainda tem bastante duvida na sua utilização, algum tempo atras eu utilizava bastante esse recurso nas minhas bases de homologação, Antes de cada nova versão ser aplicada no sistema, existia o habito de criar um restore point, Isso nos ajudava a voltar a base rapidamente se ocorre-se algum problema na aplicação da versão ou nos testes, Hoje mudamos isso com a criação de snapshots de banco de dados, mais esse papo para outro momento…
Mais agora vamos ver como criar um Restore Point ou mais conhecido como Flashback Database Restore Point
Alter os parâmetros abaixo:
Configurando a area de archivelog
log_archive_dest_1='LOCATION=/u01/app/oracle/oradata/oca12c/' scope=spfile; alter system set log_archive_dest_state_1='ENABLE' scope=spfile; Configurando a area de Flashback alter system set db_recovery_file_dest = '/u01/app/oracle/oradata/oca12c/' scope=spfile; alter system set db_recovery_file_dest_size = 10G scope=spfile; alter system set db_flashback_retention_target=240 scope=spfile; sqlplus / as sysdba shutdown immediate startup mount;
Habilitando o Archivelog
sqlplus / as sysdba alter database archivelog;
Habilitando o flashback
sqlplus / as sysdba alter database flashback on;
Abrindo o banco de dados
sqlplus / as sysdba alter database open;
Forçando a geração de archivelog
sqlplus / as sysdba alter system switch logfile; alter system switch logfile; alter system switch logfile; alter system switch logfile;
Crie 3 tabelas novas
sqlplus / as sysdba alter system switch logfile; alter system switch logfile; alter system switch logfile;
Criei um restore point
sqlplus / as sysdba create restore point VERSION_2_108_1_0 guarantee flashback database;
Drop as três tabelas
Volte o momento antes do drop das tabelas
sqlplus / as sysdba shutdown immediate startup mount flashback database to restore point VERSION_2_108_1_0; shutdown immediate startup mount alter database open resetlogs;
Verifique se as tabelas voltaram.