當前位置:才華齋>IT認證>Oracle認證>

如何通過Oracle連線管理器控制資料庫連線

Oracle認證 閱讀(2.38W)

為了更好的控制Oracle資料庫的連線,Oracle提出了一個連線管理器的解決方案。連線管理器是Oracle開發的一箇中間件解決方案,它提供了許多可縮放性的特性。Oralce連線管理器又是一個多用途的聯網解決方案,可用於提升可伸縮性、提供多協議連通性以及安全網路訪問控制方案。具體的來說Oracle連線管理器可以實現如下幾個功能。

如何通過Oracle連線管理器控制資料庫連線

  功能一:多路複用。

Oracle連線管理器通過充當一個連線集中器以在單個網路連線內集中多個客戶端資料庫會話,以支援量使用者連線到一個伺服器。也就是說,連線管理器可以分組許多客戶連線並把它們作為一個單獨的多路複用網路連線傳送給Oracle伺服器,這就降低了伺服器必須管理的網路連線總數量。如果現在有三個使用者通過客戶端要連線到Oracle資料庫據伺服器中,則這三個使用者可以先連線到 “Oracle連線管理器”上。然後連線管理器會對客戶端的請求進行處理,並把它們合成一個請求轉發給資料庫伺服器。此時資料庫伺服器就會認為這三個使用者的請求是來自於同一個客戶端。從而可以支援量客戶端連線到一個數據庫伺服器中;同時可以降低伺服器管理的網路連線總數量。另外這種處理機制還可以降低資料庫伺服器的系統資源開銷,提高資料庫的效能。因為Oracle連線管理器可以通過將到伺服器的網路連線數量降至道最低來減少作業系統的資源要求,可以避免資料庫網路應用中的瓶頸,資料庫系統的可伸縮性將得到極的改善。

故當企業的客戶端數量比較多的話,筆者建議資料庫管理員在網路中部署一個連線管理器。客戶端通過連線管理器來連線到Oracle資料庫中。

  功能二:支援防火牆,提高資料庫安全。

在Oralce連線控制器中體現了跟防火牆很好的合作性。如通過Oralcle連線管理器的Proxy功能,防火牆廠商能夠在Oracle環境中提供部署真正分散式網際網路和內聯網應用程式所必須的支援。以前在沒有這個功能的時候,防火牆就成為了Oracle資料庫網路應用的重障礙之一。

如筆者以前在部署Oracle資料庫應用的時候,就出現過很多防火牆與Oracle資料庫不相容的案例。如一次筆者給防火牆應用了一個補丁程式。在打補丁之前,資料庫連線還很正常的。可是當打了補丁之後,資料庫連線就出現了問題。如客戶端與Oralce資料庫伺服器之間會出現一些間歇性的斷開現象,雖然說筆者懷疑是這個補丁程式出現了問題,但是沒有證據防火牆廠商也會買我的帳。筆者花了好幾天時間對網路與資料庫通訊進行跟蹤;而且還去調查其他企業是否也有類似的情況。皇天不負有心人,終於讓筆者發現了問題所在。然後筆者就跟防火牆廠商進行聯絡,協商具體的解決方案。在彼此雙方的共同努力下,這個問題終於得到了圓滿的解決。

雖然現在Oracle資料庫能夠提供對防火牆的支援。如支援IP過濾防火牆,以監視IP網路資訊包的傳播,並過濾出喲阿麼不發自指定計算機組的資訊包。而且還可以通過基於代理的防火牆阻止來自防火牆外部的資訊直接流入到企業網路中。這種防火牆就好像是企業的一個看門人,會對使用者的請求進行審查並只發送適當的資訊到企業網路。可見防火牆是企業網路中一個重要的安全機制,也是保護Oracle資料庫安全的一個重要手段。但是類上面這種防火牆與 Oracle資料庫之間出現的衝突經常會遇到,而且有時候很難查詢問題的原因。而現在通過Oracle連線管理器則可以很好的避免這種情況,可以地減少因為防火牆問題而給資料庫連線帶來的不良反應。

  功能三:網路訪問控制。

