Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

999

积分

1

好友

942

主题
1#
发表于 2017-4-17 15:50:16 | 查看: 4366| 回复: 2
本帖最后由 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

这样的话,可以断定是物理设备或者逻辑磁盘的问题?
只能恢复该表,丢失一部分数据了。
如果我把所属表空间的所有表转移到别的表空间,然后把有坏块表空间删除了,不知道以后会不会出现坏块?
下载专业ORACLE数据库恢复工具PRM-DUL  For Oracle http://www.parnassusdata.com/

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638  QQ: 47079569     邮箱:service@parnassusdata.com
2#
发表于 2017-5-3 14:49:46

illegal lob length marker 36176
bytesread = 00000000000
TABLE =
IMP-00098: INTERNAL ERROR: impgst2段错误-核心陷阱



部分数据块有坏块吧, 可以尝试用prm-dul恢复 http://zcdn.parnassusdata.com/DUL4108.zip

回复 只看该作者 道具 举报

3#
发表于 2017-7-17 15:54:28
===============================
illegal lob length marker xxxx
bytesread = 00000000000
TABLE =
IMP-00098: INTERNAL ERROR: impgst2Segmentation Fault - core dumped
===============================
此报错表名exp导出dump文件存在讹误,一般这种错误有两种原因:
1. exp工具造成的文件损坏。
2. 文件在传输或拷贝到目标端时出现损坏。
通常第二个原因是我们碰到的主要问题。

因此,在exp dump文件导出后,你应该使用imp带SHOW=Y参数来验证exp文件是否存在讹误问题。
且在传输到目标端时也应该使用这种方式来再次验证文件的可靠性。

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-5-17 16:53 , Processed in 0.048153 second(s), 20 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569