Sybase数据库作为一种关系型数据库系统,是一种典型的Unix,Windows,Linux平台上客户机/服务器(C/S)环境下的大型数据库系统。目前,Sybase数据库的最新版本是15.5,但用的最多的版本是11.9和12.5。在人民银行各中心支行中,Sybase数据库主要用于国库核算系统(Windows2000server+sybase11.9)、人事信息管理系统(Windows 2000server+sybase12.5)、支票影像系统外挂软件(Windows xp+sybasel2.5)、国际收支统计(SCO unix5.05+sybase11.9)、同城票据清算系统(red hatlinux5+sybase12.5)等。在日常的Sybase数据库维护过程作中,有时会遇到Sybase数据库出错的情况,现将工作中发现的典型问题及详细解决办法,介绍给大家。
为方面起见,假设Sybase数据库服务名为Sybase,数据库名为testdb,一个系统用户及testdb数据库用户名为testuser,为执行sql脚本,Windows系统要进2k.Sybase的sql advantage的窗口,Unix系统通过执行isql—Usa—Pxxx-Ssybase,进入命令行窗口。
一、用户不能修改口令
原因:master数据库的日志已满,手工清除日志后,用户可以修改口令。
解决办法:
use master
go
dump transaction master with truncate_only
go
二、应用数据库挂起(suspect)
原因:数据库设备被重命名或位置移动或异常,在确保设备名称、所在目录正常的情况下,通过修改挂起的数据库状态,解决该问题。
解决办法:
use master
go
sp-configure"allow updates" ,1
go
update master..sysdatabase set status=-32768 wherename=" testdb"
go
/*必须重新启动sybase服务后,再执行以下语句*/
use master
go
update master..sysdatabase set status=-0 wherename=" testdb
go
sp_configure"allow updates" ,0
go
/*testdb数据库正常后,请检查它的dboption,如select into, trunc log on chkpt等选项*/
三、Sybase服务无法启动
原因:由操作系统或数据库异常造成的,如非正常关机。当重新启动时,有时出现Sybase服务无法启动的情况。
解决办法:
在Sybase安装目录中,删除sybase.krg文件( Windows系统中,如c:\sybase; Unix系统中,一般在/sybase/install/ ),重新启动机器后,Sybase服务能正常起来。
四、sa空口令修改后不能再改回
原因:为安全起见,sa口令不能为空,但有些应用软件用sa及空口令连接Sybase数据库,一旦修改sa口令,应用系统就出错,用普通方法无法再改回空口令。
解决办法:
sp_configure "upgrade version"
go
/*显示当前的版本号,如11920 (sybase 11.9.2) */sp_configure "upgrade version",400/*400是新的版本号,必须低于11920*/
go
sp_password '123xyz',NULL,sa/*把sa口令123xyz改为空*/
go
sp_configure "upgrade version",11920/*版本号必须改回去,否则sybase服务起不来*/
go
五、用户不能使用数据库
原因:用户testuser打开testdb数据库时,出现错误信息:server user id 6 is not a valid user in database"testdb",错误代码为6.
解决办法:
use master
go
select suid,name from syslogins
go/*确定用户testuser的suid=6*/
use testdb
go
select suid,name from testdb..sysusers
go/*查看testdb用户testuser的suid值,如果不为6,说明用户信息混乱*/
sp_configure "allow updates" ,1
go
update testdb..sysusers set suid=6 wherename="testuser"
go
sp_configure"allow update" ,0
go
六、使用Sybase单用户方式
原因:当需要恢复master数据库时,必须使用单用户方式。
解决办法:
Unix系统下,以Sybase用户登录,执行startserver-f一RUN-sybase一m进人单用户模式。
Windows系统下,主要执行步骤:
首先,以管理员身份登录操作系统。
然后,点击Sybase ->Server Config,弹出配置Sybase服务器界面,在“产品”栏中,选择Adaptive Server,再点击按钮“配置Adaptive Server”,选择Sybase服务器。如果不能继续下一步,请在Server Config的属性、起使位置框中,添加路径:C:\Sybase\bin\。
再有,点击按钮“命令行”,在命令行参数中输入“-m”(减号和小写字母m),等待片刻,进人单用户模式。
最后,如果要取消单用户模式,步骤同上,在命令行参数中,去掉“-m”即可。
核心关注:拓步ERP系统平台是覆盖了众多的业务领域、行业应用,蕴涵了丰富的ERP管理思想,集成了ERP软件业务管理理念,功能涉及供应链、成本、制造、CRM、HR等众多业务领域的管理,全面涵盖了企业关注ERP管理系统的核心领域,是众多中小企业信息化建设首选的ERP管理软件信赖品牌。
转载请注明出处:拓步ERP资讯网http://www.toberp.com/
本文标题:Sybase数据库常见问题及解决办法