天天看點

Oracle動态監聽及靜态監聽差別前言

作者:IT邦德
中國DBA聯盟(ACDU)成員,目前從事DBA及程式程式設計
(Web\java\Python)工作,主要服務于生産制造
現擁有 Oracle 11g  OCP/OCM、
Mysql、Oceanbase(OBCA)認證
分布式TBase\TDSQL資料庫、國産達夢資料庫以及紅帽子認證
從業8年DBA工作,在資料庫領域有豐富的經驗
B站主播Oracle、Mysql、PG實戰課程,請搜尋:jeames007

微信:jem_db
QQ:2243967774
詳情關注公衆号:IT邦德 
QQ群:168797397、587159446
           
Oracle動态監聽及靜态監聽差別前言

前言

本文闡述了Oracle動态監聽及靜态監聽差別

一、靜态監聽

靜态注冊就是執行個體啟動時讀取listener.ora檔案的配置,将執行個體和服務注冊到監聽程式。
無論何時啟動一個資料庫,預設地都有
兩條資訊注冊到監聽器中:資料庫伺服器對應的執行個體和服務。

執行個體不必啟動,靜态監聽也能注冊
伺服器啟動靜态監聽後,可以遠端遠端啟庫
           

1.1 配置檔案

靜态注冊時
listener.ora中的GLOBAL_DBNAME向外提供服務名
listener.ora中的SID_NAME提供注冊的執行個體名

LISTENER2=
  (DESCRIPTION=
    (ADDRESS_LIST= 
         (ADDRESS=(PROTOCOL=TCP)(HOST=MES)(PORT=1523))
        )
  )

SID_LIST_LISTENER2=
  (SID_LIST=
    (SID_DESC=
      (GLOBAL_DBNAME=PROD)
      (ORACL_HOME=/u01/app/oracle/product/11.2.0/dbhome_1)
      (SID_NAME=PROD)
    )
  )
           
Oracle動态監聽及靜态監聽差別前言

1.2 配置本地監聽位置

1.3 啟動監聽

[[email protected] ~]$ lsnrctl start LISTENER2
           
Oracle動态監聽及靜态監聽差別前言

1.4 遠端連接配接啟庫

sqlplus sys/[email protected]:1523/PROD as sysdba
           
Oracle動态監聽及靜态監聽差別前言

二、動态監聽

動态注冊是在instance啟動的時候PMON程序根據參數檔案中的instance_name,service_names
兩個參數将執行個體和服務動态注冊到listener中
           
Oracle動态監聽及靜态監聽差別前言

2.1 配置檔案

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = MES)(PORT = 1521))
    )
  )
           
Oracle動态監聽及靜态監聽差別前言
動态注冊預設隻注冊到預設的監聽器上(名稱是LISTENER、端口是1521、協定是TCP),
如果需要向非預設監聽注冊,則需要配置local_listener參數!

[email protected]> alter system set local_listener = '';  --此時預設注冊到1521端口
           
Oracle動态監聽及靜态監聽差別前言

2.2 啟動監聽

[[email protected] ~]$ lsnrctl start
[[email protected] ~]$ lsnrctl status
           
Oracle動态監聽及靜态監聽差別前言