複製鏈接
請複製以下鏈接發送給好友

Sybase數據庫

鎖定
1984年,Mark B. Hiffman和Robert Epstern創建了Sybase公司,並在1987年推出了Sybase數據庫產品。SYBASE主要有三種版本,一是UNIX操作系統下運行的版本,二是Novell Netware環境下運行的版本,三是Windows NT環境下運行的版本。對UNIX操作系統廣泛應用的為SYBASE 10 及SYBASE 11 for SCO UNIX。
中文名
Sybase數據庫
創始人
Mark B. Hiffman
特    點
容納多個主機的環境
創始時間
1984年

目錄

Sybase數據庫數據特點

基於客户/服務器體系結構的數據庫
一般的關係數據庫都是基於主/從式的模型的。在主/從式的結構中,所有的應用都運行在一台機器上。用户只是通過終端發命令或簡單地查看應用運行的結果。
而在客户/服務器結構中,應用被分在了多台機器上運行。一台機器是另一個系統的客户,或是另外一些機器的服務器。這些機器通過局域網或廣域網聯接起來。
客户/服務器模型的好處是:
● 它支持共享資源且在多台設備間平衡負載
● 允許容納多個主機的環境,充分利用了企業已有的各種系統
真正開放的數據庫
由於採用了客户/服務器結構,應用被分在了多台機器上運行。更進一步,運行在客户端的應用不必是Sybase公司的產品。對於一般的關係數據庫,為了讓其它語言編寫的應用能夠訪問數據庫,提供了預編譯。Sybase數據庫,不只是簡單地提供了預編譯,而且公開了應用程序接口DB-LIB,鼓勵第三方編寫DB-LIB接口。由於開放的客户DB-LIB允許在不同的平台使用完全相同的調用,因而使得訪問DB-LIB的應用程序很容易從一個平台向另一個平台移植。
一種高性能的數據庫
Sybase真正吸引人的地方還是它的高性能。體現在以下幾方面:
● 可編程數據庫
通過提供存儲過程,創建了一個可編程數據庫。存儲過程允許用户編寫自己的數據庫子例程。這些子例程是經過預編譯的,因此不必為每次調用都進行編譯、優化、生成查詢規劃,因而查詢速度要快得多。
事件驅動的觸發器
觸發器是一種特殊的存儲過程。通過觸發器可以啓動另一個存儲過程,從而確保數據庫的完整性。
● 多線索化
Sybase數據庫的體系結構的另一個創新之處就是多線索化。一般的數據庫都依靠操作系統來管理與數據庫的連接。當有多個用户連接時,系統的性能會大幅度下降。Sybase數據庫不讓操作系統來管理進程,把與數據庫的連接當作自己的一部分來管理。此外,Sybase的數據庫引擎還代替操作系統來管理一部分硬件資源,如端口、內存、硬盤,繞過了操作系統這一環節,提高了性能。

Sybase數據庫組成

Sybase數據庫主要由三部分組成:
(1) 進行數據庫管理和維護的一個聯機的關係數據庫管理系統Sybase SQL Server;
Sybase SQL Server是個可編程的數據庫管理系統,它是整個Sybase產品的核心軟件,起着數據管理、高速緩衝管理、事務管理的作用。
(2) 支持數據庫應用系統的建立與開發的一組前端工具Sybase SQL Toolset;
ISQL是與SQL Server進行交互的一種SQL句法分析器。ISQL接收用户發出的SQL語言,將其發送給SQL Server,並將結果以形式化的方式顯示在用户的標準輸出上。
DWB是數據工作台,是Sybase SQL Toolset的一個主要組成部分,它的作用在於使用户能夠設置和管理SQL Server上的數據庫,並且為用户提供一種對數據庫的信息執行添加、更新和檢索等操作的簡便方法。在DWB中能完成ISQL的所有功能,且由於DWB是基於窗口和菜單的,因此操作比ISQL簡單,是一種方便實用的數據庫管理工具。
APT是Sybase客户軟件部分的主要產品之一,也是從事實際應用開發的主要環境。APT工作台是用於建立應用程序的工具集,可以創建從非常簡單到非常複雜的應用程序,它主要用於開發基於表格(Form)的應用。其用户界面採用窗口和菜單驅動方式,通過一系列的選擇完成表格(Form)、菜單和處理的開發。
(3) 可把異構環境下其它廠商的應用軟件和任何類型的數據連接在一起的接口Sybase Open Client/Open Server。
通過Open Client的DB-LIB庫,應用程序可以訪問SQL Server。而通過Open Server的SERVER-LIB,應用程序可以訪問其它的數據庫管理系統。

Sybase數據庫修復

數據庫所用的設備正常,而庫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命令刪除該數據庫,然後重新建立。 [1] 
參考資料