Oracle监听器—静态注册
注冊(cè)就是將數(shù)據(jù)庫(kù)作為一個(gè)服務(wù)注冊(cè)到監(jiān)聽(tīng)程序。客戶(hù)端不需要知道數(shù)據(jù)庫(kù)名和實(shí)例名,只需要知道該數(shù)據(jù)庫(kù)對(duì)外提供的服務(wù)名就可以申請(qǐng)連接到數(shù)據(jù)庫(kù)。這個(gè)服務(wù)名可能與實(shí)例名一樣,也有可能不一樣。
?
注冊(cè)分:
1. 靜態(tài)注冊(cè)
2. 動(dòng)態(tài)注冊(cè)
靜態(tài)注冊(cè)
為了靜態(tài)注冊(cè)一個(gè)實(shí)例,我們需要在 listener.ora中添加相應(yīng)監(jiān)聽(tīng)器條目。
這里我們建立了兩個(gè)LISTENER(LISTENER — 默認(rèn)的,LISTENER1 - 自己新建的),服務(wù)名(全局?jǐn)?shù)據(jù)庫(kù)名)分別為test,test1。
下面是我的listener.ora文件的內(nèi)容。位置: C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\listener.ora
LISTENER =
? (DESCRIPTION =
? ? (ADDRESS = (PROTOCOL = TCP)(HOST = Tough)(PORT = 1521))
? )
SID_LIST_LISTENER =
? (SID_LIST =
? ? (SID_DESC =
? ? ? (GLOBAL_DBNAME = test)
? ? ? (ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
? ? ? (SID_NAME = ora11g)
? ? )
? ) ?
??
LISTENER1 =
? (DESCRIPTION =
? ? (ADDRESS = (PROTOCOL = TCP)(HOST = Tough)(PORT = 1522))
? )
SID_LIST_LISTENER1 =
? (SID_LIST =
? ? (SID_DESC =
? ? ? (GLOBAL_DBNAME = test1)
? ? ? (ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
? ? ? (SID_NAME = ora11g)
? ? )
? )
?
C:\>lsnrctl
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 07-4月 -2014 12:56:43
Copyright (c) 1991, 2005, Oracle. ?All rights reserved.
歡迎來(lái)到LSNRCTL, 請(qǐng)鍵入"help"以獲得信息。
//可以查看lsnrctl下可以執(zhí)行的命令,常用到的是start, stop, status, reload, services
LSNRCTL> help
以下操作可用
星號(hào) (*) 表示修改符或擴(kuò)展命令:
start ? ? ? ? ? ? ? stop ? ? ? ? ? ? ? ?status
services ? ? ? ? ? ?version ? ? ? ? ? ? reload
save_config ? ? ? ? trace ? ? ? ? ? ? ? change_password
quit ? ? ? ? ? ? ? ?exit ? ? ? ? ? ? ? ?set*
show*
//如果只輸入start,則啟動(dòng)默認(rèn)監(jiān)聽(tīng)器 LISTENER
LSNRCTL> start LISTENER
啟動(dòng)tnslsnr: 請(qǐng)稍候...
TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
系統(tǒng)參數(shù)文件為c:\oracle\product\10.2.0\db_1\network\admin\listener.ora
寫(xiě)入c:\oracle\product\10.2.0\db_1\network\log\listener.log的日志信息
監(jiān)聽(tīng): (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=Tough)(PORT=1521)))
正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=Tough)(PORT=1521)))
LISTENER 的 STATUS
------------------------
別名 ? ? ? ? ? ? ? ? ? ? ?LISTENER
版本 ? ? ? ? ? ? ? ? ? ? ?TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
啟動(dòng)日期 ? ? ? ? ? ? ? ? ?07-4月 -2014 12:56:49
正常運(yùn)行時(shí)間 ? ? ? ? ? ? ?0 天 0 小時(shí) 0 分 1 秒
跟蹤級(jí)別 ? ? ? ? ? ? ? ? ?off
安全性 ? ? ? ? ? ? ? ? ? ?ON: Local OS Authentication
SNMP ? ? ? ? ? ? ? ? ? ? ?OFF
監(jiān)聽(tīng)程序參數(shù)文件 ? ? ? ? ?c:\oracle\product\10.2.0\db_1\network\admin\listener.ora
監(jiān)聽(tīng)程序日志文件 ? ? ? ? ?c:\oracle\product\10.2.0\db_1\network\log\listener.log
監(jiān)聽(tīng)端點(diǎn)概要...
? (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=Tough)(PORT=1521)))
服務(wù)摘要..
服務(wù) "test" 包含 1 個(gè)例程。
? 例程 "ora11g", 狀態(tài) UNKNOWN, 包含此服務(wù)的 1 個(gè)處理程序...
命令執(zhí)行成功
//如果只輸入status,則查看默認(rèn)監(jiān)聽(tīng)器 LISTENER狀態(tài)
LSNRCTL> status LISTENER
正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=Tough)(PORT=1521)))
LISTENER 的 STATUS
------------------------
別名 ? ? ? ? ? ? ? ? ? ? ?LISTENER
版本 ? ? ? ? ? ? ? ? ? ? ?TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
啟動(dòng)日期 ? ? ? ? ? ? ? ? ?07-4月 -2014 12:56:49
正常運(yùn)行時(shí)間 ? ? ? ? ? ? ?0 天 0 小時(shí) 1 分 9 秒
跟蹤級(jí)別 ? ? ? ? ? ? ? ? ?off
安全性 ? ? ? ? ? ? ? ? ? ?ON: Local OS Authentication
SNMP ? ? ? ? ? ? ? ? ? ? ?OFF
監(jiān)聽(tīng)程序參數(shù)文件 ? ? ? ? ?c:\oracle\product\10.2.0\db_1\network\admin\listener.ora
監(jiān)聽(tīng)程序日志文件 ? ? ? ? ?c:\oracle\product\10.2.0\db_1\network\log\listener.log
監(jiān)聽(tīng)端點(diǎn)概要...
? (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=Tough)(PORT=1521)))
服務(wù)摘要..
服務(wù) "ora11g" 包含 1 個(gè)例程。
? 例程 "ora11g", 狀態(tài) READY, 包含此服務(wù)的 1 個(gè)處理程序...
服務(wù) "ora11gXDB" 包含 1 個(gè)例程。
? 例程 "ora11g", 狀態(tài) READY, 包含此服務(wù)的 1 個(gè)處理程序...
服務(wù) "ora11g_XPT" 包含 1 個(gè)例程。
? 例程 "ora11g", 狀態(tài) READY, 包含此服務(wù)的 1 個(gè)處理程序...
服務(wù) "test" 包含 1 個(gè)例程。
? 例程 "ora11g", 狀態(tài) UNKNOWN, 包含此服務(wù)的 1 個(gè)處理程序...
命令執(zhí)行成功
?
藍(lán)色部分是動(dòng)態(tài)注冊(cè)的監(jiān)聽(tīng)器的狀態(tài)。紅色部分是我們靜態(tài)注冊(cè)的監(jiān)聽(tīng)器的狀態(tài)。
//若不是啟動(dòng)默認(rèn)監(jiān)聽(tīng)器 LISTENER,則需要指定啟動(dòng)的監(jiān)聽(tīng)器
LSNRCTL> start LISTENER1
啟動(dòng)tnslsnr: 請(qǐng)稍候...
TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
系統(tǒng)參數(shù)文件為c:\oracle\product\10.2.0\db_1\network\admin\listener.ora
寫(xiě)入c:\oracle\product\10.2.0\db_1\network\log\listener1.log的日志信息
監(jiān)聽(tīng): (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=Tough)(PORT=1522)))
正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=Tough)(PORT=1522)))
LISTENER 的 STATUS
------------------------
別名 ? ? ? ? ? ? ? ? ? ? ?LISTENER1
版本 ? ? ? ? ? ? ? ? ? ? ?TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
啟動(dòng)日期 ? ? ? ? ? ? ? ? ?07-4月 -2014 12:57:07
正常運(yùn)行時(shí)間 ? ? ? ? ? ? ?0 天 0 小時(shí) 0 分 1 秒
跟蹤級(jí)別 ? ? ? ? ? ? ? ? ?off
安全性 ? ? ? ? ? ? ? ? ? ?ON: Local OS Authentication
SNMP ? ? ? ? ? ? ? ? ? ? ?OFF
監(jiān)聽(tīng)程序參數(shù)文件 ? ? ? ? ?c:\oracle\product\10.2.0\db_1\network\admin\listener.ora
監(jiān)聽(tīng)程序日志文件 ? ? ? ? ?c:\oracle\product\10.2.0\db_1\network\log\listener1.log
監(jiān)聽(tīng)端點(diǎn)概要...
? (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=Tough)(PORT=1522)))
服務(wù)摘要..
服務(wù) "test1" 包含 1 個(gè)例程。
? 例程 "ora11g", 狀態(tài) UNKNOWN, 包含此服務(wù)的 1 個(gè)處理程序...
命令執(zhí)行成功
LSNRCTL> status LISTENER1
正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=Tough)(PORT=1522)))
LISTENER 的 STATUS
------------------------
別名 ? ? ? ? ? ? ? ? ? ? ?LISTENER1
版本 ? ? ? ? ? ? ? ? ? ? ?TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
啟動(dòng)日期 ? ? ? ? ? ? ? ? ?07-4月 -2014 12:57:07
正常運(yùn)行時(shí)間 ? ? ? ? ? ? ?0 天 0 小時(shí) 1 分 13 秒
跟蹤級(jí)別 ? ? ? ? ? ? ? ? ?off
安全性 ? ? ? ? ? ? ? ? ? ?ON: Local OS Authentication
SNMP ? ? ? ? ? ? ? ? ? ? ?OFF
監(jiān)聽(tīng)程序參數(shù)文件 ? ? ? ? ?c:\oracle\product\10.2.0\db_1\network\admin\listener.ora
監(jiān)聽(tīng)程序日志文件 ? ? ? ? ?c:\oracle\product\10.2.0\db_1\network\log\listener1.log
監(jiān)聽(tīng)端點(diǎn)概要...
? (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=Tough)(PORT=1522)))
服務(wù)摘要..
服務(wù) "test1" 包含 1 個(gè)例程。
? 例程 "ora11g", 狀態(tài) UNKNOWN, 包含此服務(wù)的 1 個(gè)處理程序...
命令執(zhí)行成功
?
建立好監(jiān)聽(tīng)器后,我們還需要在客戶(hù)端機(jī)器上的tnsnames.ora設(shè)置相關(guān)條目。位置:C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora
A =
? (DESCRIPTION =
? ? (ADDRESS_LIST =
? ? ? (ADDRESS = (PROTOCOL = TCP)(HOST = tough)(PORT = 1521))
? ? )
? ? (CONNECT_DATA =
? ? ? (SERVICE_NAME = test)
? ? )
? )
?
A1 =
? (DESCRIPTION =
? ? (ADDRESS_LIST =
? ? ? (ADDRESS = (PROTOCOL = TCP)(HOST = tough)(PORT = 1522))
? ? )
? ? (CONNECT_DATA =
? ? ? (SERVICE_NAME = test1)
? ? )
? )
?
?
測(cè)試靜態(tài)注冊(cè)的監(jiān)聽(tīng)器:
C:\>sqlplus /@a as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 4月 7 13:11:37 2014
Copyright (c) 1982, 2005, Oracle. ?All rights reserved.
連接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
?
C:\>sqlplus /@a1 as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 4月 7 13:11:54 2014
Copyright (c) 1982, 2005, Oracle. ?All rights reserved.
連接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
?
連接成功!
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/toughhou/p/3778818.html
總結(jié)
以上是生活随笔為你收集整理的Oracle监听器—静态注册的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Android 调用分享框
- 下一篇: maven 添加本地库