數據庫是網絡數據庫的典型代表。用戶可以通過網絡來訪問數據庫。Oracle數據庫提供了網絡互聯的各種方案,包括結構和驅動程序,其網絡通信結構類似於OSI-RM,但又有自己的分層機制。也就是說,Oracle的網絡是基於計算機網絡的,通過網絡使Oracle實現了數據共享、數據完整性控制、數據傳輸、跨操作系統平台(可以同時運行在Linux或者微軟的操作系統平台上)、在多硬件平台之間的數據相互操作。
那麼是什麼保障了Oracle網絡的連通性呢?簡單的說,是全局數據庫名、監聽程序與網絡服務名這三架馬車保障了Oracle網絡的連通性。
第一架馬車:全局數據庫名。
在談到全局數據庫名之前,筆者要先談談這個的域名。這個上的域名就相當於我們現實生活中的門牌號碼一樣,可以在紛繁蕪雜的網絡世界裡准確無誤地把我們指引到我們要訪問的站點。從這個域名來看,它是由幾個不同的部分組成的。這幾個不同的部分彼此之間具有上下的層次關系。其中最後的.CN是域名的第一層,.COM是域名的第二層,而.Ctocio則是真正的域名,處在第三層,依次類推。至此我們可以看出域名從後到前的層次結構類似於一個倒立的樹型結構。其中第一層的.CN叫做地理頂級域名。在這些地理頂級域名下,還可以再根據需要定義次一級的域名。如在我國的頂級域名.CN下又設立了.COM,.NET,.ORG,.GOV,.EDU,以及我國各個行政區劃的字母代表如.BJ代表北京,.SH代表上海等等。故當訪問網站時,只需要輸入域名()即可以打開相應的網站,而不需要輸入難以記憶的IP地址。
而Oracle數據庫系統是一個大型的分布式數據庫系統。有時候出於性能等的考慮,往往需要在企業的多個地方部署多個數據庫系統,這就構成了Oracle分布式網絡環境。為了保障每個數據庫名字的唯一性,Oracle數據庫系統借鑒了域名的命名規則,使用域名結構來命名分布在各地的數據庫。即一個數據庫的全局名字由其數據庫名和該數據庫所在的域名組成。假設現在某一家企業在浙江有寧波、杭州、舟山三個辦事處,分別部署了三個Oracle數據庫,其中杭州為總部。結構圖如下:
根據全局數據庫名命名規則,杭州公司數據庫名字為ORAL.DTM 寧波公司的數據庫名字為ORAL.NINGBO.DTM,舟山公司的數據庫名字為ORAL.ZHOUZHAN.DTM。此時如果應用程序要連接不同部門的得數據庫就非常的方便。可以通過全局數據庫名字來指定需要訪問的數據對象。只需要經過簡單的修改,用戶就可以連接到所需要連接的數據庫。另為,還可以在網絡環境配置一個默認域,如此訪問默認域中的數據庫對象不需要指定域名。
利用全局數據庫名能夠起到兩個好處。一是易於數據庫進行擴充。如現在企業可能只用一個數據庫來處理業務。但是當企業規模擴大的時候,可能一個數據庫不能夠滿足性能上的需求。或者是因為企業合並等原因,需要部署分布式的數據庫環境。此時不需要更改原先的存在的數據庫,就可以對數據庫環境進行擴充。二是方便數據庫的連接。當用戶在不同的數據庫之間進行更換時,使用全局數據庫名將會非常的方便。
故筆者建議數據庫管理員,即使企業當前只有一台Oracle數據庫時,最好對其進行命名時也能夠根據全局數據庫命名規則來定義其名字。以利益後續數據庫的擴充,同時也便於數據庫管理員的日常維護。