在連線控制器中,還可以使用IP地址限制訪問權的規則來配置。如IP地址可以建立這個基於規則的配置來接受或者拒絕客戶的.連線請求。另外客戶端的連線還可以按起始點、目標伺服器和Oracle伺服器來限制。具體來說,可以通過三種類型來限制客戶端的訪問,分別為通過協議型別限制客戶端連線、通過IP地址限制客戶端連線與通過服務名限制客戶端連線。不過最常用的還是通過IP地址來限制客戶端的連線。前不久筆者剛好完成過類似的一個專案。

這家企業是一家集團型企業,規模比較。由於需要上一個集團財務管理系統,故需要配置Oracle資料庫。由於這個財務管理軟體系統主要是歸財務部門使用,其他部門用不著。為了提高這個資料庫的安全,企業就提出了一個要求,他們只允許財務人員可以訪問這個資料庫。筆者調查了企業的網路部署情況,發現企業對於財務部門比較重視。如還特意通過虛擬區域網的形式限制其他部門對財務部門網路的訪問(通過固定IP地址來實現)。瞭解到了這個情況之後,筆者就心中有解決方案了。筆者最後跟企業確認後,在Oracle資料庫伺服器之前部署了一個Oracle連線管理器,通過這個連線管理器配置實現只有特定的 IP地址才可以連線到Oracle伺服器中。而其他非財務部門的使用者(Ip地址不是財務部門的),不能夠連線到這臺Oracle資料庫伺服器中。

通過類似的方法來提高Oracle資料庫的安全還有很多。如企業可能現現在有多臺Oracle資料庫伺服器。如有的是ERP系統的後臺資料庫; 而有的是財務管理軟體的後臺資料庫。現在企業財務部門可以訪問這兩臺資料庫伺服器;而財務部門以外的員工只能夠訪問ERP系統的資料庫伺服器。此時,也可以通過連線控制起來實現訪問控制。可見Oracle連線控制器提供了很多訪問控制的手段,可以提高Oralce資料庫的安全性。

  功能四:多協議的支援。

連線管理器的多協議支援允許客戶端使用不同網路協議來與伺服器進行通訊。連線管理器在其中充當一個翻譯器的角色,來為客戶端與伺服器端進行雙向協議轉換。其實確切的說,客戶端可以通過多個協議連線到Oracle連線管理器。而連線管理器與資料庫伺服器的連線則往往只有一種協議。連線管理器在把請求傳送給伺服器之前,已經對連線進行了翻譯,翻譯成為了資料庫伺服器可以認同的協議。然後連線管理器在接受到資料庫伺服器的反饋之後,就會把再對協議進行轉換,轉換為客戶端可以認同的協議,並與客戶端進行通訊。也就是說,此時客戶段可能就認為連線管理器就是資料庫伺服器。

現在有三個客戶端,採用了不同的網路協議。當客戶端向資料庫連線管理器傳送連線請求時,連線管理器如果發現有可以採用的不是 Oracle資料庫伺服器所接受的網路協議,則會先對網路協議進行轉換。然後再把轉換過的請求傳送給資料庫伺服器。可以Oracle連線管理器允許使用不同網路協議的客戶與伺服器進行通訊。這在比較複雜的環境環境中非常的有用。

故連線管理器可以在訪問控制、防火牆支援、多路複用、多協議支援等多個方面提供比較出色的支援。為此筆者在給企業部署Oracle應用的時候,如果發現企業的網路比較複雜,同時又採用了防火牆等安全控制手段的話,那麼筆者都會建議企業採用連線管理器來連線資料庫伺服器。如此的話,後續由於網路環境的調整而給資料庫通訊造成的負面影響就會少的多。