oracle数据库误删除数据恢复(oracle的一个数据表被删除,如何恢复数据,以及查询是谁进行了操作)
本文目录
- oracle的一个数据表被删除,如何恢复数据,以及查询是谁进行了操作
- 误删除了delete oracle中数据表记录,没备份要怎么恢复
- oracle数据库数据删除后如何恢复
- oracle误删数据恢复方法小结
- oracle 如何恢复误删的表记录数据
- oracle怎样恢复删除的数据文件
- Oracle数据库软件删除后数据有办法恢复么
oracle的一个数据表被删除,如何恢复数据,以及查询是谁进行了操作
基于oracle数据文件和控制文件的恢复,只要数据文件还在 就可以利用PRM FOR Oracle工具从中抽取出有用数据。 PRM可以再无备份的情况下恢复被truncated掉的表,也可以恢复无法打开的Oracle数据库(Alter database open失败)中的数据。 PRM是图形化增强版的Oracle DUL工具,同时具备很多Oracle DUL不具备的特性。而且PRM无需学任何新命令。对于误操作DROP TABLE的数据恢复D公司的应用开发人员在ASM存储环境下,在没有任何备份的情况下DROP了系统中一张核心应用表,此时第一时间采用PRM可以恢复该DROP掉数据表的绝大部分数据。10g以后提供了 recyclebin回收站特性,可以首先通过查询DBA_RECYCLEBINS视图来确定被DROP掉的表是否在回收站中,如果在则优先通过回收站flashback to before drop,如果回收站中也没有了,则第一时间使用PRM恢复。 恢复简要流程如下: 首先将被DROP掉的数据表所在的表空间OFFLINE 通过查询数据字典或者LOGMINER找到被DROP掉数据表的DATA_OBJECT_ID,如果此步骤中得不到这个DATA_OBJECT_ID,则需要在NON-DICT非字典模式下 启动PRM,进入NON-DICT非字典模式,并加入被DROP掉数据表所在的表空间的所有数据文件,之后SCAN DATABASE+SCAN TABLE from Extent MAP 通过DATA_OBJECT_ID定位到展开对象树形图中对应的数据表,采用DataBridge模式插回到源数据库中
误删除了delete oracle中数据表记录,没备份要怎么恢复
flashback query闪回查询
尝试使用Oracle 10g 以后的flashback Query特性 闪回查询可以查询若干时间之前的数据
2. logmnr 日志挖掘
使用logminer 日志挖掘 把delete的redo挖出来看有没有 对应的undo回滚SQL可用
3. 使用ORACLE PRM-DUL 工具
Oracle PRM-DUL 工具可以恢复 数据库中表上 被删除的记录,大致流程如下:
对于没有有效物理或逻辑备份的场景,当Oracle中发生delete误操作时 一般会优先考虑使用flashback闪回或logminer日志挖掘等技术来恢复Oracle表中的数据行记录,但很多时候flashback或logminer都无法力挽狂澜。
对于delete操作而言,其对于oracle底层数据块block中的row piece记录一般仅仅是修改其row flag标记为已删除标记,容许后续INSERT的记录覆盖这些被标记为delete的数据,也容许破坏这些delete掉的数据的结构。 换斗做句话说如果delete后没有对表做什么操作的话,直接读取block中的这些被标记为deleted的记录还是有可能读取到完整数据的。
总而言之,是否能恢复这部分delete掉的数据,完全取决于磁盘上oracle block中这部分删除的数据行是否有被最终清理掉。
在被清理掉之前ORACLE PRM-DUL工具都可以尝试把这部分数据恢复出来, 具体步骤与普通的数据字典模式差别很小。
启动PRM-DUL 点击恢复向导 字典模式
加入所有oracle数据文件,不搏销燃需要加入临时文件TEMPFILE、UNDO数据文件、控制文件、日志文件
点击load 按钮,PRM会自动加载数据字典 即bootstrap动作
至此 PRM左侧将出现 树形的对象树,选择你需要恢复的用户下的对应数据表, 右击对象后选择 unload deleted data
PRM-DUL 完成对已删除数据的恢复操作后会将 数据写出到 上图中 File path的位置,基虚 示例的数据恢复情况如下:
oracle数据库数据删除后如何恢复
删除表后,可以采用如下操作:在 user_recyclebin中找到最近操作过的表名称,然后用闪回(只能用于10G及以厅罩上版本)。FLASH BACK TABLE TABLE_NAME TO BEFORE DROP;如果是删了或修改里面的数据,可以先建立一个快表将删除修改之前状态的数据找回到这个扮世闹表返此中:CREATE TABLE QUICK_TABLE ASSELECT * FROM TABLE_NAME AS OF TIMESTAMP SYSTEM-1/24 (一小时前的),减去的时间可以自己定。如楼上F_253那位老兄的写法就不错,能自由定制时间
oracle误删数据恢复方法小结
如果用户误删/更新了数据后,作为用户并没有什么直接的方法来进行恢复,弯帆他们必须求助DBA来对数据库进行恢复,到了Oracle9i,这一个难堪局面有所改善。Or(www.jb51.net)acle9i中提供了一项新的技术手段--闪回查询,用户使用闪回查询可以及时取得误操作前的数据,并可以针对错误进行相应的恢复措施,而这一切都无需DBA干预因为一时手贱,生产上的数据被我给delete掉了。用的是delete语句,然后很迅速的还给commit了下面这两个语句:ALTERTABLEtablenameENABLErowmovement;flashbacktabletablenametotimestampto_timestamp(’2012-09-1313:00:00’,’yyyy-mm-ddhh34:mi:ss’);记得大概是两点半左右运行的delete---commit;具体执行流程我们可从以下几个示例图中体会;1.原表记录$sqlpluseygle/eygleSQL*Plus:Release10.1.0.2.0-ProductiononWedMar3008:52:042005Copyright(c)1982,2004,Oracle.Allrightsreserved.Connectedto:OracleDatabase10gEnterpriseEditionRelease10.1.0.2.0-64bitProductionWiththePartitioning,OLAPandDataMiningoptionsSQL》selectcount(*)fromt1;COUNT(*)----------93182.误删除所有记录并且提交更改。SQL》deletefromt1;9318rowsdeleted.SQL》commit;Commitcomplete.SQL》selectcount(*)fromt1;COUNT(*)----------03.获得当前SCN如果能够确切知道删除之前SCN最好,如果不知道,可以进行闪回查询尝试.SQL》selectdbms_flashback.get_system_change_numberfromdual;GET_SYSTEM_CHANGE_NUMBER------------------------10671006SQL》selectcount(*)fromt1asofscn10671000;COUNT(*)----------0SQL》selectcount(*)fromt1asofscn10670000;COUNT(*)----------9318我们看到在SCN=10670000时,数据都在。4.恢复数据.SQL》insertintot1select*fromt1asofscn10670000;9318rowscreated.SQL》commit;Commitcomplete.SQL》selectcount(*)fromt1;COUNT(*)----------9318其它网友用的教程进行数据库操作,delete后面一定要加where”。今天无意中在网上看到了关于oracle误删除数据恢复的一条信息,发现的确很好使,下面就我的测试向大家汇报下。1.select*fromt_viradsl2t//查询t_viradsl2中所有的数据,可以看到三条数据2.deletet_viradsl2//删除t_viradsl2中所有的数据,三条数据消失3.select*fromt_viradsl2t//无数如闹穗据渣卜。4.insertintot_viradsl2select*fromt_viradsl2asoftimestampto_Date(’2011-01-1915:28:00’,’yyyy-mm-ddhh34:mi:ss’)//已将误删除数据插入表中5.select*fromt_viradsl2t//又会看到三条数据。我们来分析下第四步,注意这句:select*fromt_viradsl2asoftimestampto_Date(’2011-01-1915:28:00’,’yyyy-mm-ddhh34:mi:ss’),什么意思呢,找到t_viradsl2在2011-01-1915:28:00这个时间点的所有数据,既然找到了,你想怎么操作都可以了。在此分享给大家
oracle 如何恢复误删的表记录数据
Oracle DBA神器:PRM灾难恢复工具,Schema级别数据恢复。PRM For Oracle Database – schema级别oracle数据库数据恢复特性 ,PRM即ParnassusData Recovery Manager是企业级别Oracle数据库灾难恢复工具。PRM可以在无备份的情况下恢复被truncated/drop掉的表,也可以恢复无法打开的Oracle数据库(Alter Database Open失败)中的数据。 PRM是图形化增强版的Oracle DUL工具,同时具备很多Oracle DUL不具备的特性
oracle怎样恢复删除的数据文件
oracle数据库恢复,主要包括(1)系统崩溃只剩下数据文件的情况下的恢复,甚至没有system表空间而只有数据表空间的情况下的恢复.只要提供数据文件就可恢复.(2)undosystem表空间损坏数据恢复.(3)非归档或者归档模式下误delete数据的恢复、误删除表空间的恢复、droptruncate表的恢复.(4)数据库中有大量CLOBBLOB对象数据恢复等情况以及各种ora-错误的修复.(5)DMP文件损坏导致文件不能导入数据库的数据恢复(6)oracle数据库中数据文件出现坏块情况下的恢复.(7)oracle数据库无数据文件但有日志的情况下的恢复.(8)UNIX、WINDOWS下ORACLE数据文件被误删除情况下的数据库恢复.(9)Oracle10G、Oracle11G的ASM损坏的数据库恢复.(10)Oracle10G、Oracle11GBIFGILETABLESPACE大文件表空间损坏数据恢复(11)Oracle9i、Oracle10G、Oracle11G压缩表压缩表空间损坏数据恢复(12)Oracle10GOracle11GExpdp导出Impdp导入DMP文件错误数据恢复恢复成功率高达90%以上,在数据恢复领域处于国内领先的地位。具体案例见广州拓飞官方网站
Oracle数据库软件删除后数据有办法恢复么
1、如果你没有删除数据库文件:我的是放在这个文件夹下面,看看有没有被删祥逗除,如果没有被删除的话,看看这么文件夹里面的文件夹叫什么名字,并把里面的那个文件夹备份一份。2、重新安装数据库,再重新建一个下面文件夹名字相同的数据库实例。3、安装完毕后,停止oracle相关的所有服务,把你备份的那个文件夹覆盖到新的下面,重新启动数据库服则派务即可完成恢复。补充:如果数据库文件被你删除了,用EasyRecoveryProfessional恢复一下再按照上面的步骤恢复一下即可。---以上,希望对你有所帮助。
更多文章:
winrar4 01破解版(winrar4.0132位破解方法)
2024年6月6日 14:02
专门破qq密码的软件免费(qq密码破解大师免费版v2.1.21安卓最好用吗)
2024年8月6日 22:45
前线突击队数据包(疫情到什么阶段了,前线突击队队员们,身体状况,精神状况如何)
2024年5月15日 12:35
qq聊天记录删除了怎么恢复(qq聊天记录删除了怎么恢复,恢复删除qq聊天记录)
2024年7月23日 06:13
qq浏览器兼容模式怎么设置(QQ浏览器Mac版怎么设置兼容模式)
2024年4月22日 12:10
古代大户人家一般都有管家,管家是做什么的又是怎么产生的?历史上一个家族的管家是做什么的
2024年7月22日 02:24
常德市协同办公平台手机显示登录失败?山东通协同办公平台是干什么用的
2023年7月20日 11:40
office 2003 迷你版(Office2003迷你版和Encart2007的问题)
2024年5月23日 00:15
站长统计草莓芭乐丝瓜小猪(丝瓜草莓香蕉向日葵芭乐香草共同的特点是什么健康百)
2024年7月13日 00:30
英汉互译在线翻译拍照(用什么软件可以拍照后将英语课文翻译成中文)
2024年8月18日 05:16