Commitou o que não era pra comittar? Dá “Rollback”! – Oracle Flashback

Post escrito por Daniel Bezerra publicado no blog Estação ZN, sobre o Oracle Flashback.

Muito interessante, vale a leitura.

“Se você é de TI, com certeza já passou por uma situação como essa:
Atualizando dados de uma tabela em um banco de dados Oracle, você alterou um ou vários campos com o valor errado, ou até mesmo excluiu um ou mais registros e deu COMMIT. E agora?!?! Fedeu?!?! NÃO!!! Você pode recuperar os dados através do Oracle Flashback.

Para isso, a tarefa é muito simples. Basta fazer um select na tal tabela, normal mesmo, com os campos e condições que você quer e, no from, após o nome da tabela, colocar “as of timestamp systimestamp – interval ‘X’ minute”, onde esse “X” é o tempo que passou desde a bobagem que você fez até agora.

Por exemplo: Tenho uma tabela CLIENTE na minha base de dados Oracle e vou atualizar os clientes que não fazem compras há mais de 1 mês para Inativos.

Então fiz lá meu update, atualizando o campo STATUS_CLIENTE para “I”, depois de fazer um select que retorna os tais clientes que não compraram no último mês. Dei o COMMIT. Alguns desses clientes estavam com o STATUS “A” de Ativo, “D” de Devedor, “V” de VIP.

Daí, chega o meu chefe, 30 minutos depois que eu fiz o update, dizendo que esse update não pode ser feito em clientes VIP e eu… DANÇO? Não! Eu faço o seguinte:

Cursos Online

select ID_CLIENTE
from CLIENTE
as of timestamp systimestamp – interval ’30’ minute
where STATUS_CLIENTE = ‘V’;

PRONTO! Peguei todo mundo que tava com o campo STATUS_CLIENTE = ‘V’ 30 minutos atrás.
Com os IDs, eu faço um novo update, passando essa galera, que está com o STATUS = ‘I’, pra ‘V’.

Salvei meu emprego e deixei meu chefe feliz!

PS.: Agradecimentos ao camarada Willian Rodrigues que ajudou nesse post!

Abraço a todos!”

Fonte: estacaozn.blogspot.com.br/2010/07/commitou-o-que-nao-era-pra-comittar-da.html

Share on Facebook0Tweet about this on TwitterShare on Google+0Share on LinkedIn0Print this pageEmail this to someone

Deixe uma resposta

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

Blog Willian Rodrigues

Receba as atualizações do blog no seu e-mail