Oracle 库恢复删除数据

这篇具有很好参考价值的文章主要介绍了Oracle 库恢复删除数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

误删 Oracle 库中的数据,在不考虑全库备份和利用归档日志情况,如何恢复数据呢?

下面介绍几种方法恢复数据:

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

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

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

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

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

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

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

2、利用 Oracle 虚拟回收站功能

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

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

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

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

flashback table original_name to before drop;

如果不知道源表名,或者需要重新命名新的表名存放数据,则可以通过回收站中的object_name进行恢复,命令如下:

flashback table object_name to before drop new_table_name;

3、用 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’);

4、彻底删除数据

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

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

2)在 drop 时加上 purge 选项:

drop table table_name purge;

3)通过删除 recyclebin 区域来永久性删除表:

drop table table_name cascade constraints purge table table_name;

5. 关于清空回收站

1)删除当前用户回收站

purge recyclebin;

2)删除全体用户在回收站的数据文章来源地址https://www.toymoban.com/news/detail-757404.html

purge dba_recyclebin;

到了这里,关于Oracle 库恢复删除数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Oracle Recovery Tools快速恢复断电引起的无法正常启动数据库----惜分飞

    由于异常断电,数据库启动报错ORA-01113和ORA-01110,ORA-00322和ORA-00312以及ORA-00314和ORA-00312错误 Mon Apr 17 09:35:04 2023 ALTER DATABASE OPEN Errors in file D:APPADMINISTRATORdiagrdbmsorclorcltraceorcl_ora_10192.trc: ORA-01113: 文件 1 需要介质恢复 ORA-01110: 数据文件 1: \\\'D:APPADMINISTRATORORADATAORCLSYSTEM01.DBF

    2023年04月21日
    浏览(41)
  • Oracle 库恢复删除数据

    误删 Oracle 库中的数据,在不考虑全库备份和利用归档日志情况,如何恢复数据呢? 下面介绍几种方法恢复数据: 1、利用 Oracle 提供的闪回方法进行数据恢复,适用于 delete 删除方式 首先获取删除数据的时间点: 根据结果中的 sql_text 内容,找到 delete 执行语句对应的删除时

    2024年02月04日
    浏览(39)
  • Oracle误删除数据文件恢复---惜分飞

    有客户通过sftp误删除oracle数据文件,咨询我们是否可以恢复,通过远程上去检查,发现运气不错,数据库还没有crash,通过句柄找到被删除文件 oracle@cwgstestdb[testwctdb] /proc/20611/fd $ ls -ltr total 0 lr-x------ 1 oracle oinstall 64 Feb 20 14:03 9 - /oracle/db19c/rdbms/mesg/oraus .msb lrwx------ 1 oracle oinstall 64 F

    2024年02月22日
    浏览(47)
  • win系统删除oracle数据文件恢复---惜分飞

    有客户联系我们,说win平台下的数据库,在由于空间紧张,在关闭数据库的情况下删除的两个数据文件,导致数据库无法正常访问很多业务表,需要对其进行恢复,查看alert日志发现大概操作,删除文件之后,启动数据库失败 Completed: alter database mount exclusive alter database open Errors in file d:

    2024年02月15日
    浏览(47)
  • Oracle数据库面试题 精选 Oracle 面试题

    1.解释冷备份和热备份的不同点以及各自的优点 冷备份 发生在数据库已经正常关闭的情况下,将关键性文件拷贝到另外位置的一种说法。适用于所有模式的数据库。 优点 1. 是非常快速的备份方法(只需拷贝文件) 2. 容易归档(简单拷贝即可) 3. 容易恢复到某个时间点上(只

    2024年02月05日
    浏览(99)
  • 【Oracle】收集Oracle数据库内存相关的信息

    【声明】文章仅供学习交流,观点代表个人,与任何公司无关。 编辑|SQL和数据库技术(ID:SQLplusDB) Oracle数据库包含多个内存区域,每个区域都包含多个子组件。 Oracle Database Memory Structures 根据具体问题的需要,可以通过如下命令收集Oracle数据库内存相关的信息。 例: 注:SET

    2024年01月21日
    浏览(67)
  • 【Oracle】使用 SQL Developer 连接 Oracle 数据库

    SQL Developer 是 Oracle 官方推出的一款免费的数据库开发工具,它提供了丰富的数据库开发功能,其中包括连接 Oracle 数据库的功能。 在本文中,我们将从多个方面详细阐述如何使用 SQL Developer 连接 Oracle 数据库。 在连接 Oracle 数据库前,需要需要做一些准备工作,包括安装 SQ

    2024年02月06日
    浏览(67)
  • Oracle数据库

    ①层次型数据库 ②网状型数据库 ③关系型数据库(主要介绍) E-R图:属性(椭圆形),实体(矩形),联系(菱形-一对一、一对多、多对多) 注:有的联系也有属性 关系型数据库的设计范式: 第一范式(1NF):属性不可再分,字段保证原子性 第二范式(2NF):在满足1

    2024年02月08日
    浏览(57)
  • Oracle 开发篇+Java通过HiKariCP访问Oracle数据库

    标签:HikariCP、数据库连接池、JDBC连接池、 释义:HikariCP 是一个高性能的 JDBC 连接池组件,号称性能最好的后起之秀,是一个基于BoneCP做了不少的改进和优化的高性能JDBC连接池。 ★ Java代码 ※ 如果您觉得文章写的还不错, 别忘了在文末给作者点个赞哦 ~

    2024年02月13日
    浏览(54)
  • Oracle数据库概念简介

    一般意义上的数据库包含两个部分 库:就是一个存储一堆文件的文件目录 数据库管理系统:管理库的系统 数据库管理系统(Database Management System),是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称 DBMS ; 它对数据库进行统一的管理和控制,以保证数

    2024年02月09日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包