靜態註冊數據庫
靜態註冊就是實例啓動時讀取listener.ora文件的配置,將實例和服務註冊到監聽程序。不管什麼時候啓動一個數據庫,服務器
默認地都有兩條信息註冊到監聽器中:數據庫服務器對應的實例和服務。oracle
靜態註冊時,listener.ora中的GLOBAL_DBNAME向外提供服務名,listener.ora中的SID_NAME提供註冊的實例名。配置
採起靜態註冊方法時,listener.ora中的內容以下:service
SID_LIST_LISTENER =程序
(SID_LIST =方法
(SID_DESC =數據
(SID_NAME = PLSExtProc)db
(ORACLE_HOME = D:/oracle/product/10.2.0/db_1)文件
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME =orcl)
(ORACLE_HOME = D:/oracle/product/10.2.0/db_1)
(SID_NAME =orcl)
)
(SID_DESC =
(GLOBAL_DBNAME =orcl1)
(ORACLE_HOME = D:/oracle/product/10.2.0/db_1)
(SID_NAME =orcl)
)
)
該文件代表數據庫是單實例的,實例名爲orcl,向外提供了兩個服務:orcl和orcl1
靜態監聽:
oracle實例運行後,監聽程序啓動時,根據listener.ora的配置註冊相應的服務。
其中global_dbname對應的是oracle對外的服務名,即初始化參數裏的service_names
而sid_name對應的是oralce實例的名稱,即初始化參數裏的instance_name
既然有動態監聽爲何還要靜態監聽呢?緣由以下:
1.監聽器不是最先啓動,oracle實例先啓動
2.監聽器重啓
3.oracle實例沒有open