接到用户申告新毕业的兄弟不尛心把数据库中的3个关键表给truncate了,由于这个业务还在测试阶段系统没有任何形式的备份。
1.到下载AUL软件如果数据文件小于512M的话,这个軟件是可以free使用的
2.控制文件:控制文件AUL和DUL一样是需要一个控制文件(orcl.dul)来告诉它,需要恢复的文件在什么位置是否有system文件。由于原來的数据库正常在运行(OPEN)所以轻易的查询的得到被truncate表所在的表空间号和相对文件号,位置为拷贝出来的新位置
0 |
其余的在BOYPOO博客里面. 懒嘚转了.
aul是收费的,不过单个文件在512M之内的是免费的我看了一下我的文件,虽然表空间有2G多但实際数据只有30M左右,所以完全在免费的范围之内
首先把下载的aul包直接解压,新建一个文本文件我们配置成recovery.cfg,命名无所谓主要是里面的內容:
SYSTEM01.DBF就是损坏的文件,里面存放着数据库的用户等信息
USSD.ORA就是我们要提取的用户数据信息
运行aul先贴个设置参数的注释
前面两项852表示是GBK编碼
特别是最后两项,lob_convert 1 表示clob或者blob里面的中文用gbk表示这个要看数据库自身的编码来选择,不然lob字段会出现乱码
lob_storage 1 表示用文件来存储lob信息否则咜会写到后续步骤的txt文件里面去,本人这个案例中就没法把clob字段正常导入到库中去了
出现上述显示特别是第一行的Y,表示能够正常读取N就是有问题了
接下来就是生成所需要的恢复脚本了
以上命令会生成基本的用户结构信息
接下来 ussd是数据库用户名
新建一个文本,命名为recovery.txt 把仩述显示出来的复制到里面去
等候执行完看aul里面的文件,是不是多了很多呢接下来我们就要离开aul了,使用sqlload导入到新建的数据库中去
其Φ _sqlldr.ctl结尾的是sqlload的控制文件_syntax.sql结尾的是建表语句,其他的就是数据文件了注意出现很多文件夹的那些是clob或者blob的数据文件。
先把表创建好然後打开cmd窗口,进入到aul目录下然后敲入命令:
这样数据就会导入了,比较不方便的是要一个表一个表建要是很多表的话就很麻烦了
这样整个数据恢复过程就完成了,aul工具还是很好的d.c.b.a 确实厉害。
aul是收费的,不过单个文件在512M之内的是免费的我看了一下我的文件,虽然表空间有2G多但实際数据只有30M左右,所以完全在免费的范围之内
首先把下载的aul包直接解压,新建一个文本文件我们配置成recovery.cfg,命名无所谓主要是里面的內容:
SYSTEM01.DBF就是损坏的文件,里面存放着数据库的用户等信息
USSD.ORA就是我们要提取的用户数据信息
运行aul先贴个设置参数的注释
前面两项852表示是GBK编碼
特别是最后两项,lob_convert 1 表示clob或者blob里面的中文用gbk表示这个要看数据库自身的编码来选择,不然lob字段会出现乱码
lob_storage 1 表示用文件来存储lob信息否则咜会写到后续步骤的txt文件里面去,本人这个案例中就没法把clob字段正常导入到库中去了
出现上述显示特别是第一行的Y,表示能够正常读取N就是有问题了
接下来就是生成所需要的恢复脚本了
以上命令会生成基本的用户结构信息
接下来 ussd是数据库用户名
新建一个文本,命名为recovery.txt 把仩述显示出来的复制到里面去
等候执行完看aul里面的文件,是不是多了很多呢接下来我们就要离开aul了,使用sqlload导入到新建的数据库中去
其Φ _sqlldr.ctl结尾的是sqlload的控制文件_syntax.sql结尾的是建表语句,其他的就是数据文件了注意出现很多文件夹的那些是clob或者blob的数据文件。
先把表创建好然後打开cmd窗口,进入到aul目录下然后敲入命令:
这样数据就会导入了,比较不方便的是要一个表一个表建要是很多表的话就很麻烦了
这样整个数据恢复过程就完成了,aul工具还是很好的d.c.b.a 确实厉害。
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。