oracle+imp部分数据,Oracle 数据库损坏,IMP-00098: 求救

本帖最后由 ALLSTARS_ORACLE 于 2017-5-3 14:48 编辑

硬件

服务器:sun e2900

+大恒阵列

操作系统: solaris 10

数据库 : oracle 10g 10.1.0.2 for solaris 10

问题:

查询某个表时,出现

ORA-01578: ORACLE 数据块损坏(文件号 31, 块号 4586)

ORA-01110: 数据文件31: '/data/orcl/tsgrad_xs_data01.dbf'

检查了一下,是数据丢失,索引放在另外一个表空间。

目前数据库是在归档下工作,没有物理备份。

有逻辑备份

但是逻辑备份在导入时出现如下问题

illegal lob length marker 36176

bytesread = 00000000000

TABLE =

IMP-00098: INTERNAL ERROR: impgst2段错误-核心陷阱

请各位版主及高手帮我看看。

已经知道坏块所在的表,我是在查询会员表zchy遇到这个错误,所以我在查询该表 select * from zchy where rownum<92100都没有问题,select * from zchy where rownum>92100就会报错,说明这个表rownum超过92100以后的数据都是在这个坏块,我怎么样修复这部分数据?

我不知道有没有其他方法可以知道坏块所在的表?

逻辑备份是exp 整个用户数据库的。

imp的时候出错。

我imp是在其他地方,看看以前备份的数据是否可以用。

rman的恢复我也不是很清楚,之前我没有做rman的备份。

firyou:现在是生产系统,其他表的数据还在增加,我只能对一个表的数据进行恢复?

数据导出可能会丢很多数据啊,只能导出不在坏块的数据吧?

现在问题就是没有备份。:(

有逻辑备份的expdat.dmp

却不能在别的oracle中imp

我现在就是想使用逻辑备份中的该表的数据你把数据库的表rename,然后将该表从备份中导入。

但是我以前exp出来的数据文件再imp就出错,illegal lob length marker 36176

bytesread = 00000000000

TABLE =

IMP-00098: INTERNAL ERROR: impgst2段错误-核心陷阱

具体的情况是这样的,我原来的数据库是在sun v890 + 大恒阵列上运行,我把oracle 10g数据库和我的实例,数据文件等等都装在了阵列上,sun v890 只有运行的环境,数据逻辑备份的导出都是在sun v890中进行。

昨天晚上我把sun v890撤下来了,换成了sun e2900 +阵列。数据库都在阵列里面,我只是在e2900里面增加了oracle用户及其环境变量,然后把阵列的磁盘mount到e2900中。

就这样的操作,我重新启动应用后就发现有坏的数据块。而且在v890中exp的备份不能imp

我在v890中重新建了一个干净的数据库,可以导入到新的数据库中。

现在我只能从新的数据库中导出损坏的表然后导入到系统中。

因为损坏的数据文件所属表空间涉及到很多表,这样对其他表有没有影响?我是不是要把这个表空间重建?

select owner,segment_name,segment_type from dba_extents where file_id=31

2  and 4586 between block_id and block_id+blocks-1;

OWNER                          SEGMENT_NAME                                                                     SEGMENT_TYPE

------------------------------ -------------------------------------------------------------------------------- ------------------

DBAPP                            ZCHY

这样的话,可以断定是物理设备或者逻辑磁盘的问题?

只能恢复该表,丢失一部分数据了。

如果我把所属表空间的所有表转移到别的表空间,然后把有坏块表空间删除了,不知道以后会不会出现坏块?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值