熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

理解oracle的“lsnrctlstatus”

2022-06-13   來源: Oracle 

  先看看 lsnrctl status 的輸出信息

    Services Summary
    Service PLSExtProc has instance(s)
    Instance PLSExtProc status UNKNOWN has handler(s) for this
    service
    Service catadb has instance(s)
    Instance catadb status UNKNOWN has handler(s) for this
    service
    Instance catadb status READY has handler(s) for this service
    Service catadbXDB has instance(s)
    Instance catadb status READY has handler(s) for this service
    The command completed successfully


  這裡提出兩個問題

    輸出中顯示的這些 service 是在哪裡定義的?
    為什麼一個 service 會有兩個 instance?

  先來看第二個問題從oracle 版本後在listenerora文件中沒有為數據庫預先定義條目的時候instance 和 listener 可以自動的互相發現但是習慣上在listenerora文件中為每個數據庫定義一個SID_DESC條目以便在需要的時候使用這就使服務catadb有兩個實例:

    一個狀態是 UNKNOWN 的實例 是在 listenerora 文件中靜態定義另一個狀態是 READY 的實例是當數據庫啟動時 PMON進程自動把數據庫注冊到監聽器在數據庫啟動後每一分鐘注冊一次在使用OEM等工具時需要有監聽的靜態定義

  再來看看這些服務是怎麼定義的oracle有三種監聽方式

  Database

  提供對數據庫實例的網絡訪問

  PLSExtProc

  PL/SQL 包訪問操作系統可執行程序的方法

  Executable

  提供對操作系統可執行程序的網絡訪問

  Service PLSExtProc 是在 listenerora 文件中為數據庫實例缺省配置的允許PL/SQL包訪問外部程序
    Service catadb 也是在 listenerora 文件中配置是每個數據庫連接使用的標准模式
    Service catadbXDB 是Oracle i以後版本創建數據庫時默認包含的XML DB特性提供httpftp等服務在初始化文spfile(或pfile)中定義


From:http://tw.wingwit.com/Article/program/Oracle/201311/16556.html
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.