6、oracle網路(監聽)

一只c小凶许發表於2024-11-18

oracle包含

1、軟體
2、資料庫
3、例項
4、監聽(listener)

監聽的特點
可以獨立啟動,就是說,資料庫沒有啟動,監聽可以啟動;資料庫啟動,監聽也可以不啟動;資料庫啟動,監聽也啟動

監聽和資料庫是獨立分開的

資料庫的整個網路結構


圖解:
1、資料庫有資料庫的名字:dbname;例項有例項的名字:instancename;對整個資料庫來說,還有一個名字:servername(跟後面的負載均衡有關);預設情況下,這三個名字是一樣的,前兩個的名字不能改,但是servername是可以改的
2、資料庫啟動,監聽也啟動了,這時候,pmonitor程序會做一件事:就是把例項的名字和servername自動告訴(自動註冊)監聽,這個是oracle自動完成的,
3、使用者連線上資料庫的時候,監聽會啟動一個埠號:1521,使用者連線之後,監聽會返回來問使用者要連線哪個servername,然後根據servername就可以找到instancename,之後,例項就會起一個server process,同時把server process的地址告訴監聽,然後監聽把server process的地址告訴使用者,使用者直接透過server process連線例項,這時候例項會跟使用者要使用者名稱和密碼,然後跟例項的使用者名稱和密碼進行對比,正確的話,連線就正式建立了,也就是客戶端和例項之間就正式建立了一個連線,也就是建立了一個會話,客戶端就可以訪問資料庫例項了
4、連線建立以後,這時候如果把監聽關了,連線也在,連線也不會斷開

監聽只是負責使用者(客戶端)連線上資料庫例項的,連線上之後,監聽就沒有意義

監聽:

1、預設:1521埠啟動
   以後配監聽的時候,必須確認這個監聽在哪個ip地址上,埠號是多少
2、監聽是獨立的
3、用於連線建立的
4、監聽和例項之間有一個關係
   1、ip和埠
   2、連線哪個servername
   3、server process
   4、username/password
   5、使用者傳送SQL、PLSQL

使用sqlplus客戶端連線資料庫(網路連線):

sqlplus sysdb/oracle@192.168.56.1:1521/orcl    --orcl:servername

手工配置監聽

監聽可能存在這麼一個問題:pmonitor可能沒有把instancename和servername那麼好的註冊到監聽裡,就導致使用者連線資料庫失敗了,這時候,我們可以手工配置

手工配置(靜態註冊)有這麼一個特點:監聽啟動以後,監聽裡面就有了servername和instancename,就算例項沒有啟動,也會認為監聽裡面有servername和instancename

當pmonitor自動註冊不穩定的時候,我們可以手工配置一下servername和instancename

使用者(客戶端)連線資料庫時候需要注意的幾個點:

1、監聽有沒有啟動了(監聽在不在,就是ip和埠號在不在)
2、判斷監聽下面有沒有servername和instancename,同時判斷監聽裡面的servername和客戶端要連線的servername是不是一致的
3、判斷例項是否啟動了
4、確認使用者名稱和密碼是否正確

相關文章