É recomendável que o parâmetro de inicialização UNDO_MANAGEMENT esteja definido como AUTO e o parâmetro UNDO_RETENTION para um intervalo grande o suficiente para incluir os dados que você imagina que seja necessário, para maiores informações consulte:
UNDO_MANAGEMENT
e UNDO_RETENTION.
Veja também:
- DATABASE FLASHBACK para obter informações sobre revertendo o banco de dados inteiro para uma versão anterior
- o flashback_query_clause de
SELECT
para obter informações sobre como recuperar dados passados de uma tabela - O Oracle Database Backup Guia do Usuário e recuperação avançada de informações adicionais sobre como usar o
FLASHBACK TABLE
declaração
É necessário ter permissão para executar o FLASHBACK ou o FLASHBACK ANY TABLE.
Exemplos
Restaurar uma tabela para um estado anterior: Exemplos
Os exemplos abaixo criar uma nova tabela,
Criar tabela
Emitir um aumento salarial de 10% aos funcionários que ganham menos de 2500:
Recuperando uma tabela descartada: Exemplo
Se você acidentalmente deixar cair o
Restaurar uma tabela para um estado anterior: Exemplos
Os exemplos abaixo criar uma nova tabela,
employees_demo
, com movimento de linha ativado, atualizar valores dentro da nova tabela, e emitir o FLASHBACK TABLE
comunicado.Criar tabela
employees_demo
, com movimento de linha habilitada, a partir de tabela employees
da amostra hr
esquema:Como referência, listar os salários inferiores a 2500:CREATE TABLE employees_demo ENABLE ROW MOVEMENT AS SELECT * FROM employees;
SELECT salary FROM employees_demo WHERE salary < 2500;SALARY ---------- 2400 2200 2100 2400 2200
Nota: Para dar tempo para o SCN para propagar a tabela de mapeamento usado pelo FLASHBACK TABLE declaração, espere um mínimo de 5 minutos antes de emitir a seguinte declaração. Esta espera não seria necessária se uma tabela previamente existentes foram usados neste exemplo. |
Como referência segunda, listar os salários que permanecem menos de 2500 na sequência do aumento de 10%:UPDATE employees_demo SET salary = salary * 1.1 WHERE salary < 2500; 5 rows updated. COMMIT;
Restaurar a tabelaSELECT salary FROM employees_demo WHERE salary < 2500;SALÁRIO ---------- 2420 2310 2420
employees_demo
ao seu estado de um minuto antes da hora do sistema atual:Listar esses salários inferiores a 2500. Após oFLASHBACK TABLE employees_demo TO TIMESTAMP (SYSTIMESTAMP - INTERVAL '1' minute);
FLASHBACK TABLE
comunicado emitido, esta lista deve coincidir com a lista na primeira referência.SELECT salary FROM employees_demo WHERE salary < 2500;SALÁRIO ---------- 2400 2200 2100 2400 2200
Recuperando uma tabela descartada: Exemplo
Se você acidentalmente deixar cair o
hr.employees
tabela e deseja recuperá-lo, emitir a seguinte declaração:Se outraFLASHBACK TABLE employees TO BEFORE DROP;
employees
tabela foi criada na hr
esquema, use a RENAME TO
cláusula para renomear a tabela acessado:Se você sabe que a tabela de funcionários foi derrubado várias vezes, e você deseja recuperar a versão mais antiga, consultar oFLASHBACK TABLE employees TO BEFORE DROP RENAME TO employees_old;
USER_RECYLEBIN
tabela para determinar o nome gerado pelo sistema e, em seguida, usar esse nome no FLASHBACK TABLE
comunicado. (Sistema de nomes gerados em seu banco de dados diferentes daqueles mostrados aqui.)SELECT object_name, droptime FROM user_recyclebin WHERE original_name = 'employees';DROPTIME OBJECT_NAME ------------------------------------------------- RB $ 45703 $ $ TABELA $ 0 2003-06-03:15:26:39 RB 45704 $ $ $ $ 0 TABELA 2003-06-12:12:27:27 RB 45705 $ $ $ $ 0 TABELA 2003-07-08:09:28:01
Nenhum comentário :
Postar um comentário