oracle误删数据之表闪回 (转)

那天做表导出时,误删表了,把我急死了.后来在网上找到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') 
      

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

http://www.cnblogs.com/pan11jing/archive/2009/08/05/1539256.html

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2026年1月    »
1234
567891011
12131415161718
19202122232425
262728293031
搜索
标签列表
网站分类
最新留言
    文章归档
    友情链接

    Powered By Z-BlogPHP 1.7.4

    Copyright Your WebSite.Some Rights Reserved.闽ICP备11018667号-2