Oracle配置管理

1、Oracle客戶端與服務器端的通訊機制sql

Oracle產品安裝完成後,服務器和客戶端都須要進行網絡配置才能實現網絡鏈接,服務器端配置監聽器,客戶端配置網絡服務名。數據庫

 

一、oracle net協議vim

Oracle經過oracle net協議實現客戶端與服務器端的鏈接及數據傳遞。Oracle net是同時駐留在服務器端和客戶端上的一個軟件層,它封裝了TCP/IP,負責創建與維護客戶端應用程序到數據庫服務器的鏈接。有協議就要有相應的端口,因此oracle NET有個默認的偵聽端口1521服務器

blob.png.網絡

客戶端發出的請求首先經過oracle net協議轉換,轉換成能夠經過網絡傳輸的信息,經過tcp/ip網絡將請求傳輸到數據庫服務器端,服務器端收到客戶端請求後經過oracle net協議轉換,將請求轉換成數據庫能夠解釋執行的本地指令,並在服務器端執行,並將結果經過tcp/iporacle  net協議傳輸給客戶端顯示。oracle

 

2、客戶端與服務器端的鏈接過程tcp

Oracle服務器經過一個名爲「oracle  net監聽器」的組件接收來自客戶端的鏈接請求,監聽位於服務器端的一個後臺進程。發送的客戶端鏈接請求,首先被服務器的監聽器所偵聽,並交給對應的數據庫實例,從而創建起客戶端與服務器的鏈接。鏈接創建後,客戶端與服務器端就能夠直接進行通訊,不須要監聽器參與。要實現監聽器對客戶請求的監聽,須要對監聽器進行配置。ide

Oracle網絡服務名是一個標識符,表明客戶端鏈接服務器的配置信息。工具

blob.png

客戶端與服務器端的鏈接過程以下:spa

1)在服務器端有一個常駐的監聽器,監聽客戶端發出的鏈接請求。

2)用戶在客戶端使用(企業管理器或sql工具),輸入用戶名、口令及網絡服務名,或在sql命令行中輸入相似「CONNECT username/password@net_service_name」的請求。

3)客戶端查看網絡服務配置文件tnsnames.ora文件,將網絡服務名映射爲包含oracle服務器地址、監聽端口和全局數據庫名的鏈接描述符。

4)客戶端根據鏈接描述符定位監聽器,並經過網絡鏈接信息傳遞給監聽器。

5)監聽器查詢監聽配置文件listener.ora,找出所要鏈接的服務器。

6)客戶端和服務器開始通訊。

 

三、配置和管理Oracle網絡配置的工具常見的有如下幾種:

blob.png

1)netca方式

blob.png

blob.png

blob.png

blob.png

blob.png

blob.png

blob.png

查看監聽文件

blob.png

 

開啓新的監聽器

blob.png

查看監聽器狀態

blob.png

2)netmgr方式

blob.png

添加監聽器便可

 

3)命令方式

修改vim /opt/oracle/product/11.2/db_1/network/admin/listener.ora

增長新的偵聽器,代碼以下:


blob.png

開啓新的監聽器

blob.png


blob.png

上面紅框中的代碼the  listener supports no services顯示沒有任何服務註冊到該監聽器上,這與監聽和數據庫實例的啓動前後順序有關。

 

解決方法:監聽啓動和數據庫實例啓動的順序

根據前面的知識,啓動完數據庫實例後,啓動監聽,在鏈接數據庫時,只有這兩者兼備,oracle才能向外提供服務。

監聽和實例啓動順序的前後會對兩者之間的工做協調產生影響,具體以下:

 

先啓動監聽,後啓動實例:此時遠程客戶端鏈接實例是正常的,不會有問題,由於監聽先啓動,在啓動實例時後臺進程PMON會向監聽註冊服務器,當用戶請求服務時,二者的協調工做已準備就緒。

先啓動實例,後啓動監聽:若是監聽剛啓動,用戶立刻鏈接實例,可能會報「監聽程序當前沒法識別鏈接描述符中請求的服務」的錯誤,緣由在於PMON還沒來得及向監聽註冊實例服務。可是這個問題只會存在很短的一段時間,再鏈接就不會有問題了,爲何等一會就行了呢?由於PMON每隔一段時間都會看有無服務須要向監聽註冊,此時若監聽已啓動,PMON就能註冊成功,兩者的協調工做就準備就緒了。

有沒有辦法解決很短的一段時間內的這個問題呢?答案是必定的。就是以靜態註冊的方式,即將實例的服務描述添加到listener.ora,這樣只要啓動監聽,對應的服務在監聽中就註冊了。這是隻要實例正常啓動完成,就能夠對外提供服務器了。在Listener.ora代碼中添加以下代碼便可。

blob.png

4、客戶端的鏈接

客戶端鏈接到數據庫服務器必須知道一些信息,如數據庫服務器的主機名或ip地址,使用的通訊協議、端口號、以及對應的數據庫服務名,這些須要在客戶端設置

1)win7上安裝oracle客戶端軟件

blob.png

雙擊上圖中第二個文件安裝

 

安裝完成時候會在c:盤下生成oracle文件夾:

blob.png

2)找到c:\oracle\product\11.2.0\client_lite\network\admin\tnsnames.ora文件,並修改,修改結果以下:

blob.png

 

3)注意:須要在hosts文件裏面添加解析

blob.png

 

4)在win7客戶端上打開命名行,執行命令鏈接

blob.png

已經遠程鏈接到oracle服務器

相關文章
相關標籤/搜索