必威电竞|足球世界杯竞猜平台

sybase
來源:互聯網

美國Sybase公司研制的一種關系型數據庫系統,是一種典型的UNIX或WindowsNT平臺上客戶機/服務器環境下的大型數據庫系統。 Sybase提供了一套應用程序編程接口和庫,可以與非Sybase數據源及服務器集成,允許在多個數據庫之間復制數據,適于創建多層應用。系統具有完備的觸發器、存儲過程、規則以及完整性定義,支持優化查詢,具有較好的數據安全性。Sybase通常與SybaseSQLAnywhere用于客戶機/服務器環境,前者作為服務器數據庫,后者為客戶機數據庫,采用該公司研制的PowerBuilder為開發工具,在我國大中型系統中具有廣泛的應用。

Adaptive Server Enterprise (ASE) 是 Sybase 的旗艦式 RDBMS 產品,一直致力于以最低的系統總擁有成本 (TCO) 為企業提供一個高性能的數據和事務處理系統。最新版 ASE12.5.1/12.5.2 在繼續保持以前版本的關鍵業務性能和高效計算的同時,在易用性、系統性能和支持新應用程序方面進行了增強和改進, 并進一步提高了系統安全Linux可擴展性。Sybase Adaptive Server Enterprise 12.5.1 完善和擴展了 ASE 產品系列

公司歷史

Sybase公司成立于1984年11月,總部設在加利福尼亞州愛莫利維爾(現為美國加州的Dublin市)。作為全球最大的 獨立軟件廠商之一,Sybase公司致力于幫助企業等各種機構進行應用、內容及數據的管理和發布。Sybase的產品和專業技術服務,為企業提供集成化的解決方案和全面的應用開發平臺。Sybase作為享譽全球的跨國公司,在63個國家設立了分支機構,擁有4萬多家客戶,主要集中在金融服務業、政府部門、電信、醫療保健和媒體服務業。 Sybase 公司是全球領先的企業集成解決方案供應商,不僅擁有業界最完整的企業數據管理系統、領先的企業門戶產品以及移動與無線解決方案,還致力于整合各種應用平臺、數據庫和應用軟件。作為全球最大的獨立軟件廠商之一,Sybase解決方案將企業信息流轉換成經濟效益,便于企業在恰當的時間把準確的信息提供給合適的人群,使企業從數據資產中獲取最大利益。

Sybase公司一向認為:軟件的價值在于應用。在“用戶第一,市場第二;服務第一,銷售第二”的市場發展策略指導下,Sybase與用戶共擔風險,共同前進,穩步發展。如今,Sybase在中國的員工總數近200人,成為Sybase公司發展最快的海外分支機構之一。為了更好地給國內用戶提供一流的技術支持和服務,Sybase已陸續在上海市、成都市廣州市等地設立了辦事處,合作伙伴更是遍布全國各地。

自進入中國以來,Sybase一直致力于同國內外應用軟件提供商、國內教育、科研部門的合作,積極引入符合國情的應用軟件,并大力扶植代理商和集成商,為中國的用戶架起通向互聯經濟的橋梁。

Sybase公司一直面向電信、證券、金融、政府、交通與能源等領域穩步發展。尤其是在電信行業一直在同行業中處于領先地位。該季度中屢獲殊榮的Sybase數據庫產品先后博得了北京、云南省山東省、河北省、江蘇省等省市地區電信、移動及中國聯合通信有限公司的青睞,并且在云南、河北等省7號信令網管系統項目中力拔頭籌,一舉中標。另外,山東電信在本地網管升級改造項目中,全省17個地市再次選用了Sybase產品作為數據庫軟件平臺。并在成功贏得中國聯通全國91個城市有話通的接入項目的基礎上,又獲得了三期工程32個城市的數據庫定單。在交通能源領域,中遠集裝箱運輸有限公司在其構建的IRIS-2系統項目中與Sybase簽定了280萬美金的合同。

在此期間,Sybase公司還推出了最新的旗艦數據庫產品Adaptive Server Enterprise12.5、業界著名的開發工具 PowerBuider8.0、新型企業門戶產品EP2.0、針對金融行業的解決方案FFS及行業數據倉庫IWS等產品。由于新品均適應于當前及未來的企業電子商務應用,故在短時間內便受到了業界的關注和客戶的好評,為未來業績的贏收奠定了良好的基礎。

在剛剛踏入2002年之際,Sybase公司憑借性能卓越的產品技術和睿智而富有個性的解決方案,先后在中國人民銀行、南京地稅、本地網計費等領域中大展宏圖,從而為2002年業績的廣為發展奠定了牢固的基礎,穩坐同行業的領先地位。展望未來,Sybase公司除了致力于中國電子商務的建設和發展,還將進一步加強在中國投資。Sybase公司將同中國不同行業的合作伙伴建立合資公司、合作解決方案的提供以及同中國的大學進行教育合作和培訓的項目。

數據庫,雖然沒有Oracle數據庫DB2名氣響,但是國內許多大企業都使用它,尤其金融企業。

Adaptive Server Enterprise (ASE) 是Sybase 的旗艦式RDBMS 產品,一直致力于以最低的系統總擁有成本(TCO) 為企業提供一個高性能的數據和事務處理系統。

Sybase Adaptive Server Enterprise 12.5.1 完善和擴展了ASE 產品系列,使其成為用于各種平臺(從基于 Linux英特爾 系統到來自Sun 或HP 的基于RISC 的64處理器平臺) 的理想數據庫系統。當今的企業需要一個更易于使用、資源效率更高、更可靠,而且可以與企業級應用輕松集成的企業基礎架構技術,以有效控制和降低成本。Sybase ASE 12.5.1 專門設計用于增強這些功能。

最新推出的 ASE12.5.2 繼續遵循ASE12.5.1 提出的降低應用整體TCO 的技術策略,并進一步發展和完善了實時數據服務,動態數據歸檔等擴展功能,以期達到幫助用戶進一步降低TCO的關鍵目標。

現在,如果采用 SybaseRTDS實時數據服務包,Sybase 的ASE 最新版可以通過JMS消息總線為高性能的實時消息服務提供集成數據庫的支持。用戶可以將它用于關鍵業務信息系統中,Sybase ASE 實時消息服務功能可以提供實時報警和通知,并且用戶可以直接獲得這些改變。

Sybase ASE 確保最高的操作有效性和各種平臺上的吞吐量,從32/64 位Linux/英特爾 到各種大規模的SMP 系統。

ASE 幫助您的企業:

* 降低運行成本- 自我管理功能提高系統運行的可伸縮性— 這個功能可以在人員和系統資源較少的情況下實現更高的性能。

* 降低開發成本- 增強的Web 服務和XML 功能可以更快地、更容易地開發、提交和維護新的業務應用。

* 降低硬件成本- ASE 支持大規模數據集,能夠提高各種平臺上的數據量,包括32 和64 位的Linux/Intel系統。

目前版本 - ASE 12.5.3 Interim Release 具有新的功能,包括跨平臺Dump 和Load,便于系統遷移。

數據庫

版本

1984年,Mark B. Hiffman和Robert Epstern創建了Sybase公司,并在1987年推出了Sybase數據庫產品。SYBASE主要有三種版本,一是UNIX操作系統下運行的版本,二是Novell Netware環境下運行的版本,三是Windows NT環境下運行的版本。對unix操作系統目前廣泛應用的為SYBASE 10 及SYBASE 11 forSCO UNIX。

特點

(1)它是基于客戶/服務器體系結構的數據庫

一般的關系數據庫都是基于主/從式的模型的。在主/從式的結構中,所有的應用都運行在一臺機器上。用戶只是通過終端發命令或簡單地查看應用運行的結果。而在客戶/服務器結構中,應用被分在了多臺機器上運行。一臺機器是另一個系統的客戶,或是另外一些機器的服務器。這些機器通過局域網廣域網聯接起來。

客戶/服務器模型的好處是:

1)它支持共享資源且在多臺設備間平衡負載

2)允許容納多個主機的環境,充分利用了企業已有的各種系統

注釋:什么是客戶/服務器體系結構

從硬件角度看,客戶/服務器體系結構是指將某項任務在兩臺或多臺機器之間進行分配,其中客戶機(Client)用來運行提供用戶接口和前端處理的應用程序,服務器機(Server)提供客戶機使用的各種資源和服務。

從軟件角度看,客戶/服務器體系結構是把某項應用或軟件系統按邏輯功能劃分為客戶軟件部分和服務器軟件部分??蛻糗浖糠忠话阖撠煍祿谋硎竞蛻?,處理用戶界面,用以接收用戶的數據處理請求并將之轉換為對服務器的請求,要求服務器為其提供數據的存儲和檢索服務;服務器端軟件負責接收客戶端軟件發來的請求并提供相應服務客戶/服務器融合了大型機的強大功能和中央控制以及PC機的低成本和較好的處理平衡。客戶/服務器為任務的集中/局部分布提供了一種新的方法,這種體系能夠使用戶對數據完整性、管理和安全性進行集中控制。在緩解網絡交通和主機負荷以及滿足用戶需要方面,客戶/服務器體系提供了良好的解決方案。

總之,客戶/服務器的工作模式是:客戶與服務器之間采用網絡協議(如TCP/IP、IPX/SPX)進行連接和通訊,由客戶端向服務器發出請求,服務器端響應請求,并進行相應服務。

(2)它是真正開放的數據庫

由于采用了客戶/服務器結構,應用被分在了多臺機器上運行。更進一步,運行在客戶端的應用不必是Sybase公司的產品。對于一般的關系數據庫,為了讓其它語言編寫的應用能夠訪問數據庫,提供了預編譯。Sybase數據庫,不只是簡單地提供了預編譯,而且公開了應用程序接口DB-天秤座,鼓勵第三方編寫DB-LIB接口。由于開放的客戶DB-LIB允許在不同的平臺使用完全相同的調用,因而使得訪問DB-LIB的應用程序很容易從一個平臺向另一個平臺移植。

(3)它是一種高性能的數據庫

Sybase真正吸引人的地方還是它的高性能。體現在以下幾方面:

1)可編程數據庫

通過提供存儲過程,創建了一個可編程數據庫。存儲過程允許用戶編寫自己的數據庫子例程。這些子例程是經過預編譯的,因此不必為每次調用都進行編譯、優化、生成查詢規劃,因而查詢速度要快得多。

2)事件驅動的觸發器

觸發器是一種特殊的存儲過程。通過觸發器可以啟動另一個存儲過程,從而確保數據庫的完整性。

3)多線索化

Sybase數據庫的體系結構的另一個創新之處就是多線索化。一般的數據庫都依靠操作系統來管理與數據庫的連接。當有多個用戶連接時,系統的性能會大幅度下降。Sybase數據庫不讓操作系統來管理進程,把與數據庫的連接當作自己的一部分來管理。此外,Sybase的數據庫引擎還代替操作系統來管理一部分硬件資源,如端口、內存、HDD,繞過了操作系統這一環節,提高了性能。

訪問過程

1)建立客戶與服務器之間的連接,包括網絡連接、客戶進程與服務器進程之間的連接;

2)客戶端通過網絡發送SQL給服務器,用來查詢或操作服務器中的數據或數據庫對象

3)服務器接收到SQL語句后,對其進行語法分析、優化和編譯后執行;

4)如果執行的語句產生一個結果集,服務器通過網絡把結果集返回給客戶

5)客戶端對收到的結果作相應的處理。

在客戶/服務器體系,有兩種數據庫引擎結構,即多進程數據庫引擎和單進程、多線程引擎結構。多進程結構即多個可執行程序同時運行。每當用戶登錄到數據庫系統時實際上都啟動了數據庫引擎的一個獨立實例。存在起協調作用的進程協調進行之間的通訊以保證當多用戶訪問相同數據時數據的完整性。多進程數據庫引擎一般用在大型機數據庫上。單進程多線程數據庫引擎在原理上和多進程數據庫引擎類似,不同的是多線程數據庫引擎自己負責調度各應用程序占用CPU的時間,而不依賴于操作系統。這樣,多線程數據庫引擎自我保護的能力更強。

Sybase數據庫管理系統采用的是單進程多線程的引擎結構。

產品介紹

軟件組成

Sybase軟件可劃分為三個部分:

1)進行數據管理與維護的聯機關系數據庫管理系統Sybase SQL Server

2)支持數據庫應用系統的建立和開發的一組前端工具軟件Sybase SQL Tools

3)把異構環境下其他廠商的應用軟件和任何類型的數據連接在一起的接口軟件Open Client/Open Server。

SQL Server是個可編程的數據庫管理系統(DBMS),它是整個Sybase產品的核心軟件,起著數據管理、高速緩沖區管理、事務管理的作用。

ISQL是與SQL Server進行交互的一種SQL句法分析器。ISQL接收用戶發出的SQL,將其發送給SQL Server,并將結果以形式化的方式顯示在用戶的標準輸出上。lset的一個主要組成部分,它的作用在于使用戶能夠設置和管理SQL Server上的數據庫,并且為用戶提供一種對數據庫的信息執行添加、更新和檢索等操作的簡便方法。在DWB中能完成ISQL的所有功能,且由于DWB是基于窗口和菜單的,因此操作比ISQL簡單,是一種方便實用的數據庫管理工具。

APT是Sybase客戶軟件部分的主要產品之一,也是從事實際應用開發的主要環境。APT工作臺是用于建立應用程序的工具集,可以創建從非常簡單到非常復雜的應用程序,它主要用于開發基于表格(form)的應用。其用戶界面采用窗口和菜單驅動方式,通過一系列的選擇完成表格(form)、菜單和處理的開發。

通過Open Client的DB-LIB庫,應用程序可以訪問SQL Server。而通過Open Server的SERVER-天秤座,應用程序可以訪問其它的數據庫管理系統。

基本特征

SQL Server具有如下一些基本特征:

1)SQL Server可以放在若干個磁盤設備上,初始安裝時所需的磁盤空間至少要17MB。

2)SQL Server支持多庫結構,也就是說Sybase系統中可以有多個數據庫。Sybase可以管理多個數據庫。

3)SQL Server可以編譯和運行Transact-SQL語句,并可返回客戶程序所要求的結果。T-SQL語句是標準SQL的擴充,它除了有數據定義語句、數據操縱語句和數據控制語句之外,主要增加了流程控制語句。

4)SQL Server可以管理多個用戶并具有較高的事務吞吐量和較低的事務響應時間??蛻舻膽贸绦蚩梢源嫒?a href="/hebeideji/8258892572060149229.html">server中某一個或幾個數據庫的數據。

主要內容

Sybase SQL Server是一個多庫結構的RDBMS,安裝Sybase數據庫時自動生成的系統數據庫體系結構大致如下:

1)主數據庫master

2)模型數據庫model

3)系統過程數據庫sybsystemprocs

4)臨時數據庫tempdb。

也可選擇下列數據庫:

5)安全審核數據庫sybsecurity

6)示例數據庫pubs2

7)命令語法數據庫sybsyntax

1.2.3.1 系統數據庫

服務器自身所使用的數據庫,也可以說是管理服務器和用戶數據庫的數據庫。Sybase在安裝時,自動創建了四個系統數據庫:

碩士、model、tempdb、sybsystemprocs

(1) master數據庫

它是管理和控制用戶數據庫以及維護服務器正常運行的核心數據庫,它包含許多系統表和系統過程,從總體上控制用戶數據庫和SQL Server的操作,構成了SYBASE系統的數據字典,它保存了大量的系統信息,如服務器配置、用戶、設備等。

在master數據庫中不允許普通用戶在其中創建數據庫對象,否則會使得master數據庫的事務日志很快變滿。如果事務日志用盡,就無法使用dump transaction命令釋放master數據庫中的空間。

master數據庫主要記錄信息為:

1)登錄帳號(SQL服務器用戶名);syslogins,sysremolelogins

2)正在執行的過程;sysprocesses

3)可修改的環境變量;sysconfigures

4)系統錯誤信息;sysmessages

5)SQL服務器上每個數據庫的信息;sysdatabases

6)每個數據庫占用的存儲空間;sysusages

7)系統上安裝的盒式錄音磁帶及磁帶信息;sysdevices

8)活動鎖信息;syslocks

(2)model數據庫

它是為創建用戶數據庫而提供的模板。它提供了新用戶數據庫的初型。當我們每次用CREATE DATABASE命令時,SQL Server都產生一個model數據庫的拷貝,以此作為新用戶數據庫,然后把它擴展到命令要求的尺寸。如果我們修改了model數據庫,那么以后新創建的數據庫都將隨它而改變。

Model數據庫中包含每個用戶數據庫所要求的系統表。Model數據庫可以被修改以便定制新創建的。

下面是幾個通常用到的對model數據庫的改變:

增加用戶數據庫類型、規則或缺省

可存取SQL Server上所有數據庫的用戶用sp_adduser增加到model數據庫上

缺省權限(特別是guest帳號)可在model中建立

