免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 12343 | 回复: 8

sybase I/O错误,如何定位和解决问题,谢谢 [复制链接]

论坛徽章:
0
发表于 2014-01-07 16:28 |显示全部楼层
本帖最后由 YeLLoW 于 2014-01-07 17:40 编辑

在sybase数据库上执行sql语句,然后就hung住了,在log里面看到如下的问题。个人觉得是有block损坏的情况,但是不能确定影响在哪个表上。
哪位同学可以帮忙定位一下问题,并且提供一些解决问题的方法,多谢。
00:00000:00000:2014/01/06 17:06:51.32 kernel  sddone: read error on virtual disk 7 block 2794496:
00:00000:00000:2014/01/06 17:06:51.32 kernel  sddone: 4096 bytes passed, 0 returned on read for virt disk 7 block 2794496
00:00000:00007:2014/01/06 17:06:51.33 server  Error: 1251, Severity: 26, State: 1
00:00000:00007:2014/01/06 17:06:51.33 server  An in-use preallocated semaphore cursor was encountered.
00:00000:00007:2014/01/06 17:06:51.33 server  Error: 1251, Severity: 26, State: 1
00:00000:00007:2014/01/06 17:06:51.33 server  An in-use preallocated semaphore cursor was encountered.
00:00000:00007:2014/01/06 17:06:51.33 server  Error: 1251, Severity: 26, State: 1
00:00000:00007:2014/01/06 17:06:51.33 server  An in-use preallocated semaphore cursor was encountered.
00:00000:00000:2014/01/06 17:07:51.32 kernel  sddone: read error on virtual disk 7 block 2794496:
00:00000:00000:2014/01/06 17:07:51.32 kernel  sddone: 4096 bytes passed, 0 returned on read for virt disk 7 block 2794496
00:00000:00007:2014/01/06 17:07:51.34 server  Error: 823, Severity: 24, State: 1
00:00000:00007:2014/01/06 17:07:51.34 server  I/O error detected during read for BUF=0xfffffd7df6575a18, MASS=0xfffffd7df6575a
18, Buf#=0, page=0xfffffd7bb2f6f000, dbid=4, Mass vdevno=7, vpage=2794496, Buf lpage=50037248, Mass stat=0x4000100, Buf stat=0
x1, size=4096, cid=0 ('default data cache'), Pinned xdes=0x0000000000000000, spid=0.
00:00000:00007:2014/01/06 17:07:51.34 server  Error: 1251, Severity: 26, State: 1
00:00000:00007:2014/01/06 17:07:51.34 server  An in-use preallocated semaphore cursor was encountered.
00:00000:00007:2014/01/06 17:07:51.34 server  Error: 1251, Severity: 26, State: 1
00:00000:00007:2014/01/06 17:07:51.34 server  An in-use preallocated semaphore cursor was encountered.
00:00000:00000:2014/01/06 17:08:51.32 kernel  sddone: read error on virtual disk 7 block 2794496:
00:00000:00000:2014/01/06 17:08:51.32 kernel  sddone: 4096 bytes passed, 0 returned on read for virt disk 7 block 2794496
00:00000:00007:2014/01/06 17:08:51.32 server  Error: 823, Severity: 24, State: 1
00:00000:00007:2014/01/06 17:08:51.32 server  I/O error detected during read for BUF=0xfffffd7df65755e0, MASS=0xfffffd7df65755
e0, Buf#=0, page=0xfffffd7bb2f6a000, dbid=4, Mass vdevno=7, vpage=2794496, Buf lpage=50037248, Mass stat=0x4000100, Buf stat=0
x1, size=4096, cid=0 ('default data cache'), Pinned xdes=0x0000000000000000, spid=0.
00:00000:00007:2014/01/06 17:08:51.32 server  Error: 1251, Severity: 26, State: 1
00:00000:00007:2014/01/06 17:08:51.32 server  An in-use preallocated semaphore cursor was encountered.
00:00000:00007:2014/01/06 17:08:51.32 server  Error: 1251, Severity: 26, State: 1
00:00000:00007:2014/01/06 17:08:51.32 server  An in-use preallocated semaphore cursor was encountered.
00:00000:00000:2014/01/06 17:09:51.31 kernel  sddone: read error on virtual disk 7 block 2794496:
00:00000:00000:2014/01/06 17:09:51.31 kernel  sddone: 4096 bytes passed, 0 returned on read for virt disk 7 block 2794496
00:00000:00007:2014/01/06 17:09:51.31 server  Error: 823, Severity: 24, State: 1
00:00000:00007:2014/01/06 17:09:51.31 server  I/O error detected during read for BUF=0xfffffd7df6575508, MASS=0xfffffd7df65755
08, Buf#=0, page=0xfffffd7bb2f69000, dbid=4, Mass vdevno=7, vpage=2794496, Buf lpage=50037248, Mass stat=0x4000100, Buf stat=0
x1, size=4096, cid=0 ('default data cache'), Pinned xdes=0x0000000000000000, spid=0.

论坛徽章:
1
发表于 2014-01-07 18:18 |显示全部楼层
这个是Sybase官方的错误代码及解决办法。
http://infocenter.sybase.com/arc ... AdvRes/BACJACIC.htm

论坛徽章:
0
发表于 2014-01-08 08:12 |显示全部楼层
select name from master..sysdevices where low/16777216=7
然后检查一下操作系统的日志以及该硬件的状况

论坛徽章:
0
发表于 2014-01-08 08:39 |显示全部楼层
哪種OS?還有ASE的版本?

论坛徽章:
0
发表于 2014-01-08 08:51 |显示全部楼层
回复 4# ceozenliu
OS 是 solaris 10, ASE 是 15.0.3


   

论坛徽章:
0
发表于 2014-01-08 08:52 |显示全部楼层
@Anxiang1129 & @hobbylu ,多谢,我看一下。

论坛徽章:
0
发表于 2014-01-08 10:22 |显示全部楼层
(1) 你後端的storage應該是array,先檢查disk array,看有沒有錯誤燈號,有的話直接換掉那個硬盤,這是最幸運的。

(2) 如果disk array沒有錯誤燈號:
1>select phyname from master..sysdevices where vdevno=7   
2>go  
--可以看到是哪個物理儲存位置,換掉那一顆disk (這是指有RAID的情況)

一般而言,第(2)個方法應該就可以解決問題,如果還是不行
1>dbcc traceon(3604)
2>go
1>dbcc checkdb(db_name(4))   --如果數據庫大的話,會很耗時
2>go
--從dbcc checkdb的回傳訊息中,找看看有沒有「error」關鍵字,如果有,應該就可以看到是哪個object有錯,接下來就一個一個的修復

论坛徽章:
6
水瓶座
日期:2014-06-04 03:34:37水瓶座
日期:2014-06-17 13:20:31数据库技术版块每日发帖之星
日期:2016-07-09 06:20:00数据库技术版块每日发帖之星
日期:2016-07-17 06:20:00数据库技术版块每日发帖之星
日期:2016-08-01 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
发表于 2014-01-08 19:33 |显示全部楼层
设备vdevno=7有磁盘故障了。
检查坏页所属对象:
dbcc traceon(3604)
go
dbcc page(4,50037248,1)
go
找到 object id ,然后select object_name(object_id)。

论坛徽章:
0
发表于 2014-01-09 13:49 |显示全部楼层
谢谢楼上的各位同学的帮助,感觉收获很多。
通过sysdevice表,发现出问题device是用于记录log的device。
由于项目上时间比较紧张,没有时间进行硬件排查,最后的解决方案就是drop 相关的db, 重建device,重新创建db。
目前问题已经解决,再次感谢大家。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP