oracle監(jiān)聽配置.md

  • 最近在工作中需要測試oracle監(jiān)聽,通過扒拉資料和請教一些同事,先做一些操作上的總結(jié)吧,先看下監(jiān)聽中的很多名詞
    • 動態(tài)監(jiān)聽:動態(tài)注冊不需要從listener.ora中讀取配置文件,實例在mount時,pmon進程會根據(jù)instance_name,service_name參數(shù)將實例和服務(wù)動態(tài)注冊到listerer中
    • 靜態(tài)監(jiān)聽:靜態(tài)注冊指實例啟動時讀取listener.ora配置文件,將實例和服務(wù)注冊到監(jiān)聽程序
      • 如圖所示:狀態(tài)是UNKNOW的是靜態(tài)監(jiān)聽,狀態(tài)是READY是動態(tài)監(jiān)聽


        image.png
      • 靜態(tài)監(jiān)聽配置方法
        • RAC: 配置在grid下,配置路徑$ORACLE_HOME/network/admin/listener.ora
        • 單實例(無GI):配置在oracle下,配置路徑$ORACLE_HOME/network/admin/listener.ora
        • 配置監(jiān)聽的三種情況
          • 一個監(jiān)聽在一個IP一個端口上監(jiān)聽多個實例
          • 一個監(jiān)聽在一個IP一個端口上監(jiān)聽多個實例
# 注意SID_LIST_ORCL和ORCL 的名稱需要一致
# 啟動監(jiān)聽:lsnrctl start orcl
# 關(guān)閉監(jiān)聽:lsnrctl stop orcl
# 監(jiān)聽狀態(tài):lsnrctl status orcl
# 一個監(jiān)聽在一個IP一個端口上監(jiān)聽多個實例
SID_LIST_ORCL =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = ORCL)
      (ORACLE_HOME = /opt/oracle/products/12.2.0.2)
      (SID_NAME = ORCL)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = NHL)
      (ORACLE_HOME = /opt/oracle/products/12.2.0.2)
      (SID_NAME = NHL)
    )
  )
ORCL =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
    )
  )
# 一個監(jiān)聽在一個IP不同端口上監(jiān)聽多個實例
SID_LIST_ORCL =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = ORCL)
      (ORACLE_HOME = /opt/oracle/products/12.2.0.2)
      (SID_NAME = ORCL)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = NHL)
      (ORACLE_HOME = /opt/oracle/products/12.2.0.2)
      (SID_NAME = NHL)
    )
  )
ORCL =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1522))
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
    )
  )
# 多個監(jiān)聽監(jiān)聽多個實例
SID_LIST_ORCL =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = ORCL)
      (ORACLE_HOME = /opt/oracle/products/12.2.0.2)
      (SID_NAME = ORCL)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = NHL)
      (SID_NAME = NHL)
    )
  )
ORCL =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
    )
SID_LIST_TEST =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = TEST)
      (ORACLE_HOME = /opt/oracle/products/12.2.0.2)
      (SID_NAME = TEST)
    )
   )
TEST =
   (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1523))
    )


  • 安裝完RAC后默認的監(jiān)聽地址(本地監(jiān)聽和scan 監(jiān)聽)
LISTENER_SCAN1 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = LISTENER_SCAN1))
    )
  )

LISTENER =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = LISTENER))
    )
  )
  • 配置完成后需要手工注冊監(jiān)聽地址
方法一:
alter system register    # 手動給監(jiān)聽注冊service
方法二:
- 單實例
alter system set local_listener='(address=(protocol=tcp)(host=0.0.0.0)(port=1522))';
- RAC
alter system set local_listener='(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1523))' scope=both sid='orcl';

參考鏈接:
參考1
參考2

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容