ORACLE无法打开,数据文件损坏如何恢复?
由于服务器电源突然问题,ORACLE无法启动。但是数据库可以装载,就是无法打开,装载成功后,打开有如下提示:
ORA-01122:数据库文件 8 检验失败
ORA-01110:数据文件 8:'E:\ORACLE\ORADATA\ORADB\OEM_REPOSITORY.ORA'
ORA-01200:136321的实际文件大小小于137601块的正确大小
注:1.环境WIN2000 SERVER SP4,数据库 ORACLE8.1.6.
2.OEM_REPOSITORY是我存储数据的表空间,OEM_REPOSITORY.ORA'文件大小为1.04G.
3.数据库没有备份,只有2004年的一个DMP备份,这个好用,但是数据不是我要的,日志模式是非存档模式自动存档禁用。
我是oracle的一个菜鸟,还请各位帮帮忙,给我一个数据库恢复的思路或方向!
问题点数:50、回复次数:10Top
1 楼leah()回复于 2006-08-10 11:23:32 得分 0
没有备份应该没什么希望能恢复什么数据了Top
2 楼leah()回复于 2006-08-10 11:24:18 得分 0
数据库打开肯定是没有问题了Top
3 楼sozdream(Dream.Zhang)回复于 2006-08-10 12:19:25 得分 30
硬盘上的数据文件损坏了~
只要 Online-Redo Log和Archive Log都完好, 还原没问题.
先把该数据文件存储位置换掉, 然后再recover database until cancel;
再以reset log方式开DBTop
4 楼youzhouke()回复于 2006-08-10 12:31:31 得分 10
http://blog.csdn.net/youzhouke/archive/2006/06/07/777812.aspx
如果没有备份的话,你看看能修复吗,上面是一个修复的说明。Top
5 楼fastyhd(大冬瓜)回复于 2006-08-10 20:38:23 得分 0
sozdream()
你说的Archive Log是指存档日志吧,但是我的日志模式是非存档模式而且自动存档禁用。只有Redo Log,那还能恢复吗?
“先把该数据文件存储位置换掉”,你的意思是说将原来装在E:盘上的oracle目录转到另外一个盘上吗,还是只将数据文件换个盘,然后recover database until cancel?
Top
6 楼daydayupliq(敞开胸怀!)回复于 2006-08-11 14:10:26 得分 10
唉,先备份,再恢复;
没有备份,只求恢复,难!!Top
7 楼fastyhd(大冬瓜)回复于 2006-08-11 21:13:41 得分 0
我用 offline drop 将OEM_REPOSITORY.ORA去掉然后alter database open resetlogs提示是一堆乱码:
??1??
system01
我记不住了,大概意思是说应该恢复所有文件,提示当中有数据文件system01,说是一号文件.真是奇怪.
我又尝试用recover database until cancel 还是最初那个提示
我晕了,哪位老大还有好主意啊,或者还是我操作的不对?多多指教!谢谢了!
Top
8 楼glkgdj(管德江)回复于 2006-08-12 09:15:07 得分 0
没有问题,完全可以恢复!
没有日志也可以恢复的,因为你的怎件都在,可以从文件里面提取,不过分析起来可能会比较麻烦!再加上redolog的话,应该是没问题的,不过和久以前的数据有可能要丢几条,因为现在你的数据库文件出了问题了,可能出问题的那部分的block没办法恢复出来,但也不一定。
可以参考我网站上的相关ORACLE的内部结构资料,如果好好研究透了的话,你自己就可以做到了!
www.sosdb.com
qq:9417901
msn:glkgdj@hotmail.com
Top
9 楼glkgdj(管德江)回复于 2006-08-14 10:19:12 得分 0
看样子你的system文件出了问题,那就不能用常规的办法了,同情你!不过研究透了oracle的结构也可以恢复出来!很麻烦!
www.sosdb.com
qq:9417901
msn:glkgdj@hotmail.comTop
10 楼leah()回复于 2006-08-15 14:11:55 得分 0
不能用常规方法恢复了,oracle有 DUL 工具来恢复数据,也有些个人也开发这种工具直接取出数据Top




