sybase常见故障解决--无法正常使用各项命令

现象
---- SYBASE数据库启动后,无法正常使用,各种命令均不能使用。
分析
---- SYBASE数据库有一个日志文件/u/sybase/install/errorlog,它记载了所有有关数据库方面的出错信息,经检查其中的出错信息可以明显看到,数据库启动时无法打开sybsystemprocs库,该库被标志为“挂起”。
---- Sybsystemprocs库主要是存放系统的存储过程,SYBASE数据库提供的系统命令均在此库中,它的损坏必然导致数据库无法正常使用了。
解决办法
一、 设置SYBASE数据库允许修改系统参数
1、 关闭数据库状态
修改SYBASE.cfg文件:
$ vi SYBASE.cfg
查找“allow updates”,将其值修改为1(缺省为0)
allow updates to system tables = DEFAULT该为1
重新启动数据库
2、 启动数据库状态
用sa 登录,执行:  
1>use master
2>go
1>sp_configure "allow update",1
2>go
二、 用isql登录到SQL Server, 修改master库的系统表sysdatabases中对应sybsystemprocs库的status的值为-32768(阻塞状态),通知SYBASE强行启动sybsystemprocs库
1>update sysdatabases set status=-32768 where name=sybsystemprocs
2>go
( 若不行,则在此加多一步 dump tran sybsystemprocs with no_log,清除日志空间,可能是日志满造成无法进行该操作 )
三、 重新启动数据库正常后执行(可在命令行下执行sybase目录下的install目录里的startserver启动数据库):
1>use master
2>go
1>update sysdatabases set status=0 where name= sybsystemprocs
2>go
这样sybsystemprocs库被挂起的故障就解决了。
四、 再将SYBASE.cfg文件中“allow updates ”的值改为0或执行:
1>use master
2>go
1>sp_configure "allow update",0
2>go
五、重启SYBASE,一般都能恢复。

[ 本帖最后由 维护者 于 2008-8-28 10:20 编辑 ]