程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SyBase數據庫 >> SyBase教程 >> Sybase數據庫修復技巧匯總

Sybase數據庫修復技巧匯總

編輯:SyBase教程

導讀:Sybase數據庫中數據的重要性決定了Sybase數據庫修復的必要性,Sybase數據庫的修復是要講求一定的技巧,下文中就為大家總結了幾點技巧,相信對大家進行Sybase數據庫修復工作會非常有用的。

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
(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. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved