Oracle 数据库误truncate table恢复过程

2023-10-30

  北京某国企客户 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条。

d7fa023ca1a744cdaeab0327bf2fd6dc_th.jpg

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

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

6a6e3a29083b48e0abe86981d02a479a_th.jpg

  2 解析表所在的数据文件数据库,找到truncate的数据3 将truncate的数据库插入到数据库中结果

  通过解析system01.dbf文件,找到truncate的数据所在的位置,找到被删除的数据。解析表所在的数据文件,将truncate的数据插入到数据库中。

  在数据库中,查找被truncate,发现数据回来了,直接备份数据。

73f357a2cab54262a4155d3eb5c461b8_th.jpg

  Exp导出scott用户;

d7531cc2b9c4452ca644621ac4d0efcb_th.jpg

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Oracle 数据库误truncate table恢复过程 的相关文章

  • 每组最大 n 个 SQL 查询的高性能方法

    我正在尝试构建一个基础设施 以便根据需要快速运行回归 从包含我们网络服务器上所有历史活动的数据库中提取 apache 请求 为了通过确保我们仍然回归来自较小客户的请求来提高覆盖范围 我想通过为每个客户检索最多 n 个 为了这个问题 假设 1
  • Oracle sqlldr是否并行处理多个INFILE

    我正在使用 sqlldr 将数据加载到 Oracle RAC 在 Linux 上 并且我正在尝试提高数据加载的性能 我正在使用 直接路径 并且为 sqlldr 设置了 parallel true 而且 由于我的服务器是多核的 所以默认情况下
  • postgresql 中的咨询锁超时

    我正在从 ORACLE 迁移 目前我正在尝试移植此呼叫 lkstat DBMS LOCK REQUEST lkhndl DBMS LOCK X MODE lktimeout true 这个功能 http docs oracle com cd
  • 如何将 SQL 查询结果导出为 csv 样式格式的字符串,然后将其保存到 Oracle 中的 clob 中?

    我有以下问题 我有一个表 Source Data 实际上 有很多不同的源表 我需要将其中的一些数据导出到 Result Table 中 对于每个源表 我都有一些返回数据的 sql 并且需要将其转换为类似 csv 的字符串 例如 Source
  • 检查行中是否有单调递增的值

    我正在寻找一种方法来检查表中的值是否针对特定的行子集单调递增 该表包含列 id name meas date 和 value 对于具有相同名称的所有行 应按 meas date 对行进行排序 并且需要检查这些排序行的值列是否单调递增 因此
  • 想要在Sql中获取两列的差异

    我想获取表的列的差异 我们的列名称为 Planned date 所以现在我想获取这两列的差异 A Planned Date of stop1 Planned Date of stop5 那么我如何编写查询来获取 A 的值 下面是我编写的示例
  • 如何使用 oracle SQL 执行线性插值?

    我正在尝试使用 Oracle 11g 开发中为 11 1 生产中为 11 2 进行数值分析 特别是对具有三列感兴趣的表进行线性插值 时间戳 deviceid 和值 值列保存来自设备 具有 ID deviceid 的数据 这些数据是在时间戳中
  • oracle查找两个表之间的差异

    我有两个结构相同的表 一个是临时的 另一个是产品的 每次都会加载整个数据集 有时该数据集会从先前的数据集中删除记录 我首先将数据集加载到临时表中 如果删除了任何记录 我也想从产品表中删除它们 那么如何找到prod中存在但temp中不存在的记
  • where 子句中忽略空白字符

    我做了以下事情 create table test col char 10 insert into test values hello select from test where col hello 有人建议我上面的内容不应返回任何结果
  • 我怎样才能等到所有调度程序作业完成?

    我是我的包裹 我正在排队多个作业 如下所示 dbms scheduler create job job name gt p job name job type gt PLSQL BLOCK job action gt p sql code
  • 如何通过ODBC检索Oracle数据库函数的结果?

    我在通过 ODBC 调用 Oracle 存储函数 而不是过程 时遇到问题 我的函数非常简单 它只是连接两个字符串 我可以通过以下方式调用它 rs c execute SELECT add str yogi bubu FROM dual fo
  • PL/SQL 过程成功完成但没有显示任何内容

    我有以下过程代码 create or replace PROCEDURE Ventas cliente p DNI IN CHAR IS CURSOR c pedidos clientes IS SELECT FROM Pedidos ve
  • 关于pl/sql存储程序文本的问题

    我使用 TOAD 进行 PL SQL 开发 在 TOAD 中 当我输入过程名称并按 f4 时 我可以看到该过程的源代码 我认为 TOAD 从 v sqltext 视图获取源代码 为了证实我的想法 我写了一个查询 select from v
  • ActiveRecord oracle_enhanced 适配器无法加载 ruby​​-oci8 库

    rails g scaffold失败 但 oci 脚本和 irb 数据查询有效 无法弄清楚出了什么问题 rails g scaffold table field1 integer field2 string invoke active re
  • 如何从 TOAD for Oracle 执行函数并将结果绑定到数据网格

    我有一个函数 它将 pl sql 对象的 VARRAY 作为其参数之一 如何执行此存储过程并将其返回的结果集绑定到 TOAD for Oracle 中的数据网格 经过一番搜索后 我找到了自己问题的答案 假设您的 varray 类型称为 va
  • Oracle:使用SQL或PL/SQL查找动态SQL中的错误位置

    如何在 PL SQL 或 SQL 中找到动态 SQL 语句中的错误位置 从 SQL Plus 中 我看到了错误的位置 例如 无效的 SQL DML 语句 SYS orcl gt SELECT 2 X 3 FROM 4 TABLEX 5 TA
  • 分层查询

    我希望我能够解释困扰我的问题 我有以下分层数据集 这只是 34K 记录的子集 PARENT ID CHILD ID EXAM TUDA12802 TUDA12982 N TUDA12982 TUDA12984 J TUDA12984 TUD
  • ORA-12154: TNS: 无法解析指定的连接标识符 (PLSQL Developer)

    我需要使用 PLSQL Developer 访问 oracle 数据库 当我尝试连接到数据库时出现以下错误 ORA 12154 TNS could not resolve the connect identifier specified 我
  • Oracle:如何确定“AFTER ALTER”触发器中对象的新名称?

    假设我有一个AFTER ALTER在我的 Oracle 数据库上触发并重命名一些数据库对象 ALTER RENAME TO 在触发器中 我如何确定new数据库对象的名称 看来ORA DICT OBJ OWNER ORA DICT OBJ N
  • 在 Oracle 行的多个列上使用透视

    我在 Oracle 表中有以下示例数据 tab1 我正在尝试将行转换为列 我知道如何在某一列上使用 Oracle 数据透视表 但是否可以将其应用于多个列 样本数据 Type weight height A 50 10 A 60 12 B 4

