ORACLE 误删除数据恢复】的更多相关文章

select * from tablename as of timestamp to_timestamp('2018-05-04 13:30:00','yyyy-MM-dd hh24:mi:ss') 查询这个时间点的数据 (有可能因为系统时间和数据库时间不一致查不出数据 所以先查询数据库的时间 select  to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual 按照这个时间为准,找到数据删除时间之前的数据) 找到数据可以导出为Excel ,怎么恢…
发现误删除时需要及时处理,速度要快,姿势要帅.晚了就恢复不了额 1.查询时间 以确保恢复到某个时间点 select SQL_TEXT, LAST_ACTIVE_TIME from v$sqlarea where LAST_ACTIVE_TIME > to_date('删除数据的大约时间', 'yyyymmdd hh24:mi:ss') and SQL_TEXT like '%表名%'; --此处请用like!!! 2.插入误删除的数据 INSERT INTO 表名 select * from 表…
首先通过如下SQL语句找到执行删除的LAST_ACTIVE_TIME.即找到具体的删除时间. select SQL_TEXT,LAST_ACTIVE_TIME from v$sqlarea where LAST_ACTIVE_TIME >to_date('删除数据的大约时间','yyyymmdd hh24:mi:ss') and SQL_TEXT like '%表名%'; 再通过如下SQL语句恢复. INSERT INTO 表名select * from 表名 AS OF TIMESTAMP t…
Oracle误删除表数据后的恢复具体解释 測试环境: SYSTEM:IBM AIX 5L                         Oracle Version:10gR2 1. undo_retention參数的查询与改动 使用show parameter undo命令查看当前的数据库參数undo_retention设置. 显演示样例如以下: SQL> show parameter undo NAME                                 TYPE       …
一.启用行移动功能 alter table table_name enable row movement ; 二.可查询之前某一个时间点的数据(默认是1440分钟,即24小时内的数据) select * from table_name as of timestamp to_timestamp('2019-07-01 12:00:00','yyyy-mm-dd hh24:mi:ss') ; 三.恢复数据 flashback table table_name to timestamp to_time…
学习数据库时,我们只是以学习的态度,考虑如何使用数据库命令语句,并未想过工作中,如果误操作一下,都可能导致无可挽回的损失.当我在工作中真正遇到这些问题时,我开始寻找答案. 今天主要以oracle数据库为例,介绍关于表中数据删除的解决办法.(不考虑全库备份和利用归档日志)删除表中数据有三种方法:·delete(删除一条记录)·drop或truncate删除表格中数据 1.delete误删除的解决方法原理: 利用oracle提供的闪回方法,如果在删除数据后还没做大量的操作(只要保证被删除数据的块没被…
来源:原创网站北京北亚数据恢复中心,转载须注明出处. 学习数据库时,我们只是以学习的态度,考虑如何使用数据库命令语句,并未想过工作中,如果误操作一下,都可能导致无可挽回的损失.当我在工作中真正遇到这些问题时,我开始寻找答案. 今天主要以oracle数据库为例,介绍关于表中数据删除的解决办法.(不考虑全库备份和利用归档日志) 删除表中数据有三种方法:·delete(删除一条记录)·drop或truncate删除表格中数据 1.delete误删除的解决方法原理: 利用oracle提供的闪回方法,如果…
在数据库运维中,总会遇到一些粗心大意的DBA,一不小心删除一些东西,这里举例讲解在误删除ASM磁盘之后,如果用KFED工具进行恢复: [grid@RAC1 ~]$ sqlplus / as sysasm SQL Production :: Copyright (c) , , Oracle. All rights reserved. Connected to: Oracle - 64bit Production With the Real Application Clusters and Auto…
/* 11g的flashbackup 分好几种,分别用途不一样. A.flashback database 闪回数据库,简单理解就是把数据库闪回到某个以前的时间点, 能恢复到的最早的SCN, 取决与Flashback Log中记录的最早SCN B.flashback drop 回收数据库表,用于表误drop后恢复.类似Windows的回收站. C.flashback query 闪回表记录,用于数据表记录的恢复 D.falshabck Table 闪回数据库表, 后两个是重点,下面说明. */…
在工作中我们操作数据库的时候经常会发生一个不该发生的问题:用户意外的删除一个非常重要的表或者是表中的数据而且没有备份,需要尽快的恢复,以下就是解决的办法: 主要是利用Oracle回收站的闪回特性oracle 回收站recyclebin是10g才有的新特性,当我们drop table cube_scope [purge]时,如果不指定purge时,系统只是将这个表重命名为BIN$开头的名称,并在数据字典中修改了相关数据,表所占用的物理空间并没有真正的回收,此时所占用的空间还是原来的表空间,当表空间…
对于误删除表空间的恢复,本文通过基于数据库的时间点恢复和基于表空间的时间点恢复分别加以讨论 一 通过基于数据库的时间点恢复被误删除的表空间 1 需要注意的事项 a 基于数据库的时间点恢复将会回退整个数据库. b 误删除表空间,当数据库有之前可用于恢复的全库备份和相关归档,如果对数据库执行不完全恢复,恢复该数据库到删除表空间之前的状态,便可恢复误删除的表空间.但实际上当我们删除表空间,数据库备份中将不存在关于该表空间的的信息,直接进行恢复将会出现问题.如下所示: RMAN> list backup…
这几天在帮朋友作数据恢复,由于已经到了无可救药的地步,只能使用终极手段进行恢复,直接从文件中读取数据进行恢复. 在恢复过程中反复对比了DUL和dcba的AUL,感觉到了两者的不同. DUL在处理文件损坏的情况下,如文件部分缺失.数据块损坏的恢复明显要弱于AUL,AUL经过几次修正之后已经能够很好的处理这些情况. DUL无法跳过文件的损坏部分(也许是我不知道),在扫描文件时大量的错误信息让人崩溃:而AUL可以很容易的安静地处理这些损坏. 在处理LOB对象时,我做过测试AUL在存在SYSTEM的情况…
在误删除Oracle的数据文件后,如果未关闭数据库,文件句柄还没有释放,且被删除的数据文件占用的磁盘块未被复写,则可以利用句柄的方式来恢复数据文件.下面模拟恢复过程. (一)环境 OS版本:redhat 6.6 数据库版本:Oracle 11.2.0.1 (二)恢复操作 首先,模拟误删除数据库的数据文件.这里删除表空间TBS04下面的数据文件tbs04.bdf: 这个时候绝对不能关闭数据库,一旦关闭数据库,则无法恢复. 删除后查看DBWN进程,进程号为3032 进入这个进程的目录,可以看到我们删…
工作中一不小心将本不该删除/更新/插入的数据进行删除/更新/插入了,这时候一定要尽快进行恢复. 工具/原料   PL/SQL 方法/步骤     首先新建一张测试表TEST,里面输入记录.由于删除/更新/插入恢复步骤相同,本经验仅演示删除数据的情况.   删除其中1条记录,查看表中记录情况,由下图可见,记录2被删除了.   恢复之前我们先确定我们要恢复到的时间点,下图可以看出2018-03-07 15:33:00数据是正确的. SELECT * FROM TEST AS OF TIMESTAMP…
1.根据时间点查系统版本号scn: select timestamp_to_scn(to_timestamp('2013-01-07 11:20:00','YYYY-MM-DD HH:MI:SS')) from dual 2.查看被误删数据的表scn时间点的数据是否要恢复的数据:select count(*) from ct_sal_orderToSaleIssue  as of scn 44482681 3.创建临时保存数据的表:create table temp1 as select * f…
1.使用 dba_views 回退到特定时间段,查看定义 select view_name,text from (select * From dba_views AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '5' hour-INTERVAL '35' minute) ) where view_name='VP_TASKCLASS_INFO'; 注意,这里必须要有DBA的权限 2.TEXT 是Long 类型,在SQLPLUS 里边要先设置下 SQL> set l…
分为两种方法:scn和时间戳两种方法恢复. 一.通过scn恢复删除且已提交的数据 1.获得当前数据库的scn号 select current_scn from v$database; (切换到sys用户或system用户查询) 查询到的scn号为:1499223 2.查询当前scn号之前的scn select * from 表名 as of scn 1499220; (确定删除的数据是否存在,如果存在,则恢复数据:如果不是,则继续缩小scn号) 3.恢复删除且已提交的数据 flashback t…
create table first_fill_20151207 as -- 生成到临时表select * from first_fillas of timestamp to_timestamp('2015-12-07 07:00:00', 'YYYY-MM-DD HH:MI:SS') ; 分为两种方法:scn和时间戳两种方法恢复. 一.通过scn恢复删除且已提交的数据 1.获得当前数据库的scn号 select current_scn from v$database; (切换到sys用户或sy…
ALTER TABLE TA_申请材料表 ENABLE row movement ; flashback table TA_申请材料表 to timestamp to_timestamp('2019-04-08 09:40:00', 'yyyy-mm-dd hh24:mi:ss');…
select * from sh_gonghuo_renyuan as of timestamp to_timestamp('2017-11-17 16:00:00','yyyy-mm-dd hh24:mi:ss'); --3.恢复删除且已提交的数据 alter table sh_gonghuo_renyuan enable row movement; --flashback table sh_gonghuo_renyuan to timestamp to_timestamp('2017-11-…
select *  from taxi_comp_worksheet_ext   as of timestamp to_timestamp('2014-09-22 13:00:00', 'yyyy-mm-dd hh24:mi:ss')  where stype=3 ;…
/*1.FLASHBACK QUERY*/ --闪回到15分钟前 select *  from orders  as of timestamp (systimestamp - interval ''15'' minute)  where ...... 这里可以使用DAY.SECOND.MONTH替换minute,例如: SELECT * FROM orders AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL ''2'' DAY) --闪回到某个时间点 select…
select * from LFS_WELFAxxxxxASTDAYS AS OF TIMESTAMP  (SYSTIMESTAMP - INTERVAL '100' MINUTE) order by ddatetime desc /*1.FLASHBACK QUERY*/ --闪回到15分钟前select * from orders as of timestamp (systimestamp - interval ''15'' minute) where ......这里可以使用DAY.SEC…
今天无意中在网上看到了关于oracle误删除数据恢复的一条信息,发现的确很好使,下面就我的测试向大家汇报下. 1. select * from t_viradsl2 t         //查询t_viradsl2中所有的数据,可以看到三条数据 2. delete t_viradsl2                      //删除t_viradsl2中所有的数据,三条数据消失 3. select * from t_viradsl2 t         //无数据. 4. insert in…
在AIX环境下,若因维护误操作.存储mapping错误等,不小心将LV误删除,这种损失通常是巨大的.删除后的不当保护及恢复操作可能使数据无法恢复,也可能增加处理的时间与算法复杂度.如何有效保护现场,并选择正确的数据恢复方案是非常重要的. AIX的存储层有太多文章描述,做为铺垫,简要描述一下.PV相当于物理磁盘(对于存储,是存储映射过来的卷,对于操作系统而言,等同于物理硬盘),若干个PV组成一个VG,意味着可以将容量不同的存储空间合起来统一分配.为了实现这个目的,AIX把同一个VG的所有PV按相同…
一.pl/sql(Procedure Language/SQL)编程语言 1.概念 PL/SQL是Oracle数据库对SQL语句的扩展.在普通SQL语句的使用上增加了编程语言的特点,所以PL/SQL把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑判断.循环等操作实现复杂的功能或者计算.PL/SQL 只有 Oracle 数据库有. MySQL 目前不支持 PL/SQL 的. 2.变量和常量 声明普通变量:     v_name varchar2(30) := 'tom';  (:…
[原文]:http://blog.chinaunix.net/uid-23886490-id-3565998.html 一.安装前准备 1.内存及swap要求 至于swap如何添加,后文将提到 grep MemTotal /proc/meminfo grep SwapTotal /proc/meminfo 2.硬盘空间 3.修改主机名,及ip对应关系 --设置主机名,也可以直接修改配置文件/etc/sysconfig/network,不过这个是重启之后才起作用 #sed -i "s/HOSTNA…
使用oradebug修改数据库scn – 提供专业ORACLE技术咨询和支持@Phone13429648788 - 惜分飞 Solaris上使用DTrace进行动态跟踪 老熊的三分地-Oracle及数据恢复 » Oracle Internal研究 Unix-Linux Open Source freeware applications for Sun Solaris Sun Cluster 安装步骤_lovegqin-ChinaUnix博客 迪奥思宇 研究用操作系统_免费高速下载百度云 2015…
使用oradebug修改数据库scn – 提供专业ORACLE技术咨询和支持@Phone13429648788 - 惜分飞 Solaris上使用DTrace进行动态跟踪 老熊的三分地-Oracle及数据恢复 » Oracle Internal研究 Unix-Linux Open Source freeware applications for Sun Solaris Sun Cluster 安装步骤_lovegqin-ChinaUnix博客 迪奥思宇 研究用操作系统_免费高速下载百度云 2015…
Oracle按不同时间分组统计 Oracle按不同时间分组统计的sql 如下表table1: 日期(exportDate) 数量(amount) -------------- ----------- 14-2月 -08 20 10-3月 -08 2 14-4月 -08 6 14-6月 -08 75 24-10月-09 23 14-11月-09 45 04-8月 -10 5 04-9月 -10 44 04-10月-10 88 注意:为了显示更直观,如下查询已皆按相应分组排序 1.按年份分组 sel…