諸如select into/bulkcopy那樣的數據庫選項可在model中設置。這些設置反映到所有新創建的數據庫中。它們在model中最原始的值是關(off)。

在一般情況下,大多數用戶無權修改model數據庫,也沒被授權讀取。因為model中所有內容已拷貝到新數據庫中,授權讀model沒什么意義。

(3)tempdb數據庫

它是個臨時數據庫,為服務器運行與處理提供一個共享的存儲區域,如group by和order by的中間結果就存放在這里。tempdb的空間為服務器中所有數據庫的所有用戶所共享。

每次重啟SQL Server,服務器的一個自動進程都拷貝model數據庫到tempdb數據庫,并清除tempdb中原來的內容。因此tempdb中的用戶表都是臨時的。臨時表分為兩類:可共享的和不可共享的。不可共享的臨時表在由create table中將符號#置于表名之前創立;可共享的臨時表通過create table中指定表名前綴tempdb..而創立。不可共享的臨時表SQL Server自動為其添加數字后綴名,且它只存在于當前會話中。

(4)sybsystemprocs數據庫

它是專門用來保存系統命令(存儲過程)的數據庫,如sp_help、sp_configure、sp_helpdevice等。當任一數據庫用戶運行以sp_開頭的存儲過程時,SQL Server按照以下順序查找:當前數據庫、sybsystemprocs數據庫、master數據庫。

其他可選數據庫:

(5)安全審核數據庫sybsecurity

數據庫中保存系統的安全審核信息,它可跟蹤記錄每個用戶的操作情況,為維護系統安全提供控制手段。

(6)示例數據庫pubs2

為用戶提供一個學習SYBASE的數據庫模型。

(7)命令語法數據庫sybsyntax

庫中保存SYBASE數據庫的命令語法及支持的語言庫。

1.2.3.2 用戶數據庫

用戶數據庫是我們使用Sybase服務器的真正目的。要管理用戶數據,必須在Sybase中創建自己的數據庫,是指用create 數據base命令創建的數據庫。所有新的用戶數據庫都要在master數據庫中創建,也就是說,不能存取master數據庫的用戶是無權創建新的數據庫的。SA可以將創建數據庫的權限授予其他用戶。新建數據庫中存在一些系統表,在sysusers表中至少有一條記錄,既該數據庫的創建者。數據庫創建時,創建者即為該數據庫的 owner, 當然創建者可以將這一地位或這一所有權用系統過程授予別的用戶。

數據庫中的主要內容——數據庫對象:表、視圖、臨時表、索引、主鍵、外鍵、缺省值、規則、存儲過程、觸發器

基礎知識

Sybase安裝

安裝建立SQL Server以后,要建立放置數據庫、日志和索引的邏輯磁盤設備。數據庫、日志和索引的配置應注意以下原則:

1)不要把任何用戶對象安裝在master數據庫中。

2)日志應該保存在與數據庫分離的磁盤上。

3)可以通過跨越多個設備分配工作優化I/O性能。

2.1.1 Sybase 的初始配置需要做的內容:

1)更改sa的登錄口令

2)命名服務器;

3)修改文件名(保證Sybase Central正常啟動)

4)更改缺省設備;

5)增加tempdb的空間。

6)創建用戶數據庫(創建數據庫設備,設備大小以頁(2K)為單位)

系統管理

1)物理資源的管理

2)用戶及其權限管理

3)數據庫的備份與恢復

4)SQL Server的配置參數

服務器配置是系統管理員的職責,正確的配置對系統性能有重大的影響。有兩個系統表存儲配置信息:sysconfigures和syscurconfigs;sysconfigures是永久性的,一旦系統運行,sysconfigures的信息就拷貝到syscurconfigs中。顯示配置和改變配置使用系統過程sp_configure。

有兩種配置值:動態的和靜態的,動態值一旦改變立即生效,靜態值要在系統重啟動后才起作用。

啟動和關閉

2.3.1 啟動SQL Server

應用SQL Server安裝程序(sybinit)創建SQL Server或Backup Server, 默認文件名為RUN_SYBASE 和RUN_SYB_BACKUP,放在$SYBASE/INSTALL目錄下。Startserver 用來啟動SQL Server 或Backup Server:

可以通過showserver查看SQL Server 和Backup Server是否已經啟動。

SQL Server的啟動過程:master數據庫啟動-- Sybsystemproces數據庫啟動--tempdb--model --用戶數據庫。

啟動SQL Server的單用戶模式:如果要恢復一已被損壞的master數據庫,則必須要啟動SQL Server的單用戶模式。單用戶模式下僅允許一個系統管理員向SQL Server注冊。

Startserver -f RUN_SYBASE -m

2.3.2 關閉服務器

關閉SQL Server可以在isql中使用Transact-SQL命令:

關閉SQL備服務器:shutdown SYB_BACKUP

關閉SQL主服務器:shutdown [with nowait]

存儲空間管理

初始安裝SQL Server時,安裝程序和腳本初始化主設備,并建立master、model、tempdb和sybsystemprocs數據庫。系統數據庫、預定義設備和段按下列默認方式組織:

1)master、model、tempdb數據庫安裝在主設備master上;

2)sybsystemprocs數據庫安裝在安裝時選擇的設備上(sysprocsdev)

3)為每個數據庫創建三個預定義段:system、default和logsegment;

4)所有用戶創建數據庫的默認設備是master設備

5)如果選擇安裝了審計數據庫sybsecurity,它位于自己的設備上。

2.4.1 設備與存儲管理考慮的主要問題

(1)恢復問題

物理磁盤崩潰時,磁盤鏡像或在單獨的物理設備上保存日志為數據庫恢復提供了兩種機制。

(2)性能問題

磁盤讀寫速度是I/O操作的瓶頸,正確地把數據庫對象放置到物理設備上有利于改進性能;把日志和數據庫對象置于單獨的設備上可以提高系統性能;把表放在一個HDD上而把索引放在另一個硬盤上,由于把工作分置于兩個機械硬盤上,所以可以確保物理讀寫速度加快;磁盤鏡像會降低磁盤寫的速度。

2.4.2 設備(Device)

Sybase SQL Server是一個多庫數據庫系統。這些數據庫包括系統數據庫和用戶數據庫。而不論是系統數據庫還是用戶數據庫,都建立在數據庫設備上。即Sybase將數據庫中的所有數據存放在設備上。刪除設備前必須刪除其上的所有數據庫,刪除設備的命令是:sp_dropdevice。

2.4.2.1 設備的概念

設備是Sybase預先配置的專門存放數據庫的一塊連續的磁盤空間,并且它被映射到一操作系統文件或一原始磁盤分區上。即它不是指一個可識別的物理設備,而是指用于存儲數據庫和數據庫對象的磁盤原始分區或操作系統文件。它有兩個對應的名稱:邏輯名和物理名。NT僅支持設備映射到文件。所有的數據庫都創建在數據庫設備上。增加一個新的數據庫設備時,必須對這些設備“初始化”。初始化的過程就是將物理磁盤、磁盤分區或操作系統文件變為SYBASE數據庫可以識別的設備。初始化數據庫設備使用DISK INIT命令。

設備與數據庫之間的關系:多對多關系。一個數據庫可以被創建或擴充到多個設備上,一個設備也可以被用來存放多個數據庫。不同的設備操作系統可以對其并行地讀寫,因此我們可以人為地將一個數據庫放置到多個數據庫設備上。

設備的分類:Database device和Dump Device。數據庫設備存放數據庫和事務日志,轉儲設備用來存放數據庫或日志的備份。

2.4.2.1.1 默認設備

在沒有指定設備的情況下,用戶創建的任何數據對象自動存放在默認設備上。初始安裝后,系統的主設備master被預指定為默認設備,因此要盡快創建自己的默認設備。確保系統主設備安全,指定僅被日志使用的設備不是默認設備。

Sp_diskdefault 設備名[,DefaultOn|DefaultOff]

2.4.2.2磁盤鏡像

磁盤鏡像是出于數據庫安全性的考慮,當介質失敗時,磁盤鏡像能提供不間斷恢復。磁盤鏡像是磁盤上的數據的絕對拷貝。如果某一HDD事故發生,則該被損壞的拷貝就自動變成離線狀態,因而所有的讀寫都被引向未被損壞的拷貝。

Sybase的磁盤鏡像是在設備級上進行的,因此磁盤鏡像實質上是設備鏡像。當對某一設備進行鏡像操作時,Sybase自動創建一個附加設備,由鏡像處理程序將原設備上的所有數據拷貝到鏡像設備上。

如果要使某一數據庫成為鏡像,被分配給該數據庫的每一設備都必須成鏡像。Master設備在服務器中地位特殊,如果它損壞了,SQL Server將崩潰。因此,如果有可能總是要鏡像Master設備(在另一磁盤上)。

2.4.3 創建與使用段

段(線段)是數據庫設備上磁盤空間的邏輯組合,它可以看作是指向一個或多個數據庫設備的標簽。利用段可以控制數據庫對象的存放位置,可以將數據庫對象分類存放到不同的段上。

設備與段之間的關系:多對多關系。一個設備上可以創建多個段,一個段也可以覆蓋多個設備。

數據庫設備從邏輯上被劃分為數據庫段以允許將某一特定的對象放置在指定的段上(創建對象時指定),一數據庫設備可擁有多達192個段,一段可使用255個邏輯設備上的存儲空間。當用戶創建一個數據庫時,SQL SERVER 會自動在該數據庫中創建三個段?用來存儲數據庫的系統表、事務日志和其他數據庫對象

2.4.3.1 使用段的優點

1)控制空間的使用:放在一個段上的數據庫對象不會在段外增長;

2)提高性能:處于不同磁盤設備上的段可以并行地讀寫

3)處理大表:利用段,可以將一個大表分段放在獨立的物理設備上,如將一個表的文本或圖象數據存儲另外的一個段上。

兩個數據庫放在同一設備的不同段上,它們不會相互影響;當數據庫增加空間時,增加的空間會自動分配到它的每一個段上

使用閾值管理

閾值(Threshold)管理是一種自動監控數據庫自由空間的機制,Sybase的閾值管理允許用戶為數據庫的某個段上的自由空間設置閾值并定義相應的存儲過程。當該段上的自由空間低于所置頭閾值時,Sybase自動運行相應的存儲過程。

在一個實際運行的數據庫中,日志的增長速度一般要高于數據的增長,一旦日志段的自由空間用盡,SQL Server在默認情況下會掛起所有數據操縱事務,客戶端應用程序停止執行。

在每個分離的段上存儲其事務日志的數據庫均自動設置有最后機會閾值(Last Chance Threshold),其閾值是備份事務日志所需的自由空間的估計值。當該段上的自由空間低于所置閾值時,Sybase自動運行名為sp_thresholdaction的存儲過程。該過程的名稱及參數由系統預定義,內容由用戶編寫。

事務日志

通常用戶數據庫由系統管理員創建,它的默認屬主是dbo。系統過程sp_changeddbowner可改變數據庫的屬主關系,它必須由數據庫管理員在要改變屬主關系的數據庫中執行。

日志文件是用來記錄數據庫每一次修改活動的文件。SQL Server中的每一個數據庫都有自己的日志文件,即系統表syslogs,也稱為事務日志。事務日志是撤消事務和出現故障時恢復事務的依據。在某些情況下,事務日志比數據本身更為重要。

