网上有很多关于数据回复的文章,这里整理一篇供大家参考,希望能帮助的大家!

推荐一家即时通讯云服务商:www.yun2win.com,功能包含im即时通讯实时音视频、电子白板、屏幕共享的多种融合通讯云能力!

好了,言归正传!如果你在工作中误删除了一部分重要的数据,并且已经提交,如果你需要回复这些数据,你可以登陆到数据库上仔细查看,是Oracle9iR2的话,你可以首先尝试使用flashback query闪回数据。

◆第一步:确认数据库的SCN变化:

  1. SQL> col fscn for 9999999999999999999
  2. SQL> col nscn for 9999999999999999999
  3. SQL> select name,FIRST_CHANGE# fscn,NEXT_CHANGE# nscn,FIRST_TIME from v$archived_log;
  4. ...................
  5. NAME                               FSCN       NSCN FIRST_TIME
  6. ----------------------------     ---------   -------------------
  7. /mwarch/oracle/1_52413.dbf     12929941968   12929942881 2005-06-22 14:38:28
  8. /mwarch/oracle/1_52414.dbf     12929942881   12929943706 2005-06-22 14:38:32
  9. /mwarch/oracle/1_52415.dbf     12929943706   12929944623 2005-06-22 14:38:35
  10. /mwarch/oracle/1_52416.dbf     12929944623   12929945392 2005-06-22 14:38:38
  11. /mwarch/oracle/1_52417.dbf     12929945392   12929945888 2005-06-22 14:38:41
  12. /mwarch/oracle/1_52418.dbf     12929945888   12929945965 2005-06-22 14:38:44
  13. /mwarch/oracle/1_52419.dbf     12929945965   12929948945 2005-06-22 14:38:45
  14. /mwarch/oracle/1_52420.dbf     12929948945   12929949904 2005-06-22 14:46:05
  15. /mwarch/oracle/1_52421.dbf     12929949904   12929950854 2005-06-22 14:46:08
  16. /mwarch/oracle/1_52422.dbf     12929950854   12929951751 2005-06-22 14:46:11
  17. /mwarch/oracle/1_52423.dbf     12929951751   12929952587 2005-06-22 14:46:14
  18. ...................
  19. /mwarch/oracle/1_52498.dbf     12930138975   12930139212 2005-06-22 15:55:57
  20. /mwarch/oracle/1_52499.dbf     12930139212   12930139446 2005-06-22 15:55:59
  21. /mwarch/oracle/1_52500.dbf     12930139446   12930139682 2005-06-22 15:56:00
  22. NAME                             FSCN           NSCN FIRST_TIME
  23. -------------------------  -------------       -----------
  24. /mwarch/oracle/1_52501.dbf     12930139682    12930139915 2005-06-22 15:56:02
  25. /mwarch/oracle/1_52502.dbf     12930139915    12930140149 2005-06-22 15:56:03
  26. /mwarch/oracle/1_52503.dbf     12930140149    12930140379 2005-06-22 15:56:05
  27. /mwarch/oracle/1_52504.dbf     12930140379    12930140610 2005-06-22 15:56:05
  28. /mwarch/oracle/1_52505.dbf     12930140610    12930140845 2005-06-22 15:56:07
  29. 14811 rows selected.

◆此时的SCN为:

  1. SQL> select dbms_flashback.
  2. get_system_change_number fscn from dual;
  3. FSCN
  4. --------------------
  5. 12930142214

◆此时使用应用用户尝试闪回

  1. SQL> connect username/password
  2. Connected.

◆现有的数据

  1. SQL> select count(*) from hs_passport;
  2. COUNT(*)
  3. ----------
  4. 851998

◆创建恢复表

  1. SQL> create table hs_passport_recov
  2. as select * from hs_passport where 1=0;
  3. Table created.

◆此处选择SCN向前恢复

  1. 以下为引用的内容:
  2. SQL> select count(*) from hs_passport as of scn 12929970422;
  3. COUNT(*)
  4. ----------
  5. 861686

◆尝试多个SCN,获取最佳值(注释:如果可以得知具体时间,那样则可以获得准确的数据闪回)

  1. 以下为引用的内容:
  2. SQL> select count(*) from hs_passport as of scn &scn;
  3. Enter value for scn: 12929941968
  4. old   1: select count(*) from hs_passport as of scn &scn
  5. new   1: select count(*) from hs_passport as of scn 12929941968
  6. COUNT(*)
  7. ----------
  8. 861684
  9. SQL> /
  10. Enter value for scn: 12927633776
  11. old   1: select count(*) from hs_passport as of scn &scn
  12. new   1: select count(*) from hs_passport as of scn 12927633776
  13. select count(*) from hs_passport as of scn 12927633776
  14. *
  15. ERROR at line 1:
  16. ORA-01466: unable to read data - table definition has changed
  17. SQL> /
  18. Enter value for scn: 12929928784
  19. old   1: select count(*) from hs_passport as of scn &scn
  20. new   1: select count(*) from hs_passport as of scn 12929928784
  21. COUNT(*)
  22. ----------
  23. 825110
  24. SQL> /
  25. Enter value for scn: 12928000000
  26. old   1: select count(*) from hs_passport as of scn &scn
  27. new   1: select count(*) from hs_passport as of scn 12928000000
  28. select count(*) from hs_passport as of scn 12928000000
  29. *
  30. ERROR at line 1:
  31. ORA-01466: unable to read data - table definition has changed

◆注意:最后选择恢复到SCN为12929941968的时间点

  1. 以下为引用的内容:
  2. SQL>
  3. insert into hs_passport_recov
  4. select * from hs_passport as of scn 12929941968;
  5. 861684 rows created.
  6. SQL> commit;
  7. Commit complete.

注释:至此,则可以满足需要,找回误删除的部分数据,闪回恢复成功。

如何利用Flashback Query 恢复误删除的数据的更多相关文章

  1. 利用flashback query 恢复表数据

    flashback query可以查询过去某个时间点对象的状态,从而可以利用此来进行恢复数据 1 准备测试数据 用普通用户创建一个表,表中插入部分数据: SQL> show user USER ...

  2. Linux中利用extundelete恢复误删除的数据

    利用extundelete工具恢复磁盘误删除的数据 原理: 简单介绍下关于inode的知识.在Linux下可以通过"ls -id"命令来查看某个文件或者目录的inode值,例如查看 ...

  3. 通过sqlserver日志恢复误删除的数据

     如果你已经急的焦头烂额,看到这篇文章的时候,请你换个坐姿,深呼吸几次,静下心来将这篇文章读完,也许你的问题迎刃而解. 我遇到的情况是这样的,网站被植入木马,盗取了我的web.config文件,web ...

  4. 【转载】通过sqlserver日志恢复误删除的数据

    如果你已经急的焦头烂额,看到这篇文章的时候,请你换个坐姿,深呼吸几次,静下心来将这篇文章读完,也许你的问题迎刃而解. 我遇到的情况是这样的,网站被植入木马,盗取了我的web.config文件,web. ...

  5. 闪回之 Flashback Query (dml表、过程、函数、包等)、Flashback version Query

    Flashback Query 背景:Flashback 是 ORACLE 自 9i 就开始提供的一项特性,在 9i 中利用oracle 查询多版本一致的特点,实现从回滚段中读取表一定时间内操作过的数 ...

  6. 利用flashBack恢复误删除(delete)的表数据

    Flashback query(闪回查询)原理 Oracle根据undo信息,利用undo数据,类似一致性读取方法,可以把表置于一个删除前的时间点(或SCN),从而将数据找回. Flashback q ...

  7. 解说mysql之binlog日志以及利用binlog日志恢复数据

    众所周知,binlog日志对于mysql数据库来说是十分重要的.在数据丢失的紧急情况下,我们往往会想到用binlog日志功能进行数据恢复(定时全备份+binlog日志恢复增量数据部分),化险为夷! 废 ...

  8. PLSQL_闪回删除FlashBack Delete表误删除如何进行恢复(案例)

    2014-07-02 Created By BaoXinjian

  9. PLSQL_闪回删除FlashBack Drop表误删除如何进行恢复(案例)

    2014-06-25 Created By BaoXinjian

随机推荐

  1. HDU——4738 Caocao's Bridges

    Caocao's Bridges Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  2. Sublime Text 3显示文本编码

    在Settings上加入"show_encoding":true 进入这个选项:[Preferences]->[Settings] 搞定之后,在右下角可以看见文本编码

  3. 墨卡托坐标与LBS应用

    今天了解到这边的LBS应用,一般用的是墨卡托坐标. 也就是商品库的商品入库的时候,会根据输入,使用百度地图提供的一个API,来转换成一个墨卡托坐标. 然后用户流量过来的时候,会带来历史坐标,和当前坐标 ...

  4. VS中多项目联合开发技巧

    1.  新建目录,将它设定为 本次project的工作目录,新建一个Code Files目录 2.  在Code Files目录里.新建一个Win32控制台程序(总控程序),再新建其他的项目比方项目A ...

  5. 【转】 vsftp上传文件出现553 Could not create file解决方法

    因工作需要,需要搭建一个ftp服务器,我使用ubuntu 10.04操作系统,下载vsftpdy源代码, 进行了编译,安装,然后按照INSTALL文件,创建了用户等操作.    因为时间比较紧,我采用 ...

  6. 'IOKING' TCP Transmission Server Engine ('云猴'©TCP通讯server引擎)(预告版)

    关键词: IOKING IOCP TCP  Transmission Server Engine Lock Free Interlocked 云猴完毕portTCP通讯server引擎 无锁 原子锁( ...

  7. BNU 13064 Dice (I) 前缀和优化DP

    Dice (I)   You have N dices; each of them has K faces numbered from 1 to K. Now you have arranged th ...

  8. Combining an audio file with video file in python

    Combining an audio file with video file in python - Stack Overflow https://stackoverflow.com/questio ...

  9. ios-UI1

    // AppDelegate.h // 01-HelloWorld的实现 // /* 新建工程的时候,Use Core Data:比如本地缓存, Include Unit test:增加单元测试 In ...

  10. Mybatis 代码自动生成(generatorConfig.xml配置)

    博客推荐: Mybatis最入门---代码自动生成(generatorConfig.xml配置) MyBatis Generator generatorConfig.xml配置详解 pom.xml&l ...