Oracle表被truncate(截断),该如何恢复?

您所在的位置:网站首页 oracle删除后怎么恢复 Oracle表被truncate(截断),该如何恢复?

Oracle表被truncate(截断),该如何恢复?

2024-06-13 03:30| 来源: 网络整理| 查看: 265

服务器上的Oracle数据库表被你截断、drop、delete了,是不是突然感觉到背后凉飕飕的,一股寒意从脚底板直冲发梢,特别上头?反正我就是这样的感觉

如果不赶紧恢复,轻则卷被子走人,重则就很严重!跑路是不可能跑路成功了

俗话说:“代码和人只能跑一个”,没了数据库,代码就跑不起来!为了让代码跑,而不是自己跑,就只能寄出神器(ParnassusData Recovery Manager)了

有了ParnassusData Recovery Manager,你再也不用提心吊胆的(而且是拖家带口的)连夜买出国的机票了

PRM概述:

ParnassusData Recovery Manager(以下简称 PRM)是企业级 ORACLE 数据灾难恢复软 件,可直接从 Oracle 9i,10g,11g,12c 的数据库数据文件(datafile)中抽取还原数据表上的数据, 而不需要通过 ORACLE 数据库实例上执行 SQL 来拯救数据。ParnassusData Recovery Manager 是一款基于 JAVA 开发的绿色软件,无需安装,下载解压后便可直接使用。

它能做什么:

prm dul恢复oracle数据库最简模式 prm dul使用数据搭桥传输Oracle表数据 prm dul在损坏数据库使用exportddl导出建表语句、索引、存储过程、函数等代码 prm dul恢复oracle中被delete的数据 prm dul恢复oracle中被truncate的数据 prm dul用户级别的数据搭桥 prm dul在ASM存储情况下的最简模式 prm dul恢复oracle中被drop掉的表 prm dul恢复oracle 12c以后可拔插数据库PDB/CDB中的数据 prm dul恢复被恶意加密的Oracle数据文件 prmscan oracle数据块重组恢复解决方案  

准备:

操作系统上必须已经安装JAVA JDK 1.8或以上版本才能运行PRM-DUL 5.1,请确保LINUX/UNIX上/bin/java已加入到PATH中。 这是一个GUI程序,当在Linux上使用时,确保能启动远程图形化桌面,例如至少你应当能启动xclock或gnome-terminal。 在确保图形化界面可用的情况下: 在Windows上直接点击prm.bat 在LINUX/UNIX上执行命令行: sh prm.sh

下载PRM:https://www.parnassusdata.com/zh-hans/node/1343

使用:

1、启动PRM,并选择开始-->恢复向导

2、直接下一步

 3、此情况中并未采用ASM存储,所以仅需要选择 字典模式 即可:

4、根据你的环境系统选择Endian,我的是Windows,所以我选择小端(Little)

tips:如果你的数据文件是在AIX(即Big Endian的)上生成的,你为了方便而将这些数据文件拷贝到Windows服务器上并使用PRM来恢复数据,那么你仍应当选择其原生的Big Endian格式。

Solaris[tm] OE (32-bit)

Big

Solaris[tm] OE (64-bit)

Big

Microsoft Windows IA (32-bit)

Little

Linux IA (32-bit)

Little

AIX-Based Systems (64-bit)

Big

HP-UX (64-bit)

Big

HP Tru64 UNIX

Little

HP-UX IA (64-bit)

Big

Linux IA (64-bit)

Little

HP Open VMS

Little

Microsoft Windows IA (64-bit)

Little

IBM zSeries Based Linux

Big

Linux x86 64-bit

Little

Apple Mac OS

Big

Microsoft Windows x86 64-bit

Little

Solaris Operating System (x86)

Little

IBM Power Based Linux

Big

HP IA Open VMS

Little

Solaris Operating System (x86-64)

Little

Apple Mac OS (x86-64)

Little

