Oracle恢复删除的数据

2023-11-11

不下心删除了生产库的数据或者不小心删除了一部分数据,如何恢复找回。

Oracle恢复删除数据的方法

方案一

  1. 利用oracle提供的闪回方法进行数据恢复,适用于delete删除方式

首先获取删除数据的时间点:

select * from v$sql where sql_text like '%table_name%' ;

示例sql

select sql_text as boothno,first_load_time as submarket from v$sql where sql_text like '%MK_BOOTHINFO%' and sql_text like '%DELETE FROM MK_BOOTHINFO WHERE BOOTHID = %'

根据结果中的sql_text内容,找到delete执行语句对应的删除时间点,执行下面语句查询出删除的数据。

select * from table_name as of timestamp to_timestamp(‘删除时间点’,‘yyyy-mm-dd hh24:mi:ss’)
where (删除时的条件)

示例sql

      select * from Mk_Boothinfo as of timestamp
 to_timestamp(#{time2,jdbcType=VARCHAR},'yyyy-mm-dd hh24:mi:ss')
        where  BOOTHID = #{boothId}

ps:这个时间点可以适当加减30s内去获取数据 有可能查不到

检查数据无误后,执行下面操作,将数据插回原表中。注意主键不重复

insert into table_name
select * from from table_name as of timestamp to_timestamp(‘删除时间点’,‘yyyy-mm-dd hh24:mi:ss’)
where (删除时的条件)

方案二

  1. 利用oracle虚拟回收站功能
    原理是因为oracle数据库在删除表时会将删除信息存放于某虚拟回收站中而非直接清空,在此种状态下数据库标记该表的数据库为可以复写,所以在该块未被重新使用前依然可以恢复数据。该方法多用于drop删除。

首先查询123user_table==视图,找到被删除的表:

select table_name,dropped from user_tables;
select object_name,original_name,type,droptime from user_recyclebin;

注意此时的,object_name和original_name就是回收站存放的表名和原来删除的表名,如果表名没有被重新命名,可以通过下面语句进行恢复:

flashback table object_name to before drop new_table_name;

方案三

  1. 用oracle数据库的闪回功能可以将数据库恢复到过去某一状态

注意,此时是整库恢复,具体语法如下:

SQL>alter database flashback on
SQL>flashback database to scn SCNNO;
SQL>flashback database to timestamp to_timestamp(‘frombyte 2021-09-02 23:59:59’,‘yyyy-mm-dd hh24:mi:ss’);

  1. 彻底删除数据

如果确定需要删除的数据又不想无谓的占用空间,我们可以使用以下3种方式:

  1. 采用truncate方式进行截断。(不能进行数据回恢复)

  2. 在drop时加上purge选项:drop table table_name purge

  3. 通过删除recyclebin区域来永久性删除表 ,drop table table_name cascade constraints purge table table_name;

  4. 关于清空回收站

删除当前用户回收站
purge recyclebin;
删除全体用户在回收站的数据
purge dba_recyclebin;

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

Oracle恢复删除的数据 的相关文章

随机推荐

  • tongweb部署vue前端页面的方法

    tongweb部署vue前端页面的方法 1 在同一端口号下部署 2 在不同端口号部署 1 在同一端口号下部署 把vue项目install 运行 build完了的dist包压缩打包 上传到服务器解压 然后在解压完了的目录里新建一个空的WEB
  • 算法应用与加速器系统架构的碰撞:AI软硬结合的方向怎么走?

    2021年9月18日下午 算法应用与加速器系统架构的碰撞 讨论会在智源研究院顺利举行 参与封闭研讨的专家有 孙广宇 北京大学高能效计算与应用中心长聘副教授 黄高 清华大学助理教授 陈恺 中国科学院信息工程研究所研究员 施柏鑫 北京大学助理教
  • conda虚拟环境中安装和使用指定opencv-C++版本

    1 进入conda环境 conda activate 虚拟环境名称 2 查看conda可以安装的opencv版本 conda search opencv 3 安装opencv 这里安装4 5 3版本 conda install opencv
  • 【HarmonyOS】如何实现应用内引用HSP模块中ArkUI组件

    关键字 HSP开发 引入HSP模块中ArkUI组件 写在前面 在使用ArkTS开发HarmonyOS应用时 通常会定义一些公共组件或公共接口功能 此时可以将这些功能封装到HSP模块中 然后通过在HSP模块中导出组件或接口方式在其他模块中引用
  • 数据库的基础学习

    数据库对于程序员来说是一个必备的技能 我也开始了数据的学习 看的教程比较老 是郝斌的sqlsever基础教程 用的数据库是sqlsever2008 说起数据库 之前仿照的医药项目已经开始陆陆续续接触到了 所以也去3wschool上补过一些常
  • Queue(单项队列)和Deque(双端队列)的知识点整理

    1 Queue 单向队列 1 1 定义 常见队列就是FIFO 先进先出 队列 可以实现前端删除 peek pop from front 后端添加 push to back 的功能 1 2 实现 既可以用数组 顺序队列 也可以用链表 链式队列
  • shell中的三种引号

    元字符 指在shell中有特殊含义的字符 lt gt 双引号 消除元字符的特殊含义 除 三个字符外 均当作普通字符处理 单引号 除单引号自身外 都当作普通字符来处理 可以使用 来消除单引号的特殊语义 单引号 命令替换 将一个命令的输出作为另
  • ChatGPT影响大学生思想行为模式的三个维度

    ChatGPT作为新一代AI技术的代表 深刻嵌入并影响着大学生的日常学习和生活场景 其在提升学习研究效率 拓宽认知阈限 重塑人机互动模式等方面带来极大突破 也会对大学生的思想行为模式产生潜在的影响 这些影响可以从个体 关系与社会三个维度进行
  • 北师大19秋计算机在线1,北师19秋《专科英语(二)》在线作业1【满分答案】

    可做奥鹏全部院校作业论文 答案请添加qq 599792222 或 微信 1095258436 19秋 专科英语 二 在线作业1 试卷总分 100 得分 100 一 单选题 共 60 道试题 共 60 分 1 around all over
  • ctfshow CRYPTO RSA

    ctfshow CRYPTO RSA babyrsa easyrsa1 easyrsa2 easyrsa3 easyrsa4 easyrsa5 easyrsa6 easyrsa7 easyrsa8 babyrsa 先看txt 直接上脚本 i
  • Android绘制虚线

    Android绘制虚线的两种方式 1 自定义view 看到网上很多人说用drawLine绘制 但是其实根本就没有效果 真正效果的是drawPath这个方法 话不多说直接上代码 public class DotView extends Vie
  • 【云原生之Docker实战】使用docker部署mkdocs项目文档工具

    云原生之Docker实战 使用docker部署mkdocs项目文档工具 一 mkdocs介绍 1 mkdocs简介 2 mkdocs特点 二 检查本地环境 1 检查docker版本 2 检查docker状态 3 检查系统版本 三 下载mkd
  • VUE 开发使用的一些表格框架

    Vue 开发中使用的框架 表格 1 http www quasarchs com 2 https vxetable cn table start install
  • Spring Boot 实现 WebSocket 示例

    什么是 WebSocket WebSocket协议提供了一种标准化的方法 通过单个TCP连接在客户机和服务器之间建立全双工 双向的通信通道 它是一种不同于HTTP的TCP协议 但被设计为在HTTP上工作 使用端口80和443 并允许重用现有
  • 电量优化与网络优化

    一 Doze低电耗模式 未充电 屏幕熄灭 让设备在一段时间内保持不活动状态 延迟应用的后台 CPU 和网络活动 从而降低耗电量 二 Standby待机模式 应用待机模式会延迟用户近期未与之交互的应用的后台网络活动 三 白名单 系统提供了一个
  • JS工具库之正则规则校验

    1 内置了一些校验规则 如是否手机号 邮箱号 URL等 这些规则方法 写在test js下面 如验证是否手机号 test mobile 13888889999 如果验证通过 返回true 否则返回false 例子1 是否验证码 校验是否验证
  • 信息熵到底是什么

    信息是我们一直在谈论的东西 但信息这个概念本身依然比较抽象 在百度百科中的定义 信息 泛指人类社会传播的一切内容 指音讯 消息 通信系统传输和处理的对象 但信息可不可以被量化 怎样量化 答案当然是有的 那就是 信息熵 早在1948年 香农
  • ubantu环境下IDA pro运行时碰到某些so找不到的问题

    最近帮组员解决IDA的问题 做个记录 问题 执行启动idea时出现报错 IDA Pro idaq64 报错如下 idaq64 error while loading shared libraries libgthread 2 0 so 0
  • 基于opencv中HOG+SVM的车轮识别及predict()函数的改进

    前言 opencv中HOG SVM已经是一个相对成熟的环境 只是在满足兼容性的条件下会牺牲很大的时间开销 在训练部分未做改进 只是对detectMultiScale 中的predict进行改进 其中HOG特征计算请参考 http blog
  • Oracle恢复删除的数据

    不下心删除了生产库的数据或者不小心删除了一部分数据 如何恢复找回 Oracle恢复删除数据的方法 方案一 利用oracle提供的闪回方法进行数据恢复 适用于delete删除方式 首先获取删除数据的时间点 select from v sql