在安裝、部署oracle數據庫軟件時,需要根據不同應用結構(即硬件平台、操作系統平台)采用不同的方法(基本安裝、高級安裝),下面介紹幾種常見的應用結構。
1.應用系統的數據接口
客戶端應用程序或應用服務器向數據庫服務器請求服務時,首先必須和數據庫建立連接。雖然現有DBMS幾乎都遵循SQL標准,但不同廠家開發的DBMS有差異,存在適應性和可移植性等方面的問題,為此,人們研究和開發了連接不同DBMS的通用方法、技術和軟件接口。
2.客戶/服務器(C/S)模式應用系統
在C/S(cilent/server)結構模式中,所有數據集中存儲在服務器中,數據處理由服務器完成,一般采用硬件資源配置比較高的機器作為服務器,而使用配置比較低的PC作為客戶端。客戶端與服務端之間通過專用的網絡連接,一般為局域網或企業內部網。
如圖2-1Oracle客戶端/服務器系統結構。應用程序運行在客戶端,Oracle數據庫運行在服務器,二者之間通過計算機網絡連接在一起。Oracle使用SQL*NET在客戶端與服務器之間進行通信。
圖1-2 Oracle客戶端/服務器系統結構
3.Oracle瀏覽器/服務器系統結構
如圖2-2所示為Oracle瀏覽器/服務器(B/S,Browser/Server)三層系統結構。在B/S的三層模型中,客戶端應用程序采用WEB瀏覽器展示,所以客戶端也成手客戶、
圖2-2 Oracle瀏覽器/服務器三層系統結構
客戶端即瀏覽器沒有加載程序,程序部署在Web服務器上,客戶端需要加載或瀏覽數據,首先通過網絡將請求發送給Web服務器,Web服務器通過請求訪問Oracle數據庫服務器,然后Web服務器響應將數據傳遞展示在客戶端。
B/S結構是面向非連接的,即存取數據時建立連接,存取結束時斷開連接,再次存取數據需重新建立連接,所以與C/S結構相比,其效率低。所以,B/S主要應用於運行效率要求不高,以數據對外發布為主的環境。
4.單磁盤獨立主機結構
單磁盤獨立主機結構是最簡單,最常用的結構,在該機構中只有一台計算機,並且計算機使用一個硬盤,在這里Oracle實例表示DBMS,用數據庫文件表示數據庫,如圖2-3:
圖2-3 單磁盤獨立主機結構
注:數據庫服務器(也叫做實例),由一組內存結構和訪問數據庫文件的后台進程組成。
這種應用結構只有一個數據庫服務器(DBMS)、一個數據庫文件(數據庫結構),並且這些數據文件都存儲在一個屋里磁盤上,這是最基本的應用結構,其他的應用結構都是在基礎上修改和擴展。
這種結構將所有數據庫文件都存放在一個硬盤上,因此對硬件的可靠性要求較高,性能調整的方向主要是視圖減少對數據庫文件的訪問次數。
5.多磁盤獨立主機結構
多磁盤獨立主機結構只有一台計算機,但該計算機使用了多個硬盤,如圖2-4:
圖2-4 多磁盤獨立主機結構
該結構只有一個數據庫服務器,一個數據庫結構,但是數據庫存儲在多個物理磁盤中,數據庫文件的分開存儲減少了連接數量,也減少了對數據庫文件的讀寫操作。
如果在這些磁盤上采用磁盤鏡像技術(RAID技術,獨立磁盤冗余陣列技術),則所有數據庫文件在每個硬盤上都有完整的備份,任何一個硬盤發生故障,都能由鏡像磁盤代替其工作,並可對其進行維修、恢復,因此提高了硬件的可靠性。
當處理一個事務或查詢需要對數據庫進行操作,往往涉及多個文件的信息,在這種多磁盤結構中可將數據庫文件存在不同的物理磁盤上,這樣可以減少數據庫文件之間的競爭數量,從而提高數據庫的性能。
注:多磁盤不一定是鏡像的,但是鏡像的一定是多磁盤的,通常,磁盤的鏡像是由硬件系統實現,而不是Oracle的鏡像解決方案。
6.多數據庫獨立主機結構
多數據庫獨立主機結構只有一台計算機,可以有一個或多個硬盤,如圖2-5:
圖2-5 多數據庫獨立主機結構
這種結構由多個數據庫服務器,多個數據文件組成,雖然一台計算機上裝有兩個數據庫,但是它們的內存結構、服務器進程和數據庫文件等都不是共享的,它們有各自的內存機構、服務器進程和數據庫文件,彼此之間不能進行共享,即一個數據庫的進程不能訪問另一個數據庫的文件。這種結構對硬件要求較高(內存大、CPU運算強、硬盤快),一般不采用這種結構。
7.Oracle 分布式數據庫系統結構
數據庫系統按數據分布方式可分為集中式數據庫系統和分布式數據庫系統。集中式數據庫系統是將數據集中存放在一台計算機上,而分布式數據庫系統是將數據存放在由計算機網絡連接的不同計算機上。一個分布式數據庫是由分布於計算機網絡上的多個邏輯相關的的數據庫組成,網絡的每個節點都具有獨立處理能力,可以執行局部應用,也可以通過網絡執行全局應用。如圖2-6為分布式數據庫系統結構:
圖2-6 分布式數據庫系統結構
從圖2-6可以看出,分布式數據庫系統由以下部分組成:
- 局部數據庫管理系統 :創建和管理局部數據庫,執行局部和全局應用子查詢。
- 全局數據庫管理系統:協調各局部數據庫管理系統,共同完成全局事務的執行並保證全局數據庫執行的正確性和全局數據的完整性。
- 通信管理:實現分布在網絡中各個數據庫之間的通信。
- 全局數據字典:存放全局概念模式。
- 局部數據庫:查詢全局數據庫信息。
分布式數據庫管理系統的數據在物理上是分布存儲,即數據存放在計算機網絡上不同節點(局部數據庫),而在邏輯上數據之間有語義上的聯系,屬於一個系統。訪問數據庫的用戶即可是本地用戶,也可是網絡連接的遠地用戶。
Oracle支持分布式數據結構,屬於客戶/服務器模式結構。在網絡中每個用戶具有多用戶處理能力的硬件平台都可以作為服務器,多個服務器上的數據庫對用戶來講是一個邏輯上的單一數據庫系統。在分布式數據庫中,各個服務器之間可以實現數據的實時、定時復制,通過Oracle的遠程數據復制選件、快照等在多個不同地域實現數據遠程復制。圖2-7為Oracle分布式數據庫系統結構。
圖2-7 Oracle分布式數據庫系統結構