【故障情况概述】

北京某国企客户 Oracle 11g R2 数据库误truncate table CM_CHECK_ITEM_HIS,表数据丢失,业务查询到该表时报错,此时发现数据库的备份不能用,表数据无法查询。Oracle 11g R2 数据库误truncate table CM_CHECK_ITEM_HIS,表数据丢失,业务查询到该表时报错,此时发现数据库的备份不能用,表数据无法查询。Truncate数据的机理是,ORACLE会在数据字典和Segment Header中更新表的Data Object ID,而实际数据部分的块则不会做修改。由于数据字典与段头的DATA_OBJECT_ID与后续的数据块中的并不一致,所以ORACLE服务进程在读取全表数据时不会读取到已经被TRUNCATE的记录,但是实际仍未被覆盖的数据。

【北亚数据恢复过程】

为保护用户数据,本文档构造与客户相同的故障。Scott用户创建表emp1,复制emp表,连续复制多次,总记录数为:7340032条。truncate表emp1,之后没有进行任何操作。查询该表,数据库中该表的记录为0条。如图一所示:

图一

注: Os:win server 2008R2。数据库版本:win_oracle_11.2.0.1_x64;

1 对system表空间文件进行分析,找到truncate表的原始数据所在的位置

图二

2 解析表所在的数据文件数据库,找到truncate的数据

3 将truncate的数据库插入到数据库中

通过解析system01.dbf文件,找到truncate的数据所在的位置,找到被删除的数据。解析表所在的数据文件,将truncate的数据插入到数据库中。在数据库中,查找被truncate,发现数据回来了,直接备份数据。

图三

Exp导出scott用户;

图四

【北亚数据恢复结果】

数据恢复成功

oracle对查询结果求和_某国企Oracle数据库误truncate table恢复案例相关推荐

  1. Oracle 数据库误truncate table恢复过程

    北京某国企客户 Oracle 11g R2 数据库误truncate table CM_CHECK_ITEM_HIS,表数据丢失,业务查询到该表时报错,此时发现数据库的备份不能用,表数据无法查询. 客 ...

  2. oracle表还原truncate,Oracle数据库执行truncate table操作后如何逆向恢复之前的状态...

    概述:北京某国企客户 Oracle 11g R2 数据库误truncate table CM_CHECK_ITEM_HIS,表数据丢失,业务查询到该表时报错,此时发现数据库的备份不能用,表数据无法查询 ...

  3. oracle查询前几名,Oracle子查询前1名的结果(Oracle subquery top 1 result)

    Oracle子查询前1名的结果(Oracle subquery top 1 result) 我想为b的每个唯一值得到最高的1行,最小值为c的那个特定值. 即使可以有超过1行具有相同的最小值(只需选择第 ...

  4. oracle对查询结果求和_oracle基础知识分享

    原文链接:https://page.om.qq.com/page/OO2PXCD6VZ6CVqLqjpU6uShg0 以下是本人整理的ORACLE学习的一些基本的语法知识,如有不对的地方,望大家批评指 ...

  5. oracle对查询结果求和_Oracle 闪回技术详解

    概述 闪回技术是Oracle强大数据库备份恢复机制的一部分,在数据库发生逻辑错误的时候,闪回技术能提供快速且最小损失的恢复(多数闪回功能都能在数据库联机状态下完成).需要注意的是,闪回技术旨在快速恢复 ...

  6. oracle中如何格式化输出,【学习笔记】数据库日期时间格式化输出案例

    天萃荷净 分享一篇关于开发DBA在工作中常用到的日期时间格式化输出方法案例,含:mysql.sql server.oracle 3种数据库日期时间格式化输出 1.mysql数据库时间格式化输出 DAT ...

  7. mql 查询多结果_详解Oracle分页查询概念、缘由及如何实现

    概述 很多朋友都不太理解为什么要去分页查询,今天主要用一个简单实例来解释下Oracle数据库的分页查询... 分页查询概念 分页查询就是把query到的结果集按页显示.比如一个结果集有1W行,每页按1 ...

  8. oracle将查询结果声明为伪表,Oracle查询操作(增删改查,伪表,高级查询)实例讲解...

    SQL查询操作:增删改查 一.SQL操作符 算术操作符 + - * / 比较操作符 = != < > <= >= BETWEEN--AND IN LINK IS NULL 逻辑 ...

  9. oracle命令未正确结束_详解Oracle数据库终止正在进行expdp导出数据的正确操作

    概述 今天在做expdp导出时因没预估好数据量,所以需终止正在进行expdp导出数据的任务.那么怎么正确停止expdp导出任务呢?下面介绍一下我的操作过程. 1.不能用ctrl+c来终止导出(演示) ...

最新文章

  1. 基于JSP实现OA办公系统
  2. 使用RDLC报表向报表传入参数
  3. ***PHP 遍历数组的方法foreach
  4. fgo服务器维护补偿什么时候才有,fgo国服4月12日版本版本更新公告 维护18个小时 补偿18个圣晶石...
  5. 第四范式祝大家 HAPPY NIU YEAR!
  6. 【最新合集】编译原理习题(含答案)_15运行存储分配_MOOC慕课 哈工大陈鄞
  7. shell 判断字符串是否存在包含关系
  8. MyEclipse web项目导入Eclipse,详细说明
  9. 物联网开发者被疯抢,华为做了什么?
  10. css转化成stylus,stylus
  11. 服务器主板测试工程师的项目,重视经验,人才紧缺—硬件测试工程师
  12. android 缓存程序,Android轻量缓存框架--ASimpleCache
  13. NRF52840 NRF52833 nRF5 SDK 开发
  14. uniapp本地存储
  15. Java HotSpot VM参数大全
  16. k3导入账套_K3金蝶维护绝密(内部技术教程)
  17. 前端基础入门之css表格与表单
  18. 2022软件测试常见抓包工具
  19. OSW工具-Oracle的OS watcher
  20. 题目:953.验证外星语词典

热门文章

  1. linux i2c ioctl错误,关于读写I2C总线的时候出错的有关问题
  2. windows mysql增量备份_windows下mysql增量备份与全备份批处理
  3. 面试:为什么foreach中不允许对元素进行add和remove
  4. 微信新增“炸屎”功能,被好友玩坏了。。
  5. 赠书:啥是指标陷阱?很多就出现在你的身边!
  6. 成为阿里 P7 真的难么?
  7. RabbitMQ 的这些骚操作你知道吗?
  8. 每日一皮:多线程理想与现实的差距
  9. 进阶:秒杀系统是如何设计的?
  10. 亿万级图数据库 Nebula Graph 的数据模型和系统架构设计