随机推荐

  • 【CUDA编程】 动态体素化实现

    动态体素化实现 动态体素化DV克服了硬体素化HV的一些缺点 动态体素化DV保留了分组grouping阶段 相反 它没有采样固定的点数或体素容量 它保留了点和体素之间的完全映射 因此 体素数和每个体素中的点数都是动态的 依赖于具体的映射函数
  • MySQL 8.0 最最详细的安装教程以及错误解决办法

    如果你是来解决错误的 请点击直达 安装中的常见错误本教程也详细说明了一番 MySQL 8 0 安装教程 首先去官网下载MySQL Installer官网下载 本教程重重之重是设置密码验证方式和密码 其余步骤是详细说明 安装步骤 1 在这里我
  • Treap树实现文件C语言

    对于这个 想说的是 关于 NullNode 结点 在调用Release 释放内存之后 要将其恢复为NULL 以便下次的连续使用 自己想到的 很不错 treap c treap树实现文件 include treapTree h 全局变量声明定
  • 【Python基础】网络编程入门总结

    如何在网络中唯一标识一台计算机 IP地址 同一台计算机上多个程序如何共用网络而不冲突 网络端口 范围 0 65535 但0 1023 被占用 1024 65535 可用 不同计算机通信怎么才能相互理解 使用相同的协议 TCP UDP 基于T
  • 基于ISO13400 (DoIP) 实现车辆刷写

    近年来 在整车研发中基于以太网实现车辆高带宽通讯无疑是人们热议的话题 无论是车内基于车载以太网来减少线束成本 实现ADAS 信息娱乐系统等技术 还是基于新的电子电气架构以及远程诊断需求来实现以太网诊断 DoIP 各家OEM都投入了大量人力
  • Mac 平台相关操作

    安装第三方软件 安装第三方软件时 Mac 会提示 无法打开 DragonBonesPro app 因为无法验证开发者 解决办法就是打开控制台在控制台中输入 打开任何来源 sudo spctl master disable 之后再次安装应用程
  • 100天精通Python(数据分析篇)——第67天:Pandas数据连接、合并、加入、添加、重构函数(merge、concat、join、append、stack、unstack)

    文章目录 一 数据连接 pd merge 1 left right 2 how 3 on 4 left on right on 5 sort 6 suffixes 7 left index right index 二 数据合并 pd con
  • jvm是如何处理异常的

    jvm发现运算是已经违反了数学运算规则 java将这种常见的问题进行描述 并封装成了对象叫做ArithmeticException 当除0运算发生后 jvm将该问题打包成了一个异常对象 并将对象抛给调用者main函数 new Arithme
  • vue 多级菜单栏,鼠标移入显示鼠标移除隐藏

  • 注意力机制——注意力评分函数(代码+详解)

    目录 注意力分数 关于a函数的设计有两种思路 1 加性注意力 Additive Attention 2 缩放点积注意力 Scaled Dot Product Attention 模块导入 遮蔽softmax操作 加性注意力代码 补充知识 1
  • 地理信息安全在线培训考试题库-单选题

    1 根据 测绘成果管理条例 利用涉及国家秘密测绘成果开发生产的产品 未经 A 进行保密技术处理的 其秘密等级不得低于所用测绘成果的秘密等级 A 国务院测绘行政主管部门或者省 自治区 直辖市人民政府测绘行政主管部门 B 省级以上保密管理部门
  • OpenResty&Nginx安装ZhongKui-WAF

    Zhongkui WAF 钟馗是中国传统文化中的一个神话人物 被誉为 捉鬼大师 专门驱逐邪恶之物 Zhongkui WAF的命名灵感来源于这一神话人物 寓意着该软件能够像钟馗一样 有效地保护Web应用免受各种恶意攻击和威胁 Zhongkui
  • ModuleNotFoundError:No module named 'pyecharts' 解决pythone安装pyecharts无法正常运行问题

    一 Pyecharts安装方法 方法一 打开CMD输入命令安装 因镜像在国外 所以安装较慢 pip install pyecharts 方法二 利用国内清华镜像安装 pip install i https pypi tuna tsinghu
  • 使用vite打包可以按需引入的组件库 (rollup)

    package json name private false version 0 1 9 main lib index umd js module lib index es js types lib index d ts author n
  • BasicDao的使用

    本次博客带领大家学习BasicDao的使用 BasicDao的基本说明 DAO data access object数据访问对象 这样的通用类 称为BasicDao 是专门和数据库交互的 即完成对数据库 表 的crud操作 在BasicDa
  • tf2梯度计算为None的情况

    今天搭建用tf2搭建WGAN网络 自己来写梯度函数 在使用tf GradientTape 来求梯度时 发现求出结果为None 一般来说结果为None 表示输入变量之间没有构成可求导的关系 同时也需要理解tf GradientTape 求导的
  • 毕业设计-基于机器视觉的嵌入式烟雾识别系统- OpenCV

    目录 前言 课题背景和意义 实现技术思路 一 相关技术简介 二 图像视频识别算法研究 最后 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力 近几年各个学校要求的毕设项目越
  • iOS开发,定位当前所在地理位置偏移,坐标转换

    我的blog地址 http blog csdn net h qiao 欢迎访问 在开发中经常会遇到定位当前位置 而且不需要有地图之类的一系列功能 一般都会用CLLocationManger来定位 但是会发现定位出来的经纬度地理反编码之后和自
  • 新浪股票接口获取历史数据

    这两天做了一个调用新浪股票接口获取实时以及历史股票数据的应用 因为新浪没有公开关于其接口的官方文档 所以通过各种百度差了很多关于新浪股票接口的使用 不过大家基本都是转载或者直接复制 对于实时数据的获取讲的很详细 但是缺少获取历史数据的方法
  • Oracle 数据库误truncate table恢复过程

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