Oracle监听器—静态注册
注冊就是將數據庫作為一個服務注冊到監聽程序。客戶端不需要知道數據庫名和實例名,只需要知道該數據庫對外提供的服務名就可以申請連接到數據庫。這個服務名可能與實例名一樣,也有可能不一樣。
?
注冊分:
1. 靜態注冊
2. 動態注冊
靜態注冊
為了靜態注冊一個實例,我們需要在 listener.ora中添加相應監聽器條目。
這里我們建立了兩個LISTENER(LISTENER — 默認的,LISTENER1 - 自己新建的),服務名(全局數據庫名)分別為test,test1。
下面是我的listener.ora文件的內容。位置: 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.
歡迎來到LSNRCTL, 請鍵入"help"以獲得信息。
//可以查看lsnrctl下可以執行的命令,常用到的是start, stop, status, reload, services
LSNRCTL> help
以下操作可用
星號 (*) 表示修改符或擴展命令:
start ? ? ? ? ? ? ? stop ? ? ? ? ? ? ? ?status
services ? ? ? ? ? ?version ? ? ? ? ? ? reload
save_config ? ? ? ? trace ? ? ? ? ? ? ? change_password
quit ? ? ? ? ? ? ? ?exit ? ? ? ? ? ? ? ?set*
show*
//如果只輸入start,則啟動默認監聽器 LISTENER
LSNRCTL> start LISTENER
啟動tnslsnr: 請稍候...
TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
系統參數文件為c:\oracle\product\10.2.0\db_1\network\admin\listener.ora
寫入c:\oracle\product\10.2.0\db_1\network\log\listener.log的日志信息
監聽: (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
啟動日期 ? ? ? ? ? ? ? ? ?07-4月 -2014 12:56:49
正常運行時間 ? ? ? ? ? ? ?0 天 0 小時 0 分 1 秒
跟蹤級別 ? ? ? ? ? ? ? ? ?off
安全性 ? ? ? ? ? ? ? ? ? ?ON: Local OS Authentication
SNMP ? ? ? ? ? ? ? ? ? ? ?OFF
監聽程序參數文件 ? ? ? ? ?c:\oracle\product\10.2.0\db_1\network\admin\listener.ora
監聽程序日志文件 ? ? ? ? ?c:\oracle\product\10.2.0\db_1\network\log\listener.log
監聽端點概要...
? (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=Tough)(PORT=1521)))
服務摘要..
服務 "test" 包含 1 個例程。
? 例程 "ora11g", 狀態 UNKNOWN, 包含此服務的 1 個處理程序...
命令執行成功
//如果只輸入status,則查看默認監聽器 LISTENER狀態
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
啟動日期 ? ? ? ? ? ? ? ? ?07-4月 -2014 12:56:49
正常運行時間 ? ? ? ? ? ? ?0 天 0 小時 1 分 9 秒
跟蹤級別 ? ? ? ? ? ? ? ? ?off
安全性 ? ? ? ? ? ? ? ? ? ?ON: Local OS Authentication
SNMP ? ? ? ? ? ? ? ? ? ? ?OFF
監聽程序參數文件 ? ? ? ? ?c:\oracle\product\10.2.0\db_1\network\admin\listener.ora
監聽程序日志文件 ? ? ? ? ?c:\oracle\product\10.2.0\db_1\network\log\listener.log
監聽端點概要...
? (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=Tough)(PORT=1521)))
服務摘要..
服務 "ora11g" 包含 1 個例程。
? 例程 "ora11g", 狀態 READY, 包含此服務的 1 個處理程序...
服務 "ora11gXDB" 包含 1 個例程。
? 例程 "ora11g", 狀態 READY, 包含此服務的 1 個處理程序...
服務 "ora11g_XPT" 包含 1 個例程。
? 例程 "ora11g", 狀態 READY, 包含此服務的 1 個處理程序...
服務 "test" 包含 1 個例程。
? 例程 "ora11g", 狀態 UNKNOWN, 包含此服務的 1 個處理程序...
命令執行成功
?
藍色部分是動態注冊的監聽器的狀態。紅色部分是我們靜態注冊的監聽器的狀態。
//若不是啟動默認監聽器 LISTENER,則需要指定啟動的監聽器
LSNRCTL> start LISTENER1
啟動tnslsnr: 請稍候...
TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
系統參數文件為c:\oracle\product\10.2.0\db_1\network\admin\listener.ora
寫入c:\oracle\product\10.2.0\db_1\network\log\listener1.log的日志信息
監聽: (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
啟動日期 ? ? ? ? ? ? ? ? ?07-4月 -2014 12:57:07
正常運行時間 ? ? ? ? ? ? ?0 天 0 小時 0 分 1 秒
跟蹤級別 ? ? ? ? ? ? ? ? ?off
安全性 ? ? ? ? ? ? ? ? ? ?ON: Local OS Authentication
SNMP ? ? ? ? ? ? ? ? ? ? ?OFF
監聽程序參數文件 ? ? ? ? ?c:\oracle\product\10.2.0\db_1\network\admin\listener.ora
監聽程序日志文件 ? ? ? ? ?c:\oracle\product\10.2.0\db_1\network\log\listener1.log
監聽端點概要...
? (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=Tough)(PORT=1522)))
服務摘要..
服務 "test1" 包含 1 個例程。
? 例程 "ora11g", 狀態 UNKNOWN, 包含此服務的 1 個處理程序...
命令執行成功
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
啟動日期 ? ? ? ? ? ? ? ? ?07-4月 -2014 12:57:07
正常運行時間 ? ? ? ? ? ? ?0 天 0 小時 1 分 13 秒
跟蹤級別 ? ? ? ? ? ? ? ? ?off
安全性 ? ? ? ? ? ? ? ? ? ?ON: Local OS Authentication
SNMP ? ? ? ? ? ? ? ? ? ? ?OFF
監聽程序參數文件 ? ? ? ? ?c:\oracle\product\10.2.0\db_1\network\admin\listener.ora
監聽程序日志文件 ? ? ? ? ?c:\oracle\product\10.2.0\db_1\network\log\listener1.log
監聽端點概要...
? (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=Tough)(PORT=1522)))
服務摘要..
服務 "test1" 包含 1 個例程。
? 例程 "ora11g", 狀態 UNKNOWN, 包含此服務的 1 個處理程序...
命令執行成功
?
建立好監聽器后,我們還需要在客戶端機器上的tnsnames.ora設置相關條目。位置: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:\>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
?
連接成功!
?
?
?
轉載于:https://www.cnblogs.com/toughhou/p/3778818.html
總結
以上是生活随笔為你收集整理的Oracle监听器—静态注册的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android 调用分享框
- 下一篇: maven 添加本地库