同志们,救命啊 ORACLE73 错误(200分)

  • 主题发起人 主题发起人 独孤剑
  • 开始时间 开始时间

独孤剑

Unregistered / Unconfirmed
GUEST, unregistred user!
数据库系统已经运行了近一年,近日突然报错
---------------------------------------------------
General SQL error.
ORA-01115:读文件5的块时出现IO错误(块号#95840)
ORA-01110:数据文件5:'HISCASE.ONE
ORA-09206:sfrfb:
从文件取数据时发生错误
ORA-04006:ReadFile()失败,无法自文件读取
O/S-Error:(OS 203)操作系统找不到已输入的 环境选项。
------------------------------------------------------
在存其中一张表时触发此错误,其他表没有任何问题,后查看NT的事件管理器,其中有一个错误信息是

-------------------------------------------------------
2002-11-13 下午 06:03:50 Disk 错误 无 7 N/A HISSERVER 设备 /Device/Harddisk0/Partition2 有坏块。
-------------------------------------------------------

各位大侠,小弟的性命就交给各位了,拜托帮帮忙啊:先送上200分,解决问题者,一定多多给分,尽我所有
 
属于硬件异常的问题. 你有没有数据备份啊??
 
已经很明显了,硬盘问题导致文件的某一块读不出来
试试能不能修复吧
更多的可能是要用备份数据来恢复。当然,先要把那块硬盘换了。
 
感觉像是控制文件出错了,可以看一下有没有初始的或备份的
 
>> 新葵,
做数据备份都没有任何问题,

>> xianjun,
换个硬盘,估计要吐血,因为我现在没有在现场维护,底下的人对那个Oracle不是很熟....5555

>> All

Oracle本身有没有提供这方面的数据库修复工具,如果是硬盘的坏块原因导致数据库文件无法读取
那有没有什么抢救的办法,比如把原来的错误的表Drop掉,重新建个表,重新指定该表的表空间
能不能解决问题
 
简单的做法是重裝oracle,然后根据备份文件重新恢复。
 
如果是在存储时出现这样的错误的话,那备份再安装恢复的方式应该可以解决问题。
如果是在查询或更新的时候出现问题,麻烦就大了。
另外得看你的应用是何种方式。
我以前用的是rowid来对表进行操作。当出现这种错误时,在应用系统中替换出错的数据块,
相当于windows平台中的将硬盘逻辑扇区标记为坏,不影响应用系统的使用。
 
>>比如把原来的错误的表Drop掉,重新建个表,重新指定该表的表空间
当然可以, 但我怀疑是你的硬盘出问题了, 到时整个硬盘坏了再来恢复就更麻烦
最好把那个硬盘的数据全部转移到别的硬盘上去。
如果你确信只是那个表的数据出了问题, 重新用备份数据导入那个表到别的表空间就OK了
 
如果确认是只有该表发生错误,那么
首先建一个表空间
create tablespace ....
然后将原来的表Drop掉,在drop之前先备份数据
drop table ...
然后重建该表并将该表的表空间指定为新建的表空间
create table...
最后将原来备份的该表的数据导入,应该就可以了
 
已经解决:由于是远程维护所以不可能做那么大的动作,诸如换硬盘啊,重装Oracle,等等,
所以采用了折中的方法,那个问题是由于硬盘坏块引起的,重新建立了一个新的表空间,
将原来的表数据备份后,drop掉该表,然后重建表并使用新的表空间,再恢复数据,问题解决

 
后退
顶部