Sybase數(shù)據(jù)庫作為一種關(guān)系型數(shù)據(jù)庫系統(tǒng),是一種典型的Unix,Windows,Linux平臺(tái)上客戶機(jī)/服務(wù)器(C/S)環(huán)境下的大型數(shù)據(jù)庫系統(tǒng)。目前,Sybase數(shù)據(jù)庫的最新版本是15.5,但用的最多的版本是11.9和12.5。在人民銀行各中心支行中,Sybase數(shù)據(jù)庫主要用于國庫核算系統(tǒng)(Windows2000server+sybase11.9)、人事信息管理系統(tǒng)(Windows 2000server+sybase12.5)、支票影像系統(tǒng)外掛軟件(Windows xp+sybasel2.5)、國際收支統(tǒng)計(jì)(SCO unix5.05+sybase11.9)、同城票據(jù)清算系統(tǒng)(red hatlinux5+sybase12.5)等。在日常的Sybase數(shù)據(jù)庫維護(hù)過程作中,有時(shí)會(huì)遇到Sybase數(shù)據(jù)庫出錯(cuò)的情況,現(xiàn)將工作中發(fā)現(xiàn)的典型問題及詳細(xì)解決辦法,介紹給大家。
為方面起見,假設(shè)Sybase數(shù)據(jù)庫服務(wù)名為Sybase,數(shù)據(jù)庫名為testdb,一個(gè)系統(tǒng)用戶及testdb數(shù)據(jù)庫用戶名為testuser,為執(zhí)行sql腳本,Windows系統(tǒng)要進(jìn)2k.Sybase的sql advantage的窗口,Unix系統(tǒng)通過執(zhí)行isql—Usa—Pxxx-Ssybase,進(jìn)入命令行窗口。
一、用戶不能修改口令
原因:master數(shù)據(jù)庫的日志已滿,手工清除日志后,用戶可以修改口令。
解決辦法:
use master
go
dump transaction master with truncate_only
go
二、應(yīng)用數(shù)據(jù)庫掛起(suspect)
原因:數(shù)據(jù)庫設(shè)備被重命名或位置移動(dòng)或異常,在確保設(shè)備名稱、所在目錄正常的情況下,通過修改掛起的數(shù)據(jù)庫狀態(tài),解決該問題。
解決辦法:
use master
go
sp-configure"allow updates" ,1
go
update master..sysdatabase set status=-32768 wherename=" testdb"
go
/*必須重新啟動(dòng)sybase服務(wù)后,再執(zhí)行以下語句*/
use master
go
update master..sysdatabase set status=-0 wherename=" testdb
go
sp_configure"allow updates" ,0
go
/*testdb數(shù)據(jù)庫正常后,請檢查它的dboption,如select into, trunc log on chkpt等選項(xiàng)*/
三、Sybase服務(wù)無法啟動(dòng)
原因:由操作系統(tǒng)或數(shù)據(jù)庫異常造成的,如非正常關(guān)機(jī)。當(dāng)重新啟動(dòng)時(shí),有時(shí)出現(xiàn)Sybase服務(wù)無法啟動(dòng)的情況。
解決辦法:
在Sybase安裝目錄中,刪除sybase.krg文件( Windows系統(tǒng)中,如c:\sybase; Unix系統(tǒng)中,一般在/sybase/install/ ),重新啟動(dòng)機(jī)器后,Sybase服務(wù)能正常起來。
四、sa空口令修改后不能再改回
原因:為安全起見,sa口令不能為空,但有些應(yīng)用軟件用sa及空口令連接Sybase數(shù)據(jù)庫,一旦修改sa口令,應(yīng)用系統(tǒng)就出錯(cuò),用普通方法無法再改回空口令。
解決辦法:
sp_configure "upgrade version"
go
/*顯示當(dāng)前的版本號,如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服務(wù)起不來*/
go
五、用戶不能使用數(shù)據(jù)庫
原因:用戶testuser打開testdb數(shù)據(jù)庫時(shí),出現(xiàn)錯(cuò)誤信息:server user id 6 is not a valid user in database"testdb",錯(cuò)誤代碼為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單用戶方式
原因:當(dāng)需要恢復(fù)master數(shù)據(jù)庫時(shí),必須使用單用戶方式。
解決辦法:
Unix系統(tǒng)下,以Sybase用戶登錄,執(zhí)行startserver-f一RUN-sybase一m進(jìn)人單用戶模式。
Windows系統(tǒng)下,主要執(zhí)行步驟:
首先,以管理員身份登錄操作系統(tǒng)。
然后,點(diǎn)擊Sybase ->Server Config,彈出配置Sybase服務(wù)器界面,在“產(chǎn)品”欄中,選擇Adaptive Server,再點(diǎn)擊按鈕“配置Adaptive Server”,選擇Sybase服務(wù)器。如果不能繼續(xù)下一步,請?jiān)赟erver Config的屬性、起使位置框中,添加路徑:C:\Sybase\bin\。
再有,點(diǎn)擊按鈕“命令行”,在命令行參數(shù)中輸入“-m”(減號和小寫字母m),等待片刻,進(jìn)人單用戶模式。
最后,如果要取消單用戶模式,步驟同上,在命令行參數(shù)中,去掉“-m”即可。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:Sybase數(shù)據(jù)庫常見問題及解決辦法
本文網(wǎng)址:http://www.ezxoed.cn/html/support/1112162281.html