Block Size和偏移量可到后面修改

5、点击Choose Files, 一般我们推荐 如果数据库不大,那么将该库所有的数据文件都选择进来; 如果你的数据库很大,且你了解你的数据表位于哪些数据文件上,则你可以仅仅选择SYSTEM表空间的数据文件(必须!)以及数据库表所在表空间的数据文件

tips:注意Choose界面支持Ctrl + A 和Shift等键盘操作

查看表空间位置:

Select * FROM DBA_DATA_FILES;

6、需要为指定的数据文件指定其Block Size即ORACLE数据块的大小,这里根据实际情况修改即可, 例如你的DB_BLOCK_SIZE是8K,但是部分表空间指定16K作为数据块大小的,仅仅需要为那些不是8k的数据文件修改BLOCK_SIZE即可;

这里的OFFSET(偏移量) 参数主要是为了那些采用裸设备存放数据文件的场景,例如在AIX上基于普通VG的LV作为数据文件,则存在4k的OFFSET,需要在此处指定

Load(加载)阶段PRM会从SYSTEM表空间中读取ORACLE数据字典信息,并在自带的Derby中自建一个数据字典,这让PRM有能力操作ORACLE数据库中的各种数据

?

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

注意PRM是支持 多语言和ORACLE数据库的多字符集的, 但是前提是实施PRM数据恢复的操作系统要求已经安装了对应的语言包; 例如在Windows操作系统上没有安装中文语言包,但是由于ORACLE数据库字符集是独立于操作系统语言的,即ORACLE数据库的字符集可以为ZHS16GBK字符集,但是操作系统并不支持中文,此场景中不在本服务器上部署的ORACLE客户端并不受影响,可以正确显示数据库中的中文数据。

但是使用PRM则要求实施PRM数据恢复的操作系统已经安装了对应的语言包,例如用户要恢复ZHS16GBK的中文字符集数据库,则需要操作系统上已经安装了中文语言包才可以

类似的 在Linux上需要安装fonts-chinese 中文字体包。

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

点开用户,可以看到多个用户名。然后选择被截断表所在用户名,我需要恢复ACT_RU_VARIABLE表,因为已经被我截断,所以双击表名,右边没有数据;如果是表中有数据,则由数据显示

8、右键表名,选择Unload truncated data

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

下图显示抽取成功,共93条数据,然后就去可以打开该路径了

9、本地打开上面的路径,就可以看到有这么两个文件

pwjhjs.act_ru_variable.ctl:将文本数据导入到数据库中使用的SQLLDR 控制文件

pwjhjs.act_ru_variable.dat.truncated:文本数据

Windows下数据导入(数据恢复):

①打开pwjhjs.act_ru_variable.ctl sqlldr控制文件,将infile后面改为pwjhjs.act_ru_variable.dat.truncated 的绝对路径

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

②win + r ,输入 cmd,回车,然后输入命令

数据导入本地库:

1、sqlldr control=xxx.ctl direct=y

示例:

sqlldr control=E:\test\c##root.act_ru_variable.ctl direct=y

回车之后输入用户名和密码就可以了

结果:

2、sqlldr 用户名/密码@服务名 control=xxx.ctl

示例:

sqlldr c##root/root@ORCL control=E:\test\c##root.act_ru_variable.ctl

 结果:

 数据导入到服务器:

命令:sqlldr 用户名/密码@ip:port/服务名 control=xxx.ctl

示例:

sqlldr pwjhjs/[email protected]:1521/ORCL control= E:\test\pwjhjs.act_ru_identitylink.ctl

结果:

最后:该方法为Truncate表的常规恢复。该环境中 所有数据库文件均是可用且健康的,用户仅需要 字典模式下加载SYSTEM表空间的数据文件以及被TRUNCATED表的数据文件即可

参考:

https://www.parnassusdata.com/zh-hans/node/52

http://zcdn.parnassusdata.com/prm03.pdf



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3