对于oracle中表被truncate误截断删除的场景,可以基于ORACLE PRM-DUL的truncate恢复功能来将被删除数据恢复出来
Windows平台下的启动PRM-DUL方法首先保证JDK已正确安装且java已经加入到环境变量中:双击PRM-DUL解压目录下的PRM-DUL.bat
PRM-DUL.bat会在后台启动PRM:
并启动PRM-DUL 图形化主界面:
启动PRM-DUL ,并选择 Tools => Recovery Wizard
点击Next
在此TRUNCATE场景中并未采用ASM存储,所以仅需要选择 《Dictionary Mode》字典模式即可:
下一步骤 我们要选择几个参数 : 包括Endian 字节序和DB NAME由于ORACLE数据文件在不同的操作系统平台上采用了不同的Endian字节序格式,字节序和平台对应列表如下:Solaris[tm] OE (32-bit)BigSolaris[tm] OE (64-bit)BigMicrosoft Windows IA (32-bit)LittleLinux IA (32-bit)LittleAIX-Based Systems (64-bit)BigHP-UX (64-bit)BigHP Tru64 UNIXLittleHP-UX IA (64-bit)BigLinux IA (64-bit)LittleHP Open VMSLittleMicrosoft Windows IA (64-bit)LittleIBM zSeries Based LinuxBigLinux x86 64-bitLittleApple Mac OSBigMicrosoft Windows x86 64-bitLittleSolaris Operating System (x86)LittleIBM Power Based LinuxBigHP IA Open VMSLittleSolaris Operating System (x86-64)LittleApple Mac OS (x86-64)Little例如在传统Unix AIX-Based Systems (64-bit) 、HP-UX (64-bit) 上使用的是Big Endian大端字节序,则这里要选为Big Endian:
否则例如常见的Linux x86-64 、Windows都保持为默认的Little Endian:
注意事项: 如果你的数据文件是在AIX(即Big Endian的)上生成的,你为了方便而将这些数据文件拷贝到Windows服务器上并使用PRM-DUL来恢复数据,那么你仍应当选择其原生的Big Endian格式。