oracle数据库中截断的表要如何恢复求大神帮助

oracle数据库中截断的表要如何恢复求大神帮助,第1张

你可以试试PRM for Oracle。 ParnassusData Recovery Manager(以下简称PRM)是企业级ORACLE数据灾难恢复软件,可直接从Oracle9i,10g,11g,12c的数据库数据文件(datafile)中抽取还原数据表上的数据,而不需要通过ORACLE数据库实例上执行SQL来拯救数据。ParnassusDataRecovery Manager是一款基于JAVA开发的绿色软件,无需安装,下载解压后便可直接使用。 恢复场景1 误Truncate表的常规恢复 D公司的业务维护人员由于误将产品数据库当做测试环境库导致错误地TRUNCATE了一张表上的所有数据,DBA尝试恢复但是发觉最近的备份不可用,导致无法从备份中恢复出该数据表上的记录。 此时DBA决定采用PRM来恢复已经被TRUNCATE掉的数据。 由于该环境中 所有数据库文件均是可用且健康的,用户仅需要 字典模式下加载SYSTEM表空间的数据文件以及被TRUNCATED表的数据文件即可,例如: create table ParnassusDatatorderdetail_his1 tablespace users as select from parnassusdatatorderdetail_his; SQL> desc ParnassusDataTORDERDETAIL_HIS Name Null Type ----------------------- -------- -------------- SEQ_ID NOT NULL NUMBER(10) SI_STATUS NUMBER(38) D_CREATEDATE CHAR(20) D_UPDATEDATE CHAR(20) B_ISDELETE CHAR(1) N_SHOPID NUMBER(10) N_ORDERID NUMBER(10) C_ORDERCODE CHAR(20) N_MEMBERID NUMBER(10) N_SKUID NUMBER(10) C_PROMOTION NVARCHAR2(5) N_AMOUNT NUMBER(7,2) N_UNITPRICE NUMBER(7,2) N_UNITSELLINGPRICE NUMBER(7,2) N_QTY NUMBER(7,2) N_QTYFREE NUMBER(7,2) N_POINTSGET NUMBER(7,2) N_OPERATOR NUMBER(10) C_TIMESTAMP VARCHAR2(20) H_SEQID NUMBER(10) N_RETQTY NUMBER(7,2) N_QTYPOS NUMBER(7,2) select count() from ParnassusDataTORDERDETAIL_HIS; COUNT() ---------- 984359 select bytes/1024/1024 from dba_segments where segment_name='TORDERDETAIL_HIS' and owner='PARNASSUSDATA'; BYTES/1024/1024 --------------- 18971875 SQL> truncate table ParnassusDataTORDERDETAIL_HIS; Table truncated SQL> select count() from ParnassusDataTORDERDETAIL_HIS; COUNT() ---------- 0 启动PRM ,并选择 Tools => Recovery Wizard 点击Next 在此TRUNCATE场景中并未采用ASM存储,所以仅需要选择 《Dictionary Mode》字典模式即可:

Oracle数据库异常恢复检查脚本(Oracle Database Recovery Check)

Oracle Database Recovery Check 介绍

根据多年来的数据库恢复经验,提炼出来数据库恢复关键点信息收集脚本(Oracle Database Recovery Check),该脚本主要是在数据库mount状态情况下查询数据库的一些基础表信息等信息,不对数据库进行任何写 *** 作(只做读和dump *** 作),不会在坏的数据库基础之上带来任何破坏,不影响任何数据库后续的恢复工作。通过该脚本收集信息能够快速定位数据库异常原因,并初步判断数据库恢复疑难程度,减少数据库异常恢复诊断时间,提供恢复效率和准确性。

具体参考:网页链接

如果你drop user的时候没有加cascade这个参数,试试重建这个用户,然后赋予相应的权限看看。不保证一定管用,但是如果加了cascade的话,只有从备份文件中恢复了。

delete删除的数据如果没有commit,rollbak即可。但是drop恢复起来就很麻烦了,不是一句两句能说清楚的。

PRM-DUL 可以直接从Oracle DBF数据文件中抽取出表的数据。

Oracle DBA神器:PRM灾难恢复工具,Schema级别数据恢复。PRM For Oracle Database – schema级别oracle数据库数据恢复特性 ,PRM即ParnassusData Recovery Manager是企业级别Oracle数据库灾难恢复工具。PRM可以在无备份的情况下恢复被truncated掉的表,也可以恢复无法打开的Oracle数据库(Alter Database Open失败)中的数据。

以上就是关于oracle数据库中截断的表要如何恢复求大神帮助全部的内容,包括:oracle数据库中截断的表要如何恢复求大神帮助、oracle数据库报错ora-01033怎么恢复、把oracle里的一个用户误删了,可以恢复吗用delete和drop误删的数据,恢复方法一样吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10069705.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存