关闭

oracle误删数据之表闪回

752人阅读 评论(0) 收藏 举报
那天做表导出时,误删表了,把我急死了.后来在网上找到oracle的闪回功能,把表找回来了.
(好像有时间限制,如果误删后,马上找回吧,这样比较安全. 注意做好数据备份!!!    )

flashback table tablename to before drop;

 

   1. 进行查询闪回如: 

Select * From 表名 As Of Timestamp to_Timestamp('2009-7-24  18:07:30','yyyy-mm-dd hh24:mi:ss') 
Where id='CQn2Q9xbvy' 
      
      2. 闪回的数据重新插入到机表中,如: 

Insert Into 表名 
(Select * From 表名 As Of Timestamp to_timestamp('2009-07-24 16:08:30','YYYY-MM-DD HH24:MI:SS') 

      3. 恢复被删除的基表 

Flashback Table 表名 To Before Drop; 

      4.数据库闪回 

Flashback Database To Scn sid; --sid:指定的系统改变号 
Flashback Database To Timestamp to_timestamp('2009-07-24 16:08:30','YYYY-MM-DD HH24:MI:SS') 
      

      然后在通过插入语句将原始的数据插入到表中,问题总算是解决了

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1068199次
    • 积分:12177
    • 等级:
    • 排名:第1174名
    • 原创:299篇
    • 转载:84篇
    • 译文:1篇
    • 评论:57条
    文章分类
    最新评论