Oracle靜態監聽和動態監聽

2021-06-19 04:15:30 字數 3367 閱讀 3424

一、靜態註冊

靜態註冊指例項啟動時讀取listener.ora配置檔案,將例項和服務註冊到監聽程式。無論何時啟動乙個資料庫,預設都有兩條資訊註冊到***中:例項和服務。

sid_list_listener =

( sid_list =

(sid_desc =

(global_dbname = ora8)

(sid_name = test)))

listener =

( description =

(address = (host = 192.168.0.88)(protocol = tcp)(port = 1522))

)這是乙個最簡單的靜態監聽配置檔案,sid_list_listener部分的global_dbname表示向外提供的服務名,sid_name是提供註冊的例項。

在tnsnames.ora檔案中的connect_data部分,可分別選擇service_name=ora8或sid=test為客戶端提供連線。

對於配置非1521監聽埠,只能選擇靜態註冊方式。

二、動態註冊

動態註冊不需要顯示的配置listener.ora檔案,例項啟動的時候,pmon程序根據instance_name,service_name引數將例項和服務動態註冊到listerer中。如果沒有設定instance_name,將使用db_name初始化引數值。如果沒有設定service_names,將拼接db_name和db_domain引數值來註冊監聽。

可以看到,監聽註冊的服務和例項已發生了相應的變化。同靜態監聽,這裡也可以分別使用service_name=oratest或sid=instest來進行客戶端的連線。

摘自:another:

一、靜態註冊

靜態註冊指例項啟動時讀取listener.ora配置檔案,將例項和服務註冊到監聽程式。無論何時啟動乙個資料庫,預設都有兩條資訊註冊到***中:例項和服務。

sid_list_listener =

(sid_list =

(sid_desc =

(global_dbname = rman)

(oracle_home =/u01/oracle)

(sid_name = rman)

)

(sid_desc =

(global_dbname = xienfei)

(oracle_home =/u01/oracle)

(sid_name = xff)

)

)

listener =

(description_list =

(description =

(address = (protocol = tcp)(host = localhost.localdomain)(port = 1521))

)

)

說明:1)(oracle_home = /u01/oracle) oracle_home目錄,測試不加也行

2)本靜態監聽兩個資料庫例項,每個例項的靜態監聽寫到sid_desc中

3)在資料庫未open狀態中,就可以遠端連線到資料庫,對資料庫進行操作

4)使用靜態監聽時,客戶端的tns最好配置為service_name,當然也可以同時配置sid和service_name,等資料庫啟動後,tns中無論是sid還是service_name均能訪問資料庫

二、動態註冊

動態註冊不需要顯示的配置listener.ora檔案,例項啟動的時候,pmon程序根據instance_name,service_name引數將例項和服務動態註冊到listerer中。如果沒有設定instance_name,將使用db_name初始化引數值。如果沒有設定service_names,將拼接db_name和db_domain引數值來註冊監聽。

sid_list_listener =

(sid_list =

(sid_desc =

(sid_name = pl***tproc)

(oracle_home =/u01/oracle)

(program = extproc)

)

)

listener =

(description_list =

(description =

(address = (protocol = tcp)(host = localhost.localdomain)(port = 1521))

(address = (protocol = ipc)(key = extproc0))

)

)

說明:1)不需要人工干預在lsnrctl start後,會自動註冊資料庫的instance_name,service_name,然後tns不論使用sid和service_name均可以連線上來

2)修改了service_name或者sid不用修改listener.ora檔案

摘自:

oracle靜態監聽和動態監聽

oracle靜態監聽和動態監聽 一 什麼是註冊?註冊就是將資料庫作為乙個服務註冊到監聽程式。客戶端不需要知道資料庫名和例項名,只需要知道該資料庫對外提供的服務名 就可以申請連線到資料庫。這個服務名可能與例項名一樣,也有可能不一樣。在資料庫伺服器啟動過程中,資料庫伺服器會向監聽程式註冊相應的服務 無論...

oracle監聽動態註冊與靜態註冊

client端如果想要連線到遠端的資料庫伺服器,首先資料庫伺服器必須啟動 oracle 的配置在 oracle home network admin listener.ora,開啟這個檔案,我們看到配置如下 listener description list description address ...

Oracle靜態監聽註冊詳解

歡迎來到oracle世界。這裡,將結合linux as4 下的oracle 10gr2.0.1 舉乙個具體的例子 1 在 oracle home network admin listener.ora 檔案中加入乙個靜態註冊的節點 oracle prudent oracle cd oracle hom...