【第22期】观点:IT 行业加班,到底有没有价值?

oracle数据库delete 后数据恢复

原创 2016年08月31日 09:06:41
1.获得当前的SCN

select dbms_flashback.get_system_change_number from dual;

SCN(系统改变号),它的英文全拼为:System Change Number ,它是数据库中非常重要的一个数据结构。

  SCN提供了Oracle的内部时钟机制,可被看作逻辑时钟,这对于恢复操作是至关重要的
  注释:Oracle 仅根据 SCN 执行恢复。

  它定义了数据库在某个确切时刻提交的版本。在事物提交时,它被赋予一个唯一的标示事物的SCN 。一些人认

为 SCN 是指, System Commit Number ,而通常 SCN 在提交时才变化,所以很多情况下,

  这两个名词经常被交替使用。

  究竟是哪个词其实对我们来说并不是最重要的,重要的是我们知道 SCN 是 Oracle 内部的时钟机制, Oracle 通

过 SCN 来维护数据库的一致性,并通过SCN 实施 Oracle 至关重要的恢复机制。

      2.由于数据库没有停,因此scn号也在不断变化,因此需要查出数据在哪个scn点的时候还是存在的
      SQL> select count(*) from w as of scn 117854000; ------查看数据在scn号为117854000时是否存在
3.select count(*) from 表名 as of scn 10671000; 10671000为或得的SCN后
需要往前调整scn编号
4.insert into t1 select * from t1 as of scn 10670000;
commit;
现在稍微总结一下:

        在做数据表的删除操作之前,一点要谨慎,尤其是在生产系统不能停机的情况下,要么首先将数据库或者表备份

一下,再进行删除,这样就算需要恢复也可以用备份进行恢复;如果删除时候没有做相关备份,在删除之前一定

要先查下系统当前scn,并且验证出数据在哪个scn点的时候还是存在的(这点很重要,如果没有找到,就无法恢

复删除的数据)恢复的时候就基于这个scn点的恢复。

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

oracle数据库误删数据恢复方法

1、查询过去某指定时间点数据库表中的数据(不需要开启闪回) select * from 表名 AS OF TIMESTAMP TO_TIMESTAMP('2017-05-01','yyyy-mm-dd...

oracle数据库删除数据Delete语句和Truncate语句的对比

当表中的数据不需要时,则应该删除该数据并释放所占用的空间,删除表中的数据可以使用Delete语句或者Truncate语句,下面分别介绍。 一、delete语句 (1)有条件删除    语法格式:delete [from]  table_name  [where condition]; 如:删除users表中的userid为‘001’的数据:delete from users where user

欢迎关注CSDN程序人生公众号

关注程序员生活,汇聚开发轶事。

oracle数据库delete删除数据恢复的方法

本文我是在论坛上看过收集整理测试过。  SCN(系统改变号),它的英文全拼为:System Change Number ,它是数据库中非常重要的一个数据结构。   SCN提供了Oracle的内部时...

oracle database link、数据库的数据恢复及导入/导出

1、database link create public database link remote_02 connect to scott identified by "tiger" using 'localhost:1521/orcl'; create or replace public synonym syn_emp1 for emp@remote_02; select * from syn_emp1; 2、数据的恢复 复制一个表用于测试:create table emp1 as select * from emp; 进行删除操作:delete from emp1 whe

系统重装后,oracle数据库中数据快速恢复

系统重装后,oracle数据库中数据快速恢复

oracle执行delete,数据恢复

        经常不小心执行delete删除语句,如何恢复数据,表查询闪回机制;所有操作必须以sys用户身份;   select * from sys.

恢复oracle数据库表、表中数据被误删的操作

create table batchinfo_bak as select * from batchinfo; select * from batchinfo_bak;---原始表 drop tab...

Oracle数据恢复、数据库恢复、灾难恢复专题

值此数据安全的多难之冬,转录之前整理的一个系列专题。 <div class="asset-copyright" style="colo
  • wsql
  • wsql
  • 2011-12-22 16:54
  • 325

Oracle数据库一些简单的数据恢复

SELECT DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER FROM DUAL 结果: 156494485 SELECT * FROM HSE_PPE_FHPK...

LINUX下误删除Oracle数据库,数据恢复技术方案

在LINUX下的Ext3/Ext4文件系统下,如果误删除了数据,数据恢复难度很大。如果说删除的文件数量不大(一般在几百个文件以内),还能够通过.journal日志文件对比残留的inode信息进行恢复,恢复出来的数据目录结构不一定能保留完整;如果删除文件数量很大,数据恢复几乎不能完整保留文件目录结构。这是Ext3/Ext4文件系统的通病,不给误删除留后路!在数据恢复业案例中,有不少例子是LINUX下误删除了ORACLE数据库文件,我今天来讲讲Linux下删除Oracle数据库的数据
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)