CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Oracle >  高级技术

ORACLE无法打开,数据文件损坏如何恢复?

楼主fastyhd(大冬瓜)2006-08-10 10:49:06 在 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

相关问题

关键词

得分解答快速导航

  • 帖主:fastyhd
  • sozdream
  • youzhouke
  • daydayupliq

相关链接

  • Oracle类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo