Oracle9i中如何恢复误删除数据?

发表于:2013-11-14来源:IT博客大学习作者:Incessant点击数: 标签:oracle
需求: 说是9点的时候开发delete tbl_custtrade 表中的某些行,现在反悔了,想找回delete之前的数据

  需求

  说是9点的时候开发delete tbl_custtrade 表中的某些行,现在反悔了,想找回delete之前的数据

  select *

  from tbl_custtrade as of timestamp to_date(\'2007-5-16 9:00:00\', \'yyyy-mm-dd hh24:mi:ss\')。这个语句可以查到9时这个表的状态,9点之后所做的更改都不会体现到这个查询中,注意,只是能查到,并不代表这个表的现有值变了

  create table w_1

  as

  select *

  from tbl_custtrade as of timestamp to_date(\'2007-5-16 9:00:00\', \'yyyy-mm-dd hh24:mi:ss\') .找到你需要的数据并更新到tbl_custtrade表中去

  回溯时间:

  SQL> show parameter undo_retention

  NAME TYPE VALUE

  ------------------------------------ -------------------------------- ------------------------------

  undo_retention integer 21600

  SQL> select 21600/60/60 from dual ;

  21600/60/60

  -----------

  6 --可以查看当前6个小时表的状态值

  适用:因为是通过回滚段来恢复,所以只支持update、 delete、 insert、 不支持ddl操作

  这个语句可以防止在误操作的情况下进行表数据的快速恢复。天哪,写了一个不用思考、人人皆会的东西。。。

原文转自:http://blogread.cn/it/article/57

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)