客户叫我删除掉一条记录,说因为流程走错了,给我发过来一串很长的中文,说把这个名称的记录删掉。
我直接用PL/SQL操作数据库,根据名字相等搜索,没有记录。因为这些记录的名称都是很相似的,都是类似于“关于下发2012年第一季度“畅享移动福生活”数据业务整合营销活动细则的通知……”之类,于是用like搜索,才出来一条记录,我也没注意看,直接就删了。
然后我登陆系统,进行查询,发现那条记录还在,把正常的记录给删了,而且被删的这条记录关联的流程还在审批中的。
马上想到数据恢复,Google一下Oracle数据恢复的,找到了OracleFlashback。网上资料说Oracle 10g以上的版本支持Flashback,心里有了希望,因为我的系统用的就是Oracle 10g。
不多说,立马按照教程操作。
1、执行 alter table table_name enable row movement;
2、执行 FlashBack table table_name to timestamp to_timestamp('2012-05-24 14:59:36','yyyy-mm-dd hh24:mi:ss');
看着这两条语句执行完毕,立马进行搜索!Thanks,刚被删除的那条记录恢复了!
写下此文,加深印象,以后操作数据库更加要小心翼翼了!
关于Oracle Flashback的相关知识以后时间再研究一下。上述SQL语句中的table_name是指要恢复数据的表,timestamp to_timestamp('2012-05-24 14:59:36','yyyy-mm-dd hh24:mi:ss')这个应该是指要恢复到某个时间。
看了sumsen的回复,如果直接使用上面的语句,是有可能会出现问题的。因为是恢复到某个时间点的数据,那在时间点之后插入的数据就会被覆盖掉。除非能保证在时间点之后没有新的数据插入到表中。
比较合理的方法是先从闪回区查找出被误删的数据,再将被误删的数据插入到原来的表中。
1、执行 select * from A as of timestamp sysdate-10/1440;
该SQL语会查找出距离现在10分钟之前A表的所有数据。
sysdate-10/1440表示距离现在10分钟之前,1440这个数字表示一天有1440分钟。
如果不写距离时间,SQL语句可写成:select * from A as of timestamp sysdate;表示查找出到现在为止A表中的所有数据。
2、从以上查找出的数据中找出被误删的数据,再插入到原来的表中就可以了。
分享到:
相关推荐
当表被DROP后,如果没有立即被其他数据覆盖,Oracle会将其放置在**回收站**(Recycle Bin)中,这使得用户可以在一定时间内恢复被删除的表。 #### 三、误删除数据的具体恢复方法 ##### 3.1 DELETE误删除的恢复方法 ...
本文将详细介绍如何通过`.frm`和`.ibd`文件来恢复已删除的MySQL数据库,主要包括三个关键步骤:恢复数据库文件、恢复表结构和恢复表数据。 1. **恢复 mas2020 数据库文件** 当数据库被误删时,首先要通过文件恢复...
Oracle 数据库是一个广泛使用的事务处理系统,其强大的功能包括数据恢复机制,这在数据误删的情况下显得尤为重要。本文将深入探讨如何在 Oracle 10g 中找回被误删的数据,主要涉及 SCNs(系统改变号)的概念及其在...
【电脑知识误删资料恢复】 当你不小心误删了文件,并清空了回收站,不要惊慌,...对于数据误删的问题,一定要记住,及时恢复是关键,而且尽量避免在删除后进行磁盘清理或写入新的数据,以免原有数据被覆盖,无法恢复。
在IT领域,误删资料恢复是一项关键技能,尤其是在数据安全和数据管理方面。无论是个人用户还是企业级应用,数据丢失都是一个令人头疼的问题,而掌握正确的恢复方法则能极大减轻这种损失。根据提供的标题、描述、标签...
如果数据表被误删,恢复过程通常分为以下几步: 1. **检查自动备份**:如果您的Access数据库配置了自动备份,那么最简单的方法就是从最近的备份中恢复。Access允许设置定时备份,确保在关键时刻有可用的备份文件。 ...
- **及时性**:删除后越早使用工具,恢复的成功率越高,因为新的写入操作可能会覆盖已被删除的数据。 - **谨慎操作**:在实际恢复之前,先在测试环境中进行尝试,避免进一步的数据损坏。 通过了解和使用"MSSQL误...
1. **识别问题**:首先,确定哪个数据文件被误删,这通常通过查看数据库错误日志或通过`SQL`查询`V$DATAFILE`视图来实现。 2. **备份检查**:检查最近的数据库备份,包括全备和增量备份,看是否包含被删除的数据...
2. **执行Flashback Table**:如果通过AS OF SCN查询发现数据依然存在,那么可以进一步使用Flashback Table来恢复整个表到误删操作之前的状态: ```sql FLASHBACK TABLE <表名> TO SCN 91799980; ``` 这条命令...
对于SQL Server这样的关系型数据库管理系统而言,一旦发生误删情况,如何有效地恢复数据成为了一个亟需解决的问题。本文将详细介绍几种恢复错误删除SQL数据的方法。 #### 一、使用事务日志恢复 事务日志是SQL ...
如果用户误删/更新了数据后,作为用户并没有什么直接的方法来进行恢复,他们必须求助DBA来对数据库进行恢复,到了Oracle9i,这一个难堪局面有所改善。Or(www.jb51.net)acle 9i中提供了一项新的技术手段–闪回查询,...
这导致了自增ID的重置,就像表被清空后重新创建一样。在本例中,由于`TRUNCATE`操作,表`tb_wubx`的自增ID从1开始,丢失了先前插入的数据。 恢复数据的关键在于有可用的备份和二进制日志(`BINLOG`)。在这个例子中...
MySQL数据库在日常管理中,由于各种原因,如误...在出现误操作时,及时停止所有写入操作,然后按照上述步骤进行恢复,可以最大程度地减少数据损失。因此,熟悉这些恢复方法对于任何数据库管理员来说都是至关重要的。
项目完成后,为了确保在生产环境中发生数据丢失或重大故障时能够及时恢复业务,技术支持团队编写了这份HDB DR系统数据恢复教程。该教程的目标是指导用户如何使用HDB Studio工具在DR系统中恢复生产系统的数据,尤其是...
当用户误删了重要文件,如工作文档、照片、视频或者数据库,这些软件能够扫描硬盘上的碎片信息,尝试重建已删除文件的结构,从而实现数据的恢复。这是一个极具实用性的功能,因为有时候我们可能没有及时备份就丢失了...
一旦数据库被成功恢复,建议进行定期的数据备份,并检查硬件设备的状态,以避免将来发生类似的问题。同时,合理配置数据库,定期检查和优化事务日志文件,也是维护数据库稳定运行的重要措施。对于数据库管理员而言,...
总的来说,SQL数据库的误删恢复是一项复杂的工作,需要对数据库原理、SQL Server管理和数据恢复技术有深入理解。平时应注重数据备份和监控,以减少数据丢失的风险,而在灾难发生时,及时采取正确的方法和工具进行...
2. **错误删除的影响**:一旦表空间文件被误删除,数据库可能无法正常启动,因为缺少必要的数据文件。这将导致相关数据对象不可访问,甚至可能导致整个数据库瘫痪。 3. **立即行动**:一旦发现文件被误删,应立即...
在执行恢复前,最好备份现有的e-cology数据库,以防万一出现意外情况可以及时恢复。 4. **readme.txt**:这个文件很可能是工具的使用指南或者注意事项,包含如何安装、运行工具以及可能出现的问题和解决办法。在使用...
- **互依数据库同步备份**:在没有跨数据库数据修改活动时,应同时备份互依数据库,确保数据一致性。 #### 五、特殊情况下的备份策略 - **数据库升级后的备份**:升级数据库后,应立即进行备份,以确保新版本兼容...