精华内容
下载资源
问答
  • oracle删除表恢复

    2015-01-25 11:47:19
    oracle 被误删除了就可以用这种方法进行恢复了!
  • oracle 数据删除恢复还原

    千次阅读 2018-03-19 19:24:29
    oracle 数据库数据还原

    ##数据库表还原到某时间点

    还原语句

    使用如下sql语句就可以还原整张表格数据到某个时间点,前提条件:该表的表格式没有变动(如:字段的修改等)

    ALTER TABLE 表名 ENABLE ROW MOVEMENT;
    FLASHBACK TABLE 表名 TO TIMESTAMP TO_TIMESTAMP('2018-02-27 09:00:00', 'yyyy-mm-dd hh24:mi:ss');
    
    • 测试基础数据
    create table DEMO
    (
      id        VARCHAR2(10) not null,
      dsc       VARCHAR2(100),
      pid       VARCHAR2(10),
      is_delete NUMBER default 0 not null,
      sal       NUMBER
    );
    
    insert into demo (ID, DSC, PID, IS_DELETE, SAL)
    values ('00013', '河南', '00001', 0, null);
    insert into demo (ID, DSC, PID, IS_DELETE, SAL)
    values ('00022', '香港', '0001', 0, 10);
    insert into demo (ID, DSC, PID, IS_DELETE, SAL)
    values ('00001', '中国', '-1', 0, null);
    insert into demo (ID, DSC, PID, IS_DELETE, SAL)
    values ('00011', '陕西', '00001', 0, 400);
    insert into demo (ID, DSC, PID, IS_DELETE, SAL)
    values ('00012', '贵州', '00001', 0, 11);
    insert into demo (ID, DSC, PID, IS_DELETE, SAL)
    values ('00111', '西安', '00011', 0, null);
    insert into demo (ID, DSC, PID, IS_DELETE, SAL)
    values ('00112', '咸阳', '00011', 0, null);
    insert into demo (ID, DSC, PID, IS_DELETE, SAL)
    values ('00113', '延安', '00011', 0, null);
    commit;
    

    以下两种还原表数据方式,可以正对于某个特点条件下删除的数据恢复

    1. select…as of timestamp

    --1.删除id为'00013'的这条数据
    DELETE FROM demo de WHERE de.id = '00013';
    COMMIT;
    --查询是10分钟前id为'00013'的这条数据
    SELECT * FROM demo AS OF TIMESTAMP SYSDATE-10/1440 WHERE ID = '00013';
    --插入刚才删除id为'00013'的这条数据
    INSERT INTO demo SELECT * FROM demo AS OF TIMESTAMP SYSDATE-10/1440 WHERE id = '00013';
    commit;
    
    • 注解说明

      SYSDATE-10/1440
      SYSDATE-10/1440是啥意思,1440又是怎么来的?

      首先60(分)×24=1440,这样就计算出一天拥有多少分钟,SYSDATE是系统函数,用来取得当前的系统时间(以天为单位),SYSDATE-10/1440,得出的就是距当前时间10分钟前的记录了

    2. select…as of scn

    --该语句获取scn值2948488
    SELECT DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER FROM dual;
    SELECT * FROM demo de WHERE de.id = '00013';
    --1.删除id为'00013'的这条数据
    DELETE FROM demo de WHERE de.id = '00013';
    COMMIT;
    
    --查询是scn值为2948488时 表中id为'00013'的这条数据
    SELECT * FROM demo AS OF SCN 2948488 WHERE id = '00013';
    
    --插入刚才删除id为'00013'的这条数据
    INSERT INTO demo SELECT * FROM demo AS OF SCN 2948488 WHERE id = '00013';
    COMMIT;
    
    • 注解说明

      SCN 2884883
      SCN 2884883是啥意思呢? 2884883是怎么来的?

      既然是基于SCN的查询,我们首先就需要得到SCN,这里我们通过DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER函数来获取Oracle当前的SCN,之后再执行数据的修改操作。
      如何获取Oracle数据库当前的SCN?获取当前SCN的方式非常多,除了使用DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER函数外,也可以通过查询V$DATABASE视图中的CURRENT_SCN列获取。不过,不管是通过查询视图,或是通过过程获取,操作的用户都必须拥有要操作对象的访问权限。
      SELECT DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER FROM dual;


    • 转换说明
      在Oracle数据库中也可以手动进行时间和SCN的相互转换,Oracle提供了两个函数SCN_TO_TIMESTAMP和 TIMESTAMP_TO_SCN专门干这个
    SELECT timestamp_to_scn(SYSDATE) FROM dual ;
    	SELECT to_char(scn_to_timestamp(2884883),'yyyy-mm-dd hh:mm:ss') FROM dual;	
    
    展开全文
  • DataGrip oracle 数据恢复

    千次阅读 2019-02-20 09:54:38
    DataGrip oracle 回复数据 1.select * from 表名 as of timestamp TO_TIMESTAMP('删除数据的时间', 'yyyy-mm-dd hh24:mi:ss'); 2.alter table 表名 enable row movement; 3.flashback table 表名 to timestamp TO_...

    DataGrip oracle 表数据恢复

    1.select * from 表名 as of timestamp TO_TIMESTAMP('删除数据的时间', 'yyyy-mm-dd hh24:mi:ss');
    2.alter table 表名 enable row movement;
    3.flashback table 表名 to timestamp TO_TIMESTAMP('删除数据的时间', 'yyyy-mm-dd hh24:mi:ss');
    4.右键 rowback
    
    展开全文
  • oracle 恢复表数据

    2013-02-03 21:53:09
    oracle 恢复表数据 可以恢复刚删除的数据
  • ORACLE恢复删除表记录

    千次阅读 2017-11-10 15:39:45
    ORACLE恢复删除表记录 一:恢复 对误删的,只要没有使用PURGE永久删除选项,那么从FLASHBACK TABLE区恢复回来希望是挺大的。一般步骤有: 1、从FLASHBACK TABLE里查询被删除 SELECT * ...
    ORACLE恢复删除表或表记录 
    

    一:表的恢复
    对误删的表,只要没有使用PURGE永久删除选项,那么从FLASHBACK TABLE区恢复回来希望是挺大的。一般步骤有:
    1、从FLASHBACK TABLE里查询被删除的表

    SELECT * FROM RECYCLEBIN ORDER BY DROPTIME DESC

    2.执行表的恢复  

    FLASHBACK TABLE TABLE_NAME TO BEFORE DROP;

    二:表数据恢复

    对误删的表记录,只要没有 TRUNCATE 语句,就可以根据事务的提交时间进行选择恢复,一般步骤有:
    1、先从 FLASHBACK_TRANSACTION_QUERY 视图里查询,视图提供了供查询用的表名称、事务提交时间、UNDO_SQL等字段。

    SELECT * FROM FLASHBACK_TRANSACTION_QUERY WHERE TABLE_NAME='TEST';

    2、执行表记录恢复
    一般先根据时间进行查询,查询语句模式为

    SELECT * FROM TABLE_NAME AS OF TIMESTAMP TO_TIMESTAMP(time,'yyyy-mm-dd hh24:mi:ss'); --time指某个时间点
    如:
    SELECT * FROM SCOTT.TEST AS OF TIMESTAMP TO_TIMESTAMP('2009-12-11 20:53:57','yyyy-mm-dd hh24:mi:ss');

    若有数据,恢复极为简单了,语句为

    FLASHBACK TABLE TABLE_NAME TO TIMESTAMP TO_TIMESTAMP(TIME,'yyyy-mm-dd hh24:mi:ss'); 
    如:
    FLASHBACK TABLE SCOTT.TEST TO TIMESTAMP TO_TIMESTAMP('2009-12-11 20:47:30','yyyy-mm-dd hh24:mi:ss');

    注意:

    ALTER TABLE TABLE_NAME ENABLE ROW MOVEMENT;

    这个命令的作用是,允许Oracle 修改分配给行的rowid。
    在Oracle 中,插入一行时就会为它分配一个rowid,而且这一行永远拥有这个rowid。
    闪回表处理会对EMP 完成DELETE,并且重新插入行,这样就会为这些行分配一个新的rowid。
    要支持闪回就必须允许Oracle 执行这个操作

    展开全文
  • 您可能感兴趣的文章:Oracle删除表数据后的数据恢复详解Oracle7.X 回滚空间数据文件误删除处理方法Oracle7.X 回滚空间数据文件误删除处理方法Oracle7.X 回滚空间数据文件误删除处理方法误删除$ORACLE_HOME/...
  • Oracle从回收站恢复删除的数据,以及其他sql优化语句
  • 主要介绍了Oracle删除表数据后的数据恢复详解,需要的朋友可以参考下
  • 原文链接:oracle数据库误删除恢复办法
    展开全文
  • 1.oracle删除表恢复(回收站)

    千次阅读 2018-09-26 16:46:53
    oracle10g开始,使用drop/truncate命令删除表(没有purge),不会直接删除,而是被放到回收站,当空间出现短缺时,才会逐渐回收这部分空间,可以从回收站恢复; 2.步骤 2.1.查看回收站 select * from user_...
  • oracle表数据还原和恢复

    千次阅读 2016-11-15 17:41:28
     对误删的,只要没有使用PURGE永久删除选项,那么从flash back区恢复回来希望是挺大的。一般步骤有: 1、从flash back里查询被删除  select * from recyclebin 2.执行恢复  flashback ...
  • Oracle删除表从回收站恢复

    千次阅读 2018-05-05 00:26:53
    想起来很郁闷的一件事,昨天快下班的时候,登了两个用户,由于用户切换错了,Drop掉了所有的。...解决方案: 查询当前用户删除的在回收站的数据: select * from user_recyclebin where type='TABLE' order b...
  • 当误操作将空间删除怎样恢复,本文简述了操作方法
  • oracle中关于的所有操作(创建删除表,修改结构,创建约束,操作数据,增改查等)
  • Oracle表数据被删除后的恢复

    千次阅读 2012-02-27 18:42:39
    Oracle数据库使用过程中,会存在中数据被误删除的情况,如果被删除的数据有备份,则可从备份中获取,若数据被删除至发现被删除期间没有进行备份,则可使用Oracle闪回技术进行数据恢复(适用于短时间内被删除的...
  • Oracle 数据恢复 1. 表恢复 对误删的,只要没有使用 purge 永久删除选项,那么基本上是能从 flashback table 区恢复回来的。 数据和其中的数据都是可以恢复回来的,记得 flashback table 是从 Oralce 10g ...
  • oracle恢复删除记录的方法

    千次阅读 2010-11-08 19:26:00
    oracle恢复删除记录的方法文章分类:数据库一:恢复 对误删的,只要没有使用PURGE永久删除选项,那么从flash back区恢复回来希望是挺大的。一般步骤有:1、从flash back里查询被删除 select * ...
  • Oracle恢复删除表&彻底删除表方式

    千次阅读 2018-08-02 16:53:00
    概述: 工作过程中,会出现误删表的情况,这时,...语句可以实现恢复表的功能。 如果想要完全删除,在最后增加purge即可。 drop table CELL_SIGN_PD_LIST_ZQ purge; 接下来,我们通过实验的方式进行验证理解...
  • 恢复oracle中用pl_sql删除
  • 关于Oracle 12.2 如何在PDB级别进行flashback闪回本文主要讨论Oracle 12.2如何给PDB建立恢复点并进行PDB级闪回。   方法步骤(适用Oracle Oracle 12.2.0.1及之后版本) 1. 在PDB级别建立恢复点(restore point)...
  • Oracle恢复删除数据

    2011-04-22 16:48:17
    Oracle恢复删除数据 Oracle恢复删除数据 Oracle恢复删除数据
  • 以前只用过恢复删除表数据的回复,今天同学问我表删除了怎么回复,我想空间都没有了怎么还能回复,于是在网上搜索了一下,没有想到它有一个回收站功能,居然能回复过来。 比如有以下误操作: DROP TABLE ...
  • oracle删除表的几种恢复方法

    万次阅读 2018-03-16 10:25:50
    删除数据的时候不小心,把delete语句执行错了,把别的给delete,而且还执行了commit!那么如何进行恢复呢,下面介绍几种恢复方法。第一种:1.打开Flash存储的权限ALTER TABLE tableName ENABLE row movement ;2....
  • create TABLESPACE TBS_URP datafile 'E:\oracle\product\10.2.0\oradata\edpcults\tbs_urp.dbf' size 1024m reuse;
  • oracle恢复删除数据

    千次阅读 2018-10-09 16:00:25
    一、通过scn恢复删除且已提交的数据  1、获得当前数据库的scn号  select current_scn from v$database; (切换到sys用户或system用户查询)   查询到的scn号为:1499223  2、查询当前scn号之前的scn  ...
  • oracle中如何恢复误删的 1.先从flash back里查询被删除(drop删除的) select * from recyclebin; 2.执行恢复 flashback table tableName(要恢复的表名) to before drop; 3.这时候应该是恢复了 注意...
  • oracle 数据恢复

    2012-07-31 17:16:47
    oracle 数据恢复恢复oracle删除表的数据方法,利用oracle闪回技术恢复,误删数据库的数据
  • Oracle数据库恢复表以及表数据

    千次阅读 2017-11-17 18:34:36
    一、回复Drop掉的单个: 1、首先利用下面的语句,查看Drop掉的表名等信息; select object_name,original_name,partition_name,type,ts_name,...2、利用如下语句进行单个恢复: flashback table OA2_OGUSE
  • 如何将勿操作truncate的表恢复回来 由于对于truncate命令没有回滚方法来还原,因此就需要对数据库进行恢复操作以将数据恢复中。 本文中将给出truncate命令后的恢复思路及步骤: RECOVER DATABASE UNTIL TIME ...
  • oracle如何恢复表删除的数据?

    千次阅读 2019-05-24 10:03:08
    1.开启的行移动 sql命令:alter table ...sql命令:select * from 表名 as of timestamp to_timestamp(‘删除时间点’,‘yyyy-mm-dd hh24:mi:ss’); 3.恢复数据 sql命令:flashback 表名 to timestamp to_time...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 391,358
精华内容 156,543
关键字:

oracle表删除了怎么恢复