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.guhuozai8.cn/
本文標題:Sybase數據庫常見問題及解決辦法