忘记密码   免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
12下一页
最近访问板块 发新帖
查看: 5912 | 回复: 10

在recovery的时候发生692错误故障处理的方法 [复制链接]

论坛徽章:
0
发表于 2008-06-16 09:53 |显示全部楼层
有一个客户,在系统发生异常掉电之后,启动数据库,发生了以下错误,导致数据库无法正常recovery。00:00000:00018:2008/06/11 16:00:08.45 server  Error: 692, Severity: 20, State: 1
00:00000:00018:2008/06/11 16:00:08.45 server  Uninitialized logical page '28114' was read while accessing object '3' in database '18'. Please contact Sybase Technical Support.
这种故障在正常操作下,已经无法恢复数据库,里面的数据需要通过使用恢复工具进行恢复了(建议使用powersybedit)。用poweredit读取裸设备方式,对改页面进行了分析,发现该页面确实是一个空页,所有的字节全部是0000 0000。那么如何避免这个故障,并将这个页面变成一个有效的页面呢?可以做如下处理:
首先读取该对象的其他页,然后将该页的页号修改为这个空页所在的页号,如上实例为 28114,回写磁盘后,关闭改文件,重新启动数据库。但过程中有可能会多次出现这个故障,需要重复操作,较为麻烦。
经过一系列的处理,该数据库可以正常启动,某些数据就可以通过正常的bcp出来。

[ 本帖最后由 hobbylu 于 2008-6-16 09:58 编辑 ]

论坛徽章:
0
发表于 2008-06-19 12:34 |显示全部楼层

回复 #1 hobbylu 的帖子

请问是什么版本的数据库,ASE12.0以上的版本还经常有类似的错误吗?

论坛徽章:
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
发表于 2010-01-19 01:16 |显示全部楼层

回复 #1 hobbylu 的帖子

你的这个法子治标不治本。
上班后再讨论。

论坛徽章:
28
CU大牛徽章
日期:2013-04-17 10:59:39荣誉版主
日期:2015-02-04 10:04:082015年亚洲杯之阿联酋
日期:2015-02-06 17:15:532015亚冠之武里南联
日期:2015-06-06 15:40:252015亚冠之北京国安
日期:2015-06-17 15:42:412022北京冬奥会纪念版徽章
日期:2015-08-10 16:30:322015亚冠之阿尔纳斯尔
日期:2015-09-20 09:42:12数据库技术版块每日发帖之星
日期:2015-09-24 06:20:0015-16赛季CBA联赛之北京
日期:2016-01-15 10:03:59IT运维版块每日发帖之星
日期:2016-01-20 06:20:0015-16赛季CBA联赛之青岛
日期:2016-04-26 16:44:49数据库技术版块每日发帖之星
日期:2016-06-21 06:20:00
发表于 2010-01-19 08:31 |显示全部楼层

回复 #3 andkylee 的帖子

你的意思是全设备恢复?

论坛徽章:
0
发表于 2010-01-19 08:53 |显示全部楼层
治标治本,是一个权衡的事情。
有些情况无法治本,至少我做不到,能够尽最大程度恢复数据,是我的目标,达到治标就可以了,呵呵。

论坛徽章:
28
CU大牛徽章
日期:2013-04-17 10:59:39荣誉版主
日期:2015-02-04 10:04:082015年亚洲杯之阿联酋
日期:2015-02-06 17:15:532015亚冠之武里南联
日期:2015-06-06 15:40:252015亚冠之北京国安
日期:2015-06-17 15:42:412022北京冬奥会纪念版徽章
日期:2015-08-10 16:30:322015亚冠之阿尔纳斯尔
日期:2015-09-20 09:42:12数据库技术版块每日发帖之星
日期:2015-09-24 06:20:0015-16赛季CBA联赛之北京
日期:2016-01-15 10:03:59IT运维版块每日发帖之星
日期:2016-01-20 06:20:0015-16赛季CBA联赛之青岛
日期:2016-04-26 16:44:49数据库技术版块每日发帖之星
日期:2016-06-21 06:20:00
发表于 2010-01-19 09:42 |显示全部楼层

回复 #5 hobbylu 的帖子

个人倾向hobbylu 这种理解!任何事情都不可能做到尽善尽美。

论坛徽章:
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
发表于 2010-01-19 09:57 |显示全部楼层

回复 #5 hobbylu 的帖子

你的这个问题是系统误认为28114是一个有效页面,实际为空页。
如果能在该页28114对应的OAM页面:27904上对object_id=3(syscolumns表)的1个extent进行空间是否分配的操作,就是把28114对应的状态改为未分配,这样下次ASE就不会读28114这也得数据了。
你的方法是读取其他正常页,将正常页的页号改为28114。如此的话,需要先把该正常页的数据提取出来,并且还不能保证不会发生逻辑页的循环链接错误!

论坛徽章:
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
发表于 2010-01-19 10:02 |显示全部楼层

回复 #4 wfcjz 的帖子

不是全设备恢复。

论坛徽章:
0
发表于 2010-01-19 10:16 |显示全部楼层
用这个问题,也不会发生你所说的相关问题,把行数置为空就可以了

论坛徽章:
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
发表于 2010-01-19 10:29 |显示全部楼层
原帖由 hobbylu 于 2010-1-19 10:16 发表
用这个问题,也不会发生你所说的相关问题,把行数置为空就可以了


将28114这一问题页的行数改为0,nextrno=0,freeoff=32。也是个不错的主意!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:wangnan@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP