oracle delete 数据恢复】的更多相关文章

/*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…
实践说明 本文章主要记录在Oracle中,delete和truncate进行数据删除之后,如何进行数据恢复.由于网上对delete和truncate的区别说明较多,此处不过多介绍两者区别. 注:由于环境和版本以及其他因素,本文章中并非最佳解决方法,仅供参考. 实践过程 环境准备 1.在本机准备Oracle bbed执行程序(需要通过指定包编译获取)  delete主要还原工具 2.FY_Recover_Data工具下载(HelloDBA大神作品)truncate主要还原工具 Delete删除恢复…
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');…
/* 11g的flashbackup 分好几种,分别用途不一样. A.flashback database 闪回数据库,简单理解就是把数据库闪回到某个以前的时间点, 能恢复到的最早的SCN, 取决与Flashback Log中记录的最早SCN B.flashback drop 回收数据库表,用于表误drop后恢复.类似Windows的回收站. C.flashback query 闪回表记录,用于数据表记录的恢复 D.falshabck Table 闪回数据库表, 后两个是重点,下面说明. */…
1.SQLserver 版本: select @@version; Microsoft SQL Server 2012 (SP1) - 11.0.3128.0 (X64) Dec 28 2012 20:23:12 Copyright (c) Microsoft Corporation Enterprise Edition: Core-based Licensing (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hy…
oracle官方文档提示:If you had specified DELETE INPUT rather than DELETE ALL INPUT, then RMAN would have only deleted the specific archived redo log files that it backed up. For example, RMAN would delete the logs in /arc_dest1 if these files were used as t…
这几天在帮朋友作数据恢复,由于已经到了无可救药的地步,只能使用终极手段进行恢复,直接从文件中读取数据进行恢复. 在恢复过程中反复对比了DUL和dcba的AUL,感觉到了两者的不同. DUL在处理文件损坏的情况下,如文件部分缺失.数据块损坏的恢复明显要弱于AUL,AUL经过几次修正之后已经能够很好的处理这些情况. DUL无法跳过文件的损坏部分(也许是我不知道),在扫描文件时大量的错误信息让人崩溃:而AUL可以很容易的安静地处理这些损坏. 在处理LOB对象时,我做过测试AUL在存在SYSTEM的情况…
当我们粗心大意直接delete from不加条件而又没有回滚的时候有一个很简单的方法能够将数据恢复到delete之前的状态 第一种方案已经帮助我解决了实际问题.第二种方案暂未实践 在此记录下以便日后查阅 一:根据时间来恢复: 1.查询数据库当前时间(目的是为了检查数据库时间是否与你电脑时间相近,避免时间不同而将数据恢复到错误时间点) select  to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual; 2.查询删除数据时间点之前的数据 selec…
今天遇到一个有意思的案例,一开发同事告诉我他删除一个表的记录非常慢,已经快1个多小时了还没有完成.而且删除的记录只有1百多条.真是大跌眼镜的一件事情.最后发现该表与多个表有外键关联关系(这个表即是主表.又是从表),最后我禁用引用该表的外键约束后.一秒内删除了记录.然后启用外键约束关系.下面记录.分析一下解决过程的思路(下面是在测试环境的记录,数据量不一样). 我去处理这个问题时,首先怀疑可能是SQL的阻塞.触发器.外键约束.高水位线等因素中的某一个导致DELETE操作慢,于是我打算一个一个排除,…
例子1: from table2 b where a.id=b.id) 例子2: rebatepolicy表是主表,rebatepolicyitems是从表,从表有主表的主键,现在对于主表一些条件的数据的对应子表要求删除. 如下方式: delete from rebatepolicyitems rs where exists ( from rebatepolicy r where rs.rebateguid=r.rebateguid ' and r.creator='名字' ) delete f…
语法delete from aa truncate table aa 区别 1.delete from后面可以写条件,truncate不可以. 2.delete from记录是一条条删的,所删除的每行记录都会进日志,而truncate一次性删掉整个页,因此日至里面只记录页释放,简言之,delete from更新日志,truncate基本不,所用的事务日志空间较少. 3.delete from删空表后,会保留一个空的页,truncate在表中不会留有任何页. 4.当使用行锁执行 DELETE 语句…
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 ,怎么恢…
原文地址:http://www.cnblogs.com/simplefrog/archive/2012/07/30/2615169.html 语法delete from aa truncate table aa 区别 1.delete from后面可以写条件,truncate不可以. 2.delete from记录是一条条删的,所删除的每行记录都会进日志,而truncate一次性删掉整个页,因此日至里面只记录页释放,简言之,delete from更新日志,truncate基本不,所用的事务日志空…
语法delete from aa truncate table aa 区别 1.delete from后面可以写条件,truncate不可以. 2.delete from记录是一条条删的,所删除的每行记录都会进日志,而truncate一次性删掉整个页,因此日至里面只记录页释放,简言之,delete from更新日志,truncate基本不,所用的事务日志空间较少. 3.delete from删空表后,会保留一个空的页,truncate在表中不会留有任何页. 4.当使用行锁执行 DELETE 语句…
在用Delete删除数据时,SQL语句首先要通过全表扫描或索引扫描找到符合条件的记录并删除. 然而在这个过程中将消耗大量的CPU资源,I/O资源以及UNDO数据. 如果删除的数据量较大,将极大的影响系统的性能. 弊端: 1 消耗大量的系统资源(CPU,I/O) 2 无法释放删除数据的空间 3 不能降低高水位线…
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…
分为两种方法: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…
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 ;…
首先通过如下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…
Truncate tableTruncate table t1;Ddl语言,自动提交:不能回退:回收范围::挪动高水位线:将所有的数据清除,保留表结构:将表缩的最小:保留表的约束和权限. Drop tableDrop table t1;不释放空间Purge table t1;释放空间 Drop table t1 purge;删除表同时清空回收站 三种回收方式的不同层次…
BEGIN FOR ind IN (SELECT index_name FROM user_indexes WHERE table_name = '') LOOP execute immediate 'DROP INDEX '||ind.index_name; END LOOP;END;/COMMIT;…
发现误删除时需要及时处理,速度要快,姿势要帅.晚了就恢复不了额 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 表…
 1相关术语 语句 含义 操作 DML语句 (Data Manipulation Language) 数据库操作语言 insert update delete select DDL语言 (Date definition Language) 数据库定义语言 create table;create view index sequence synonvm同义词,truncate table DCL语言 (Data control Language) 数据控制语言 commit rollback s…
今天无意中在网上看到了关于oracle误删除数据恢复的一条信息,发现的确很好使,下面就我的测试向大家汇报下. 1. select * from t_viradsl2 t         //查询t_viradsl2中所有的数据,可以看到三条数据 2. delete t_viradsl2                      //删除t_viradsl2中所有的数据,三条数据消失 3. select * from t_viradsl2 t         //无数据. 4. insert in…
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…
工作环境ORACLE 11g 归档日志满了,手动删除出现 ora 异常. 注:工作环境是linux redhat 5 执行命令如下: 1. 进入rman 2. connect target / 3. crosscheck archivelog all; 4. delete expired archivelog all; 执行到最后一步出现异常 RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream…
ORACLE 正确删除归档日志的方法 我们都知道在controlfile中记录着每一个archivelog文件的相关信息,当然们在OS下把这些物理文件delete掉后,在我们的controlfile中仍然记录着这些archivelog文件的相关信息,在oracle的OEM管理器中有可视化的日志展现出,当我们手工清除 archive目录下的文件后,这些记录并没有被我们从controlfile中清除掉,也就是oracle并不知道这些文件已经不存在了,这时候我们要做手工的清除的话,下面我经过实验,可以…
我们都知道在controlfile中记录着每一个archivelog文件的相关信息,当然们在OS下把这些物理文件delete掉后,在我们的controlfile中仍然记录着这些archivelog文件的相关信息,在oracle的OEM管理器中有可视化的日志展现出,当我们手工清除 archive目录下的文件后,这些记录并没有被我们从controlfile中清除掉,也就是oracle并不知道这些文件已经不存在了,这时候我们要做手工的清除的话,下面我经过实验,可以尝试这种方法: 1.进入rman [r…
从接触ORACLE到深入学习,已有好几年了,虽然写的博客不多,质量也参差不齐,但是,它却是成长的历程的点点滴滴的一个见证,见证了我在这条路上的寻寻觅觅,朝圣的心路历程,现在将ORACLE方面的博客整理.归纳分类,方便自己和大家查看.翻阅.  ORACLE数据类型 ORACLE基本数据类型总结 ORACLE VARCHAR2最大长度问题 ORACLE数据库汉字占几个字节问题 ORACLE NUMBER类型Scale为0引发的问题 PL/SQL语法学习 PLSQL 调试触发器 PL/SQL重新编译包…
完全卸载Oracle方法: 软件环境: 1.Windows XP + Oracle 10g 2.Oracle安装路径为:d:\Oracle 1.如果数据库配置了自动存储管理(ASM),应该先删除聚集同步服务CSS(cluster Synchronization Services).删除CSS服务的方法是在DOS命令行中执行如下命令: localconfig delete 2.在“服务”窗口中停止Oracle的所有服务. 3.在“开始”菜单中依次选择“程序”/“Oracle-OraDb10g_ho…