Pular para o conteúdo

Como fazer o backup e restauração do banco de dados Oracle usando o Flashback Database

Onde ficam os dados necessários para o FLASHBACK DATABASE?

Embora a documentação não deixe este pré-requisito claro (apenas cita os Flashback Logs [que parecem ser do mesmo tamanho e quantidade dos Redo Logs] e o espaço necessário na Fast Recovery Area), os dados de um RESTORE POINT continuam no mesmo lugar em que estavam, ou seja, nos DATAFILEs. Ou seja, se você continuar utilizando a TABLESPACE normalmente, precisará de mais espaço.
Eu desconfiei disto quando vi que o FLASHBACK DATABASE era rápido demais para utilizar dados do UNDO (8 segundos para 3.5GB em meu Netbook).

SQL> CREATE RESTORE POINT MeuTeste GUARANTEE FLASHBACK DATABASE;
 
 Restaure o ponto criado.
 
 SQL> SELECT DISTINCT(TABLESPACE_NAME) FROM DBA_SEGMENTS WHERE OWNER = 'SOE';
 
 TABLESPACE_NAME
 ------------------------------
 SOE
 
 SQL> DROP USER SOE CASCADE;
 
 Usußrio eliminado.
 
 SQL> SELECT TO_CHAR(BYTES) FROM DBA_DATA_FILES WHERE TABLESPACE_NAME = 'SOE';
 
 TO_CHAR(BYTES)
 ----------------------------------------
 3436183552
 
 SQL> COL FILE_NAME FORMAT A80
 SQL> SELECT FILE_NAME FROM DBA_DATA_FILES WHERE TABLESPACE_NAME = 'SOE';
 
 FILE_NAME
 --------------------------------------------------------------------------------
 C:\ORACLE\ORADATA\ORCL\DATAFILE\SOE01.DBF
 
 SQL> ALTER DATABASE DATAFILE 'C:\ORACLE\ORADATA\ORCL\DATAFILE\SOE01.DBF' RESIZE 2G;
 ALTER DATABASE DATAFILE 'C:\ORACLE\ORADATA\ORCL\DATAFILE\SOE01.DBF' RESIZE 2G
 *
 ERRO na linha 1:
 ORA-38883: NÒo Ú possÝvel compactar o arquivo de dados
 C:\ORACLE\ORADATA\ORCL\DATAFILE\SOE01.DBF no banco de dados primßrio devido a
 pontos de restauraþÒo garantidos.
 
 SQL> SHUTDOWN IMMEDIATE;
 Banco de dados fechado.
 Banco de dados desmontado.
 InstÔncia ORACLE desativada.
 SQL> STARTUP MOUNT;
 InstÔncia ORACLE iniciada.
 
 Total System Global Area  535662592 bytes
 Fixed Size                  1385840 bytes
 Variable Size             406850192 bytes
 Database Buffers          121634816 bytes
 Redo Buffers                5791744 bytes
 Banco de dados montado.
 SQL> SET TIMING ON
 SQL> FLASHBACK DATABASE TO RESTORE POINT MeuTeste;
 
 Flashback concluÝdo.
 
 Decorrido: 00:00:08.98
 SQL> ALTER DATABASE OPEN RESETLOGS;
 
 Banco de dados alterado.
 
 Decorrido: 00:01:14.65
 SQL>

Fonte

Ricardo Portilho Proni

Ricardo Portilho Proni

Com 20 anos de experiência profissional, Oracle ACE Member – eleito pela Oracle Corporation um dos maiores especialistas do mundo em Oracle Database- Trabalhou em grande parte dos maiores bancos de dados Oracle do Brasil. Certificado em Oracle, SQL Server, DB2, MySQL, Sybase e Websphere. Conselheiro do GPO e do GUOB, palestrante do ENPO, GUOB Tech Day e Oracle Open World, escritor da Revista SQL Magazine e Instrutor na Nerv.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Marcações:
plugins premium WordPress