首页 >> 生活 >

oracle数据恢复时间(oracle数据恢复)

2022-07-22 11:00:08 来源: 用户: 

大家好,小经来为大家解答以上问题。oracle数据恢复时间,oracle数据恢复很多人还不知道,现在让我们一起来看看吧!

1、 对于oracle中的表被truncate截断和删除的场景,可以基于ORACLEPRM-DUL的截断恢复功能来恢复被删除的数据。

2、 Windows平台下启动PRM-DUL的方法

3、 首先,确保JDK已经正确安装,并且java已经添加到环境变量中:

4、 在PRM-杜尔解压后的目录中双击PRM-杜尔.巴特。

5、 PRM-DUL.bat将在后台启动PRM:

6、 并启动PRM-DUL图形主界面:

7、 启动PRM-DUL,选择工具=恢复向导

8、 单击下一步。

9、 在这个截断场景中不使用ASM存储,因此您只需选择《DictionaryMode》字典模式:

10、 接下来,我们需要选择几个参数:Endianendian和DBNAME。

11、 因为ORACLE数据文件在不同的操作系统平台上采用不同的Endianendian格式,所以相应的Endian和平台列表如下:

12、 Solaris[tm]OE(32位)大

13、 Solaris[tm]OE(64位)大

14、 MicrosoftWindowsIA(32位)Little

15、 LinuxIA(32位)小

16、 基于AIX的系统(64位)

17、 惠普-UX(64位)大

18、 HPTru64UNIXLittle

19、 惠普-UXIA(64位)大

20、 LinuxIA(64位)小

21、 惠普开放虚拟机

22、 MicrosoftWindowsIA(64位)Little

23、 基于IBMzSeries的LinuxBig

24、 Linuxx8664位

25、 苹果MacOSBig

26、 MicrosoftWindowsx8664位

27、 Solaris操作系统(x86)小

28、 基于IBMPower的LinuxBig

29、 惠普IA开放式虚拟机

30、 Solaris操作系统(x86-64)Little

31、 苹果MacOS(x86-64)Little

32、 例如,如果在传统的基于UnixAIX的系统(64位)和HP-UX(64位)上使用BigEndianbigendian,那么在这里应该选择BigEndian:

33、 否则,例如,通用的Linuxx86-64和Windows将保留为默认的LittleEndian:

34、 注意:如果您的数据文件是在AIX上生成的(即BigEndian格式),并且为了方便起见,您将这些数据文件复制到Windows服务器上,并使用PRM-DUL恢复数据,那么您仍然应该选择其本机BigEndian格式。

35、 单击下一步。

36、 单击选择文件。通常,如果数据库不大,我们建议选择数据库中的所有数据文件。如果您的数据库很大,并且您知道您的数据表位于哪些数据文件中,那么您只能选择SYSTEM表空间中的数据文件(必须!)和数据所在的数据文件。

37、 请注意,Choose接口支持键盘操作,如CtrlA和Shift:

38、 之后,您需要指定指定数据文件的块大小,即ORACLE数据块大小。在这里,可以根据实际情况进行修改。例如,如果您的DB_BLOCK_SIZE是8k,但是一些表空间指定16K作为数据块大小,那么您只需要为那些不是8K的数据文件修改BLOCK_SIZE。

39、 这里的OFFSET参数主要针对那些使用裸设备存储数据文件的场景。比如在AIX上使用基于普通VG的LV作为数据文件,有4k偏移量,这里需要指定。

40、 如果您碰巧使用原始设备数据文件,并且不知道确切的偏移量是多少?您可以使用$ORACLE_HOME/bin附带的dbfsize工具来查看它。如下例所示,突出显示的部分表明裸设备具有4K偏移。

41、 $DBFsize/dev/LV_control_01数据库文件:/dev/lv_control_01

42、 没有4K起始偏移量的数据库文件类型:原始设备

43、 数据库文件大小:33416384字节块

44、 由于此场景中的所有数据文件都是8K块大小,并且基于文件系统,因此没有偏移量。单击加载。

45、 加载PRM-DUL阶段从系统表空间读取ORACLE数据字典信息,并从

46、Load完成后会在后台输出数据库字符集和国家字符集等信息:

47、Load完成后PRM-DUL界面左侧出现按照数据库用户分组的树形图

48、点开USERS,可以看到多个用户名,例如用户需要恢复PDSCHEMA下的一张表,则点开PD,并双击表名:

49、由于该TORDERDETAIL_HIS表之前已经被TRUNCATED掉了,所以双击没有显示有数据,此时在表上右键选择Unloadtruncateddata:

50、PRM-DUL将尝试扫描该表所在表空间并将已经truncated掉的数据抽取出来:

51、如上图所示从已经被TRUNCATE过的TORDERDETAIL_HIS表中抽取出完整的984359条记录,并存放在提示指定的路径下。

52、这里还自动生成了将文本数据导入到数据库中使用的SQLLDR控制文件。

53、$cd/home/oracle/PRM-DUL/PRM-DULdata/parnassus_dbinfo_PARNASSUSDATA/$ls-lParnassusData*

54、-rw-r–r–1oracleoinstall495Jan1808:31ParnassusData.torderdetail_his.ctl

55、-rw-r–r–1oracleoinstall191164826Jan1808:32ParnassusData.torderdetail_his.dat.truncated

56、$catParnassusData.torderdetail_his.ctl

57、LOADDATA

58、INFILE‘ParnassusData.torderdetail_his.dat.truncated’

59、APPEND

60、INTOTABLEParnassusData.torderdetail_his

61、FIELDSTERMINATEDBY‘‘

62、OPTIONALLYENCLOSEDBY‘”‘

63、TRAILINGNULLCOLS(

64、“SEQ_ID”,

65、“SI_STATUS”,

66、“D_CREATEDATE”,

67、“D_UPDATEDATE”,

68、“B_ISDELETE”,

69、“N_SHOPID”,

70、“N_ORDERID”,

71、“C_ORDERCODE”,

72、“N_MEMBERID”,

73、“N_SKUID”,

74、“C_PROMOTION”,

75、“N_AMOUNT”,

76、“N_UNITPRICE”,

77、“N_UNITSELLINGPRICE”,

78、“N_QTY”,

79、“N_QTYFREE”,

80、“N_POINTSGET”,

81、“N_OPERATOR”,

82、“C_TIMESTAMP”,

83、“H_SEQID”,

84、“N_RETQTY”,

85、“N_QTYPOS”

86、)

87、将数据导入到源表中(注意ParnassusData强烈建议你修改该SQLLDR控制文件中导入的表名字为一个临时表,这样不会覆盖原环境)。

88、$sqlldrcontrol=ParnassusData.torderdetail_his.ctldirect=yUsername:/assysdba//以上使用sqlldr导入了恢复的数据

89、//可以通过minus来对比恢复出来的数据:

90、select*fromParnassusData.torderdetail_hisminusselect*fromparnassus.torderdetail_his;

91、norowsselected

92、测试TRUNCATE用例表与源数据表对比,发现记录完全一致。

93、说明PRM-DUL完整、丝毫不差地恢复了被TRUNCATE表上的记录。

本文到此结束,希望对大家有所帮助。

  免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!

 
分享:
最新文章