Sybase資料庫修複 分為兩種情況:
1.資料庫所用的裝置正常,而庫demodb的狀態為suspect。
1)以sa註冊
isql -u sa -P
1>
2)修改server屬性,置系統資料表為允許修改該狀態。
1>sp_configure "allow updates",1
2>go
3>recofigure with override
4>go
3)Sybase資料庫修複,修改資料庫的狀態,置資料庫狀態為server啟動時不檢測。
1>update master.sysdatabases set status = -32768
2>where name = "demodb"
3>go
4)重啟server。
5)修改資料庫的狀態,置資料庫狀態為正常。
1>update master.sysdatabases set status = 0
2>where name ="demodb"
3>go
6)修改server屬性,置系統資料表為不允許修改狀態。
1>sp_configure "allowupdates",0
2>go
3>reconfigure with override
4>go
7)再次重啟server。
至此,如果資料庫能夠正常,則恢複完畢,至此,Sybase資料庫修複完成。
以上步驟中,也可以用單一使用者模式啟動server,命令為startserver -m,而不必修改server的"allow updates"屬性。SYBASE 11及以上版本的server只需重啟,不需要執行reconfigure with override。如果上述方法仍不能恢複資料庫,則只能使用dbcc命令刪除該資料庫,然後重建立立。
2.資料庫所佔用的裝置不正常,庫的狀態為suspect 使用sp_helpdb和sp_helpdevice命令查出資料庫裝置的邏輯名、實體名稱、裝置號、大小等資訊。如果上述命令無法查出資料庫裝置的資訊,可使用select * from master.sydatabases和select * from master.sysdevices。然後用disk reinit重建裝置。最後,按照1的步驟恢複資料庫。
上述第一種情況資料庫損壞程度較輕,對資料庫內容檢查後即可使用。而在第二種情況下,如果資料庫的日誌建立在不同的裝置上,只是資料庫的日誌裝置損壞,資料庫的損壞程度會較輕,Sybase資料庫修複過程中,只是有些交易無法恢複;如果資料庫的裝置損壞,整個資料庫的內容會全部丟失,其中表、表的內容、預存程序都需要重建。所以建議資料庫和資料庫的日誌建立在不同的裝置上。
系統錯誤記錄檔errorlog檔案存有SYBASE資料庫系統的錯誤資訊,系統出錯時應先檢查此檔案,據此判斷錯誤原因,找出解決辦法,以免誤操作。
- Sybase資料倉儲大鵬證券應用案例(1)
- Sybase資料庫引擎運行方法簡介
- Sybase資料備份之BCP用法簡介
- Sybase資料庫的幾個配置問題
- 如何設定Sybase的使用者權限來處理進程