數據庫的修改是以事務為單位進行的。一個事務就是一個操作序列,這些操作要么全做,要么全不做,它是一個不可分割的工作單位。任何一個事務具備如下特征:

1)執行的原子性(Atomic)

2)保持數據的一致性(Consistency);

3)彼此的隔離性(隔離

4)作用的持久性(Durability);

上述事務的四個特征被稱為事務的ACID準則。

事務在運行過程中,SQL Server把事務開始、事務結束以及對數據庫的插入、刪除和更新等每一個操作作為一個日志記錄存放到事務日志中。事務中的更新操作首先在數據庫緩沖區內存)中進行,緩沖區分別有用來記錄操作活動的數據頁(data page)和日志頁(log page)。當運行到commit tran時,日志頁首先從緩沖區寫到磁盤上,而后數據頁從緩沖區寫到磁盤上,即遵循“先寫日志(write_ahead log)”的原則,這樣保證出現故障的情況下,通過日志能夠得到最大限度的恢復?;謴捅仨毘废l生故障時還未提交的事務,已完成的事務若仍有未從緩沖區寫到數據庫設備中,還要重新運行該事務。

用戶管理

數據庫的安全性是指保護數據庫以防止不合法的使用所造成的數據泄露、更改或破壞。SQL Server的安全管理是一種基于角色(role)的管理方法,位于不同權限層次(或角色)的用戶具有不同的用戶權限。

規定用戶權限有三個因素:用戶、數據對象和操作,即什么用戶在哪些數據對象上可以執行什么操作。

訪問SQL Server中數據的四道屏障:

1)操作系統——操作系統登錄

2)Sybase服務器——服務器登錄

3)Sybase數據庫——數據庫用戶登錄

4)數據庫對象——對象授權

2.7.1 用戶管理概述

在SYBASE數據庫中,用戶管理是系統管理的一個重要組成部分,但其重要性卻往往被人忽視。許多時候,操作數據庫的命令不成功常與用戶管理有關,而許多誤操作命令的發生也可以通過用戶管理來避免。因此,弄清用戶管理的一些基本概念,對成功進行數據庫系統管理有重要的作用。

2.7.1.1 SQL SERVER注冊用戶和數據庫用戶

剛接觸到這兩個概念的時候,可能會有所混淆,但只要了解SYBASE SQL SERVER的結構后,就會清楚。SYBASE SQL SERVER為一進程,進程本身可管理多個數據庫。而有些數據庫是相互獨立的,有些數據庫是可以共用的,如tempdb和sysbsystemprocs數據庫。SQL SERVER與本身數據庫的關系猶如城市與其中樓房的關系,當進入某一城市時需某一合法的身份,但進入城市的人并非每個樓房都可進入,即使允許進入也不能干某些事。SQL SERVER注冊用戶與數據庫用戶關系即是如此。當SQL SERVER創建注冊用戶后,該用戶就能合法進SQL SERVER,該注冊用戶信息會放在master數據庫中的 syslogins表中。但只有注冊用戶成為某一數據庫用戶,并且對該用戶賦予某些權限時,該注冊用戶才能在限制條件下使用數據庫中的表。

2.7.1.2 SQL SERVER數據庫用戶分類

在SQL SERVER中用戶一般分為以下四種:

1)sa用戶。

2)數據庫屬主

3)數據庫對象屬主。

4)數據庫普通用戶。

sa用戶在SQL SERVER中為最高等級用戶,SQL SERVER中所有命令都可執行。

數據庫屬主(dbo)用戶可對本數據庫中所有對象(如表、視圖、存儲過程等)進行操作,一般有三種途徑創建:

a.為系統管理員的用戶

b.系統管理員的用戶將創建數據庫的權限賦予某個SQL SERVER中注冊用戶,由該用戶進行數據庫的創建后,自然形成數據庫屬主

c.系統管理員的用戶創建數據庫后,將某個SQL SERVER中注冊用戶變為數據庫的屬主。

數據庫對象屬主為創建該對象的用戶,在實際的數據庫的管理中,一般為數據庫屬主。

數據庫普通用戶必須在數據庫屬主對本數據庫中某些對象(如表、視圖、進程等)賦予某些權限時,才可對本數據庫中某些對象進行允許的操作。

幾者的關系是相互包含的:系統管理員的用戶在進入某個數據庫后,自然成為該數據庫的屬主,數據庫屬主可看作為特殊的數據庫普通用戶。

2.7.2 別名(aliases)與組(基團

別名(aliases)與組(group)在數據庫管理中是經常用到的,它能簡化數據庫用戶管理,方便對用戶的監控。

所謂別名(aliases)即將SQL SERVER中的注冊用戶以同一個數據庫用戶的身份來訪問數據庫,并具有與該用戶相同的權限。也就是說,在數據庫中只要建立一個數據庫用戶,對該數據庫用戶各種操作定義好,并使SQL SERVER 中已經定義好注冊用戶成為該數據庫用戶的別名用戶后,即擁有與該用戶相同的權限。這樣一來,注冊用戶不必成為數據庫的用戶即可訪問數據庫,對所有別名用戶的權限的控制只需通過對一個數據庫用戶的控制達到。如:有一SQL SERVER名為TEST.SER,有一名為EXAMPLE的數據庫,其中有一名為OK的表,當系統管理員為TEST.SER創建名為JOHN和KATE的注冊用戶,EXAMPLE的數據庫中有一名為OK_SELECT的數據庫用戶,該數據庫用戶有對OK表的查詢權限。將JOHN和KATE這兩個注冊用戶變為OK_SELECT的別名后,JOHN和KATE即可進入數據庫,并擁有與OK_SELECT的數據庫用戶相同的權限。

組(group)為數據庫用戶的集合,即通過對組(group)的權限的控制達到對該組中數據庫用戶的控制,但也可對該組中數據庫某些用戶進行格外的權限控制。在上例中的EXAMPLE的數據庫中有一OK_INSERT的組,它對OK的表有插入的權限,數據庫中有兩個用戶:MARRY和KITY,當這兩個用戶加入到OK_INSERT組后,MARRY和KITY就有對OK表的插入的權??的控制可得。而使MARRY對OK表有查詢權限,僅對MARRY用戶賦權即可。而別名則不行。

2.7.3 SYBASE SQL SERVER的角色

一般在管理分工較細的數據庫系統中,sa用戶往往被分為三種角色:系統管理員角色(SA role)、系統安全員角色(SSO role)和操作員角色(OPER role)。

sa用戶往往被鎖住,其權力被以上三種角色所瓜分。這三種角色將分別用不同的數據庫注冊用戶承擔。

角色是權限的集合。系統預定義角色:一個真正的數據庫管理員應該是整個服務器及其數據庫的擁有者,具有管理服務器及其數據庫的所有權限。在一個大的系統中,數據庫管理員往往不只由一人承擔,而是將管理任務進行功能劃分,每人提當不同的責任。系統預定義角色就是為適應這種要求而設計的。

1)系統管理員(sa_role)

sa_role角色擁有執行與數據庫具體應用無關的管理權限:

a.安裝與更新SQL Server

b.管理服務器的物理存儲

c.配置系統設置參數

d.創建用戶數據庫

e.授予SQL Server用戶權限

2)系統安全管理員(sso_role)

a.sso_role用來實施安全上敏感的操作,執行有關安全性的任務:

b.建立服務器登錄帳戶

c.管理口令

d.授予除sa_role之外的任何角色

e.管理審計系統

3)操作員(oper_role)

a.oper_role執行全服務器范圍的數據庫操作,如備份與恢復任意數據庫等:

b.轉儲數據庫與日志

c.轉載數據庫與日志

備份與恢復

數據庫的備份與恢復是SQL Server保障數據安全的一種重要手段,為防止意外,數據庫管理員必須定期和經常制作數據庫的一鍵備份。一旦系統出現故障,數據能夠得到及時的恢復。

2.8.1 基本概念

(1)事務處理及其日志

SQL Server使用事務來跟蹤所有數據庫變化。事務是SQL Server的工作單元。一個事務包含一條或多條作為整體成功或失敗的T_SQL。每個數據庫都有自己的事務日志,即系統表syslogs,事務日志自動記錄每個用戶發出的每個事務,它影射了每個事務足夠多的信息,以確保數據能夠被恢復。

(2)檢查點(Check Point軟件技術公司

服務器在檢查點發生時更新數據。在服務器發出一個檢查點時:

1)更新數據。

2)在日志中記錄下執行檢查點的標記。

檢查點可把所有“臟頁”寫到數據庫設備上,“臟頁”是指從上一次檢查點以來,在內存中修改、但沒有在磁盤上修改的頁。SQL Server的自動檢查點機制保證了被完成的事務修改的數據頁有規律地從內存中的緩沖區寫到數據庫設備上。

2.8.2數據庫備份

若硬件介質出現故障(如磁盤損壞),當且僅當事先已對數據庫及其事務日志作了備份,才能恢復數據庫。

注意:絕對不要使用操作系統的拷貝數據庫設備,把這樣一個拷貝裝入SQL Server將導致大量數據庫受損。

備份的類型:

1)完全備份

2)增量備份——備份事務處理日志

說明:

a.只有把事務日志放在單獨的設備上,才能進行增量備份

b.備份事務日志會截斷日志,因此備份的內容是自上次備份以來的事務處理。

c.備份之前要啟動備份服務器,并最好創建轉儲設備。

備注:truncate_only與no_log選項用于刪除事務處理而不作拷貝。Truncate_ONLY截斷日志;在事務處理日志完全滿時用no_log,它不為數據庫建立檢查點。兩個選項都會丟掉日志。當使用了這兩個參數后,應及時備份整個數據庫。no_truncate拷貝日志但不截斷日志,在出現介質錯誤時使用該選項。

2.8.3數據庫的恢復

使用load database加載備份到現有數據庫,數據庫可以是用于創建轉儲的數據庫,也可以不是。

由于事務日志在恢復數據庫中的特殊作用,應定期備份數據庫及其事務日志,而且事務日志的備份要更頻繁一些。如:數據庫每周備份一次,事務日志每天備份一次。

SQL Server提供了兩種不同類型的恢復:一類是系統自動完成的恢復;另一類是人工完成的恢復。

1)系統自動恢復

系統自動恢復是在系統軟件出現故障的情況下通過重新啟動SQL Server進行恢復。

自動恢復從master數據庫開始,然后是model數據庫,再是temporary數據庫,最后是用戶數據庫。在每個數據庫上,恢復機制觀察事務日志。如果日志寫入比數據庫更近的數據,則向前恢復數據庫。如果事務尚未完成,則要回退它們。

2)介質故障的恢復

一旦介質發生故障,只有通過以前備份的數據庫和事務日志才能恢復數據庫,為此我們需要經常備份數據庫和事務日志。備份數據庫和事務日志我們使用dump命令,而恢復數據庫和事務日志我們使用load命令。

與創建數據庫需要一個數據庫設備類似,我們備份數據庫和事務日志也需要一個卸出設備。增加卸出設備可以通過系統過程sp_addumpdevice來實現。卸出設備可以是磁盤、磁帶或操作系統文件。

在備份數據庫前的所有事務日志備份都是沒有意義的。我們一般不經常備份數據庫,但我們要經常備份事務日志。這是因為備份事務日志比備份數據庫需要更少的時間和存儲空間。

3)恢復用戶數據庫

要恢復已被破壞的數據庫,可以按如下步驟進行:

a.用帶no_truncate選項的dump命令卸出用戶數據庫事務日志。

b.用和被破壞的數據庫的同樣的結構建立一個新的數據庫。

c.用load命令重新裝入數據庫和事務日志。

T-SQL語言

關系數據庫以關系模型為基礎,它由以下三部分組成:

1)數據結構——模型所操作的對象、類型的集合

2)完整性規則——保證數據有效、正確的約束條件

3)數據操作——對模型對象所允許執行的操作方式

關系(Relation)是一個由行和列組成的二維表格,表中的每一行是一條記錄(Record),每一列是記錄的一個字段(Field)。表中的每一條記錄必須是互斥的,字段的值必須具有原子性。

2.9.1 SQL概述

SQLSQL)是關系數據庫語言的一種國際標準,它是一種非過程化的語言。通過編寫SQL,我們可以實現對關系數據庫的全部操作。

1)數據定義語言(DDL)——建立和管理數據庫對象

2)數據操縱語言(DML)——用來查詢與更新數據

3)數據控制語言(DCL)——控制數據的安全性

T-SQL語言是Sybase對SQL92標準的一種擴展,主要在它的基礎上增加了三個方面的功能:自己的數據類型/特有的SQL函數/流程控制功能。

Transact-SQL中的標識符使用說明:標識符由1-30個字符或數字構成,但首字符必須為字母。臨時表的表名以#開頭,長度不能超過13個字符。

亂碼問題

搭建測試Sybase數據庫服務器時,遇到亂碼問題,之前沒有遇到是因為開發數據庫服務器是早就安裝好并設置好字符集的,因此些問題在部署測試環境時才出現,當已經將數據庫配置完畢,并且所有的初始化腳本都已經執行完畢,工程也已經成功部署在WebLogic上,打開IE,運行程序,卻發現所有從數據庫中讀取出來的都是亂碼,這種情況下就需要設置字符集進行解決亂碼問題。設置字符集的過程:

1、安裝完Sybase后,如果要想設置字符集為CP936,就必須先安裝該字符集,因為Sybase默認的字符集表中并沒有該字符集,安裝步驟如下:(這里SYBASE的安裝路徑為c:\sybase)

1.c:\>;cd \sybase\charsets\cp936

2.c:\sybase\charsets\cp936>; charset -Usa -Psa_pass -Sserver_name binary.srt cp936通過上述命令就成功將CP936字符集安裝表Sybase的系統字符集表中,但必須重啟Sybase服務兩次才能看到結果,可以通過查看master數據庫中的syscharsets表查看是否已經安裝成功,我們可以看到已經安裝成功了:1002,171,0,1,'cp936','CP936 (Simplified 漢語詞類).',’…’

2、看到CP936的編號為171,我們需要在Sybase的屬性中設置系統字符集為該ID,如下圖所示:如果設置完字符集成出現錯誤,是因為master數據庫的表空間默認只分配幾百K的空間,導入新的數據后已經沒有足夠的空間了,所以要對master數據庫設置大一些的表空間,點擊master數據庫右鍵屬性,選擇表空間的tab頁,對原有的表空間編輯重新分配大小,將master所有的表空間都分配了就可以解決該問題。

3、設置好字符集后就可以執行初始化腳本了。

中國市場

sybase公司于1991年12月進入中國大陸,經過一段時間的本地技術人才積蓄與市場開拓后,在1993年投資230萬美元正式建立Sybase在中國的公司,注冊名稱為賽貝斯軟件(中國)有限公司。

經過十幾年的發展,sybase公司贏得了大量的市場,擁有遍及金融、電信、政府、制造、零售、交易、教育、鐵路、電力、水利、環保、軍事、外貿等行業超過1000家的用戶。擁有雄厚技術實力與產品魅力、一貫堅持“走有特色的中國之路”的sybase中國公司衷心地愿為廣大國內用戶開啟未來的成功之門。sybase公司擁有經驗豐富的技術專家和工程人員,為用戶提供一流的技術支持與服務,包括系統選型、方案論證、業務分析、系統設計和應用開發等,從而多角度全方位地滿足不同用戶、不同應用系統的不同需求。

sybase公司在中國有員工近300人,其中技術人員數量占到公司總人數的85%。sybase中國公司除北京總部外,在上海市成都市、廣州市等地設立了辦事處,并在北京、上海市、西安市等地設立了研發中心,與合作伙伴一道為客戶就近提供服務與支持。為全力提升既定市場的領導地位,sybase于2002、2003年相繼在北京、上海成立“解決方案中心”,加強與客戶、合作伙伴的協作關系并提供最完善的技術顧問。

自90年代初起,sybase已占穩中國市場,隨著中國加入世貿及北京成功申辦2008年奧運會,亞太趨勢必享有策略性的優勢。CCID報告指出,sybase在中國電信業已取得45%的市場占有率,并以36.2%的份額占據國鐵集團數據庫市場絕對的領導地位。sybase公司憑借優異的服務質量,連續三年榮獲CCID頒發“最佳用戶服務滿意度獎”;更榮2002年中國數據庫軟件市場年度成功企業殊榮。IDC調查報告顯示,sybase公司在中國軟件市場的占有率名列第四,目前已占據著國內軟件市場的主導地位。

技術著作

sybase技術在中國推廣以來,已經培養了大量的用戶和上萬名相關工程技術人員。同時,與Sybase相關的技術著作也不斷推出,例如下面的兩套Sybase 相關技術叢書:

Sybase數據庫在unix、Windows上的實施和管理

Sybase全套技術支持資料

這些技術著作滿足了用戶對Sybase產品的理解,提高了用戶的Sybase應用能力,對Sybase的發展產生著深遠影響!

2010年05月13日,思愛普以58億美元收購軟件制造商Sybase。

參考資料 >

生活家百科家居網