我的编程空间,编程开发者的网络收藏夹
学习永远不晚

oracle中如何恢复错误修改删除的数据

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

oracle中如何恢复错误修改删除的数据

小编给大家分享一下oracle中如何恢复错误修改删除的数据,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

Oracle ERP维护人员工作再小心也难免会有在正式库中误删或者误改数据并且已经commit的情况发生,那么我就要用到 - Oracle9i中的FlashBack功能,或许很多同事们都在用,下面我谈谈我在使用中的方法和一些感想:
具体方法如下 >>
1. 我们可以使用
  SELECT item_cost FROM cst_item_costs
      AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '1' hour)
      WHERE organization_id = 1
      AND yyyymm = 200712
      AND item_number = '6384BLCCSL';
  来查看1个小时前的数据.
  * 这里需要说明几点:
    a. AS OF TIMESTAMP expr 是SELECT语句中的FLASHBACK子句
    b. SYSTIMESTAMP 是系统提供的时间函数,精确度可以达到微秒级,并提供当前时区
      eg. select SYSTIMESTAMP from dual;
          SYSTIMESTAMP                                                              
          ---------------------------------------------------------------------------
          29-DEC-07 11.16.08.112686 AM +09:00
    c. INTERVAL 的作用是用来指定时间区间,下面是它参与运算的法则
       Operand1         Operator         Operand2         Result Type
       -------------------------------------------------------
       Datetime        -                Interval        Datetime
       
       我们可以通过修改时间单位和数量来改变倒退时间
      eg. TIMESTAMP (SYSTIMESTAMP - INTERVAL '1' day) --查询一天前的数据
          TIMESTAMP (SYSTIMESTAMP - INTERVAL '10' minute ) --查询十分钟前的数据
          TIMESTAMP (SYSTIMESTAMP - INTERVAL '50' second ) --查询50秒前的数据
   d. 关于在FlashBack中的可回朔时间
       Oracle中有两个参数能够决定可回朔时间 >>
             undo 表空间大小 和 undo_retention 初始化参数.
             一般的ERP正式系统里面的 undo tablespace 为 20G左右, undo_retention设置为 3600S.
             业务繁忙时间最大可回朔时间约为 2-3h,非业务时间为4-5h,这里需要注意: 最大可回朔时间是由
        undo表空间大小及数据库数据变更的频繁程度来决定的.
            如果超过最大可回朔时间时,系统会给出有名的 ORA-01555 快照太老(Snapshot too old)错误.
     e. 做FlashBack必须要有 FlashBack Any Table 的系统权限.
         
2. 那么依此类推,我们就可以利用FlashBack来恢复某段时间前的数据了
  UPDATE cst_item_costs SET item_cost =      
  (SELECT item_cost FROM cst_item_costs
  AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '1' hour)
  WHERE organization_id = 1
      AND yyyymm = 200712
      AND item_number = '6384BLCCSL)
  WHERE organization_id = 1
      AND yyyymm = 200712
      AND item_number = '6384BLCCSL';
  * 这里也要说明几点:
    a. 在恢复数据前,要检查WHERE条件是否具有唯一性
  b. 如果要成批恢复或全表恢复数据的话,要检查是否在指定的时间区间内还有其他会话写入的数据

看完了这篇文章,相信你对“oracle中如何恢复错误修改删除的数据”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

oracle中如何恢复错误修改删除的数据

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

oracle数据误删除如何恢复

要恢复已经误删除的Oracle数据,你可以尝试以下几种方法:使用备份恢复:如果你有最近的备份文件,可以使用Oracle的恢复工具来还原误删除的数据。你可以使用RMAN工具来还原数据库到备份文件中的某个时间点,或者可以将备份文件导入到新的数据
oracle数据误删除如何恢复
2024-04-09

oracle如何恢复误删除数据

在 oracle 中恢复误删除的数据的方法包括:检查回收站:如果数据在回收站中,右键单击并恢复。使用闪回查询:执行特定的查询指定误删除数据的时间戳。使用数据泵导入:如果在误删除之前有备份,导出数据并导入。如何在 Oracle 中恢复误删除的
oracle如何恢复误删除数据
2024-04-19

DBeaver误删除数据如何恢复

在DBeaver中误删数据后,可以尝试以下方法恢复数据:撤销删除操作:在DBeaver中,可以尝试使用撤销操作来恢复误删的数据。可以尝试按下Ctrl + Z组合键或者通过菜单栏的Edit -> Undo选项来撤销最近的删除操作。恢复数据库备
DBeaver误删除数据如何恢复
2024-04-09

oracle删除的数据如何恢复

如果使用DELETE语句删除了数据,Oracle数据库是没有内置的恢复机制来撤销删除操作的。因此,一旦数据被删除,恢复数据的唯一方法是使用备份。以下是一些可能的方法来恢复已删除的数据:1. 使用备份:如果你有数据库的备份,可以从备份中还原被
2023-08-31

oracle删除数据如何恢复

oracle 中已删除的数据可通过以下方式恢复:撤销操作,适用于尚未提交的事务;闪回查询,允许查看指定时间点的数据状态;闪回表,恢复整个表至指定时间点;数据泵导入,需要之前的导出备份;手动数据修复,复杂且耗时,需要专业知识。Oracle 数
oracle删除数据如何恢复
2024-04-19

mysql数据误删除如何恢复

如果MySQL数据误删除,可以尝试以下方法恢复:1. 使用备份:如果你有定期备份数据库,可以通过将备份文件还原到误删除之前的状态来恢复数据。2. 使用二进制日志(binary log):MySQL的二进制日志记录了数据库的所有操作,包括删除
2023-10-09

Oracle中怎么恢复被误删除的数据

在Oracle中,如果数据被误删除,可以使用以下方法来恢复数据:回滚操作:在数据被删除后,立即使用ROLLBACK命令回滚事务,可以将删除的数据恢复到原来的状态。使用Flashback技术:Oracle提供了Flashback技术,可以回滚
Oracle中怎么恢复被误删除的数据
2024-04-19

oracle如何把误删的数据恢复

oracle 数据恢复方法:1. 回滚操作:可撤销最近的删除更改;2. flashback 查询:查看和访问过去某个时间点的数据;3. 数据泵导出/导入:可恢复较久之前的误删数据;4. 恢复备份:通过还原备份恢复数据。如何恢复 Oracle
oracle如何把误删的数据恢复
2024-04-19

mysql如何恢复误删的数据

如果在MySQL数据库中误删了数据,可以通过以下几种方法来尝试恢复数据:1. 使用备份文件:如果你有数据库的备份文件,可以将备份文件还原到一个新的数据库中,然后从这个新的数据库中导出你需要恢复的数据,再将其导入到原来的数据库中。2. 使用二
2023-08-11

mysql删除的数据如何恢复

在MySQL中,一旦数据被删除,它将无法直接恢复。因此,为了能够恢复删除的数据,你需要依赖备份和恢复机制。以下是一些可行的方法:1. 使用备份:如果你有数据库的备份文件,可以使用备份文件进行恢复。将备份文件导入到一个新的数据库中,并从中提取
2023-09-22

plsql删除的数据如何恢复

在PL/SQL中删除的数据无法直接恢复。一旦数据从数据库中删除,它们将无法恢复。然而,你可以通过以下方法尝试恢复数据:1.备份恢复:如果你之前有创建数据库备份,你可以使用备份文件来还原删除的数据。2.事务恢复:如果删除操作是在一个事务中执行
2023-09-09

编程热搜

目录