文章詳情頁
理解 oracle 的 “lsnrctl status”
瀏覽:46日期:2023-11-19 12:48:15
;先看看 lsnrctl status 的輸出信息: Services Summary... Service 'PLSExtProc' has 1 instance(s). Instance 'PLSExtProc', status UNKNOWN, has 1 handler(s) for this ;service... Service 'catadb' has 2 instance(s). Instance 'catadb', status UNKNOWN, has 1 handler(s) for this service... Instance 'catadb', status READY, has 1 handler(s) for this service... Service 'catadbXDB' has 1 instance(s). Instance 'catadb', status READY, has 1 handler(s) for this service... The command completed sUCcessfully;這里提出兩個問題: 1. 輸出中顯示的這些 service 是在哪里定義的? 2. 為什么一個 service 會有兩個 instance?;先來看第二個問題。從Oracle 8.1 版本后,在listener.ora文件中沒有為數據庫預先定義條目的時候,instance 和 listener 可以自動的互相發現。但是習慣上在listener.ora文件中為每個數據庫定義一個SID_DESC條目以便在需要的時候使用。這就使服務“catadb”有兩個實例: 一個狀態是 UNKNOWN 的實例 是在 listener.ora 文件中靜態定義;另一個狀態是 READY 的實例是當數據庫啟動時 PMON進程自動把數據庫注冊到監聽器。在數據庫啟動后每一分鐘注冊一次。在使用OEM等工具時需要有監聽的靜態定義。;再來看看這些服務是怎么定義的。oracle有三種監聽方式:Database 提供對數據庫實例的網絡訪問PLSExtProc PL/SQL 包訪問操作系統可執行程序的方法Executable 提供對操作系統可執行程序的網絡訪問;Service 'PLSExtProc' 是在 listener.ora 文件中為數據庫實例缺省配置的,答應PL/SQL包訪問外部程序; Service 'catadb' 也是在 listener.ora 文件中配置,是每個數據庫連接使用的標準模式; Service 'catadbXDB' 是Oracle 9i以后版本創建數據庫時默認包含的XML DB特性,提供http、FTP等服務,在初始化文spfile(或pfile)中定義; right'>(出處:清風軟件下載學院)
排行榜