Olá Caros Amigos...
Continuando a nossa tragetória sobre as Técnologias de Flashback no Oracle, hoje eu irei passar-lhes dicas sobre mais dois tipos de Flashback .
Mãos a Obra!!!!
I-FLASHBACK TABLE
FlashBack Table permiti restaurar uma tabela sem a necessidde de um backup/restore do banco de dados.
Quando realizamos um restore da tabela todos os objetos associados para esta tabela , tais como indices, triggers , e constraints são restaurados também.
QUICK TIP: Se vc quer utilizar a tecnologia de flashback table é um boa pratica ajustar os parametros que manipulam o tablespace de Undo.
O tablespace de Undo contém os dados que serão usados para recuperacão da tabela .
Parametro UNDO_RETENTION especifica em segundos o default são 900 s (15 segundos) o tempo no qual os dados serão retidos , mas se alguma transação ativa usar todo tablespace de undo, então ele sera reutilizado e vc não poderá voltar a tabela. Para contornar esta situação o ideal é criar um tablespace de undo com a opção RETENTION GUARANTEE para garantir que os dados de undo não sejam reutilizados e respeite o parametro UNDO_RETENTION .
Veja um exemplo abaixo para criacão de um tablespace de undo :
SQL> CREATE UNDO TABLEAPCE undo_tbs
DATAFIEL ‘/u01/app/oracle/undo_tbs01.dbf’ SIZE 1 G
RETENTION GUARANTEE;
Vamos Lá:
Suponhamos que vc apagou determinada linhas de uma tabela por acidente e agora precisa recuperarar esta tabela ...
1-Habilite o movimento da linha
SQL> ALTER TABLE teste ENABLE ROW MOVEMENT;
2-Restaure a tabela para um determinado SCN.
SQL> FLASHBACK TABLE teste TO SCN 1743434;
OU
2.1-Restaure a tabela a um tempo no qual ela se encontrava correta.
SQL> FLASHBACK TABLE teste
TO TIMESTAMP
TO_TIMESTAMP(‘24-MAR-11 12:00:00’,’MM/DD/YY HH:MI:SS’);
3-Verifique se todas as linhas se encontram lá de novo.
II-FLASHBACK DROP
OBS : Nas versões anteriores do Oracle 10g o comando Drop table removia uma tabela da base permanentemente .
Com a Versão 10G as tabelas não serão mais removidas mais sim renomeadas e movidas para um objeto chamado de Recycle bin.
Vamos ver se isso é verdade :
Siaga os Passos abaixo:
1- Drop uma tabela .
SQL>Drop table teste ;
2-Faça uma pesquisa para verificar se a tabela ainda se encontra na recycle bin :
SQL> select object_name, original_name,
2 type, createtime, droptime
3 from user_recyclebin;
QUICK TIP : Quando a tabela é movida para a recyclebin (licheira) oracle lhe da um nome meio estranho, para visualizar o nome da tabela utilize a coluna original_name, na view user_recyclebin.
3-Para restaurar novamente a tabela utilize o seguinte comando:
SQL> flashback table “BIN$0+ktoVChEmXgNAAADiUEHQ==$0” to before drop; (nome que o oracle atribui a tabela)
ou
SQL> flashback table teste to before drop;
4-Para limpar a recyclebin execute o comando abaixo:
SQL> purge recyclebin;
5-Para limpar apenas um objeto da recyclebin utilize o comando abaixo:
SQL> purge table "BIN$0+ktoVChEmXgNAAADiUEHQ==$0";
QUICK TIP:Caso queira dropar a tabela permanentemente do banco de dados utilize o comando abaixo:
drop table teste purge ;
Obrigada e Até maisssssssssssss.......
Nenhum comentário:
Postar um comentário