listener的靜態註冊與動態註冊詳述
listener註冊型別
1. 靜態註冊
8i及8i以前,均採用靜態註冊。
把註冊的資訊提前寫到listener.ora裡面。
oem和其他服務是必須的。
2. 動態註冊
Oracle9i 或Oracle8i 例程使用動態服務註冊
不需要配置listener.ora檔案
動態註冊由PMON程式執行 在初始化引數中必須配置SERVICE_NAMES、INSTANCE_NAME這兩個引數,才可以進行動態註冊
預設情況下,PMON 向TCP/IP 的預設本地地址— 埠1521— 處的伺服器上的本地監聽程式進行註冊
非預設監聽程式註冊(e.g.prot=1522),定義LOCAL_LISTENER 初始化引數(可以透過tnsnames.ora 等命名方法將非預設listener_alias解析,也可以直接把address字串新增到LOCAL_LISTENER中)
alter system set local_listener='(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.230.68)(PORT = 1522))'
下面是分別對預設的動態註冊、靜態註冊、非預設listener的靜態註冊和非預設listener的動態註冊做的試驗:
1. 預設listener動態註冊(預設本地地址— 埠1521-SERVICE_NAMES、INSTANCE_NAME)
dbca庫以後,D:\oracle\network\admin是沒有listener.ora, tnsnames.ora這兩個檔案的
D:\oracle\network\admin\sqlnet.ora內容:
# This file is actually generated by netca. But if customers choose to
# install "Software Only", this file wont exist and without the native
# authentication, they will not be able to connect to the database on NT.
SQLNET.AUTHENTICATION_SERVICES = (NTS)
C:\Documents and Settings\zhanglei>lsnrctl service
LSNRCTL for 32-bit Windows: Version 9.2.0.1.0 - Production on 30-3月 -2009 15:05:49
Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
正在連線到 (ADDRESS=(PROTOCOL=tcp)(PORT=1521))
服務摘要..
服務 "leiz" 包含 1 個例程。
例程 "leiz", 狀態 READY, 包含此服務的 1 個處理程式...
處理程式:
"DEDICATED" 已建立:17 已拒絕:0 狀態:ready
LOCAL SERVER
服務 "leizXDB" 包含 1 個例程。
例程 "leiz", 狀態 READY, 包含此服務的 1 個處理程式...
處理程式:
"D000" 已建立:0 已被拒絕:0 當前: 0 最大: 1002 狀態: ready
DISPATCHER
(ADDRESS=(PROTOCOL=tcp)(HOST=leiz)(PORT=1750))
命令執行成功
結論:9i資料庫建立完以後,預設使用的是動態註冊(READY代表動態註冊, UNKONW代表靜態註冊)
2. 預設listener靜態註冊
netca新增 預設LISTENER,檔案listener.ora檔案內容如下:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = d:\oracle)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = leiz) /*新增instance_name */
(ORACLE_HOME = d:\oracle)
--(PROGRAM = extproc)/*備註:這行一定要去掉,否則conn測試會失敗*/
)
)
重啟listener,檢視監聽服務狀態
C:\Documents and Settings\zhanglei>lsnrctl service
LSNRCTL for 32-bit Windows: Version 9.2.0.1.0 - Production on 30-3月 -2009 15:30:03
Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
正在連線到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.15.99)(PORT=1521)))
服務摘要..
服務 "PLSExtProc" 包含 1 個例程。
例程 "PLSExtProc", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...
處理程式:
"DEDICATED" 已建立:0 已被拒絕:0
LOCAL SERVER
服務 "leiz" 包含 2 個例程。
例程 "leiz", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...
處理程式:
"DEDICATED" 已建立:0 已被拒絕:0
LOCAL SERVER
例程 "leiz", 狀態 READY, 包含此服務的 1 個處理程式...
處理程式:
"DEDICATED" 已建立:0 已拒絕:0 狀態:ready
LOCAL SERVER
服務 "leizXDB" 包含 1 個例程。
例程 "leiz", 狀態 READY, 包含此服務的 1 個處理程式...
處理程式:
"D000" 已建立:0 已被拒絕:0 當前: 0 最大: 1002 狀態: ready
DISPATCHER
(ADDRESS=(PROTOCOL=tcp)(HOST=leiz)(PORT=1750))
命令執行成功
結論:此時,靜態LISTENER UNKNOWN也被註冊進去了。READY代表動態註冊, UNKONW代表靜態註冊
3. 非預設listener3 靜態註冊
netca新增 非預設監聽LISTENER3,檔案listener.ora檔案內容如下:
LISTENER3 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.15.99)(PORT = 1522))
)
)
)
SID_LIST_LISTENER3 =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = d:\oracle)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = leiz)
(ORACLE_HOME = d:\oracle)
--(PROGRAM = extproc)/*備註:這行一定要去掉,否則conn測試會失敗*/
)
)
C:\Documents and Settings\zhanglei>lsnrctl service listener3
LSNRCTL for 32-bit Windows: Version 9.2.0.1.0 - Production on 30-3月 -2009 16:22:27
Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
正在連線到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.15.99)(PORT=1522)))
服務摘要..
服務 "PLSExtProc" 包含 1 個例程。
例程 "PLSExtProc", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...
處理程式:
"DEDICATED" 已建立:0 已被拒絕:0
LOCAL SERVER
服務 "leiz" 包含 1 個例程。
例程 "leiz", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...
處理程式:
"DEDICATED" 已建立:42 已被拒絕:0
LOCAL SERVER
命令執行成功
結論:非預設LISTENER3此時為靜態註冊。READY代表動態註冊, UNKONW代表靜態註冊
4. 非預設listener3 動態註冊
啟用非預設listener3動態註冊
SQL> alter system set local_listener='(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.15.99)(PORT = 1522))';
系統已更改。
C:\Documents and Settings\zhanglei>lsnrctl service listener3
LSNRCTL for 32-bit Windows: Version 9.2.0.1.0 - Production on 30-3月 -2009 16:28:53
Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
正在連線到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.16.15.99)(PORT=1522)))
服務摘要..
服務 "PLSExtProc" 包含 1 個例程。
例程 "PLSExtProc", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...
處理程式:
"DEDICATED" 已建立:0 已被拒絕:0
LOCAL SERVER
服務 "leiz" 包含 2 個例程。
例程 "leiz", 狀態 UNKNOWN, 包含此服務的 1 個處理程式...
處理程式:
"DEDICATED" 已建立:0 已被拒絕:0
LOCAL SERVER
例程 "leiz", 狀態 READY, 包含此服務的 1 個處理程式...
處理程式:
"DEDICATED" 已建立:0 已拒絕:0 狀態:ready
LOCAL SERVER
服務 "leizXDB" 包含 1 個例程。
例程 "leiz", 狀態 READY, 包含此服務的 1 個處理程式...
處理程式:
"D000" 已建立:0 已被拒絕:0 當前: 0 最大: 1002 狀態: ready
DISPATCHER
(ADDRESS=(PROTOCOL=tcp)(HOST=leiz)(PORT=1139))
命令執行成功
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9252210/viewspace-580699/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle Listener 動態註冊 與 靜態註冊Oracle
- Oracle Listener 動態註冊與靜態註冊Oracle
- Oracle listener靜態註冊和動態註冊Oracle
- listener靜態註冊和動態註冊總結
- Oracle listener靜態註冊和動態註冊總結Oracle
- oracle listener 靜態和動態註冊Oracle
- 動態註冊和靜態註冊
- 靜態註冊和動態註冊
- oracle監聽動態註冊與靜態註冊Oracle
- Oracle監聽的動態註冊與靜態註冊Oracle
- listener的動態註冊
- oracle的靜態註冊和動態註冊Oracle
- 再說Oracle Listener動靜態註冊Oracle
- 【監聽】動態註冊和靜態註冊
- oracle監聽動態註冊與靜態註冊[轉帖]Oracle
- oracle 監聽器動態與靜態註冊服務_listenerOracle
- Oracle監聽的靜態註冊和動態註冊Oracle
- oracle監聽靜態註冊和動態註冊Oracle
- 靜態註冊和動態註冊總結(zt)
- 關於Listener動態註冊
- 動態註冊監聽Listener
- oracle監聽器動態註冊於靜態註冊的區別Oracle
- Oracle listener靜態及動態註冊總結(轉自網路)Oracle
- Oracle10g中的靜態註冊及動態註冊問題Oracle
- Oracle監聽器的靜態註冊與動態註冊,以及DB_DOMAIN問題OracleAI
- Oracle 靜態監聽註冊詳解Oracle
- 【LISTENER】修改 LISTENER的監聽埠為1526(靜態註冊)
- oracle監聽之動態和靜態註冊Oracle
- oracle監聽器的靜態和動態註冊Oracle
- Mvc動態註冊HttpModule詳解MVCHTTP
- 動態和靜態監聽註冊-小魚的理解
- 【LISTENER】修改 LISTENER的監聽埠為1526(動態註冊)
- ORACLE 動態註冊,靜態註冊,多個監聽,一個監聽多個埠配置Oracle
- 轉載:oracle監聽器的靜態和動態註冊Oracle
- vue動態註冊元件Vue元件
- 監聽動態註冊
- 動態註冊監聽
- 動態監聽註冊