新聞中心
本文主要介紹了為一個(gè)Oracle數(shù)據(jù)庫(kù)(t02)配置多個(gè)監(jiān)聽(tīng)(listener)的實(shí)驗(yàn),過(guò)程有點(diǎn)小曲折。通過(guò)這個(gè)實(shí)驗(yàn)讓我們來(lái)學(xué)習(xí)一下如何手動(dòng)注冊(cè)監(jiān)聽(tīng)。以下是演示的過(guò)程。

10年積累的成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有留壩免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
1.新增兩個(gè)測(cè)試的監(jiān)聽(tīng),listener.ora的配置內(nèi)容(可純手動(dòng)編輯該文件或使用netca)如下:
- (LISTENER為系統(tǒng)原有;L1、L2為測(cè)試用新增的監(jiān)聽(tīng))
- # listener.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\network\admin\listener.ora
- # Generated by Oracle configuration tools.
- L2 =
- (DESCRIPTION_LIST =
- (DESCRIPTION =
- (ADDRESS = (PROTOCOL = TCP)(HOST = PC1255-20110528)(PORT = 1523))
- )
- )
- L1 =
- (DESCRIPTION_LIST =
- (DESCRIPTION =
- (ADDRESS = (PROTOCOL = TCP)(HOST = PC1255-20110528)(PORT = 1522))
- )
- )
- SID_LIST_LISTENER =
- (SID_LIST =
- (SID_DESC =
- (SID_NAME = PLSExtProc)
- (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
- (PROGRAM = extproc)
- )
- )
- LISTENER =
- (DESCRIPTION_LIST =
- (DESCRIPTION =
- (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
- (ADDRESS = (PROTOCOL = TCP)(HOST = PC1255-20110528)(PORT = 1521))
- )
- )
2.配置tnsnames.ora,使數(shù)據(jù)庫(kù)(t02)可同時(shí)使用以上3個(gè)監(jiān)聽(tīng):
- # tnsnames.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora
- # Generated by Oracle configuration tools.
- T01 =
- (DESCRIPTION =
- (ADDRESS = (PROTOCOL = TCP)(HOST = PC1255-20110528)(PORT = 1521))
- (CONNECT_DATA =
- (SERVER = DEDICATED)
- (SERVICE_NAME = t01)
- )
- )
- T02 =
- (DESCRIPTION =
- (ADDRESS = (PROTOCOL = TCP)(HOST = PC1255-20110528)(PORT = 1521))
- (ADDRESS = (PROTOCOL = TCP)(HOST = PC1255-20110528)(PORT = 1522))
- (ADDRESS = (PROTOCOL = TCP)(HOST = PC1255-20110528)(PORT = 1523))
- (CONNECT_DATA =
- (SERVER = DEDICATED)
- (SERVICE_NAME = t02)
- )
- )
- EXTPROC_CONNECTION_DATA =
- (DESCRIPTION =
- (ADDRESS_LIST =
- (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
- )
- (CONNECT_DATA =
- (SID = PLSExtProc)
- (PRESENTATION = RO)
- )
- )
3.檢查及測(cè)試,發(fā)現(xiàn)問(wèn)題:
檢查的時(shí)候發(fā)現(xiàn)除了默認(rèn)的LISTENER監(jiān)聽(tīng)外,L1和L2始終不能注冊(cè)服務(wù):
- C:\>lsnrctl
- LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 24-7月 -2011 22:19:24
- Copyright (c) 1991, 2005, Oracle. All rights reserved.
- 歡迎來(lái)到LSNRCTL, 請(qǐng)鍵入"help"以獲得信息。
- LSNRCTL> status
- 正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
- LISTENER 的 STATUS
- ------------------------
- 別名 LISTENER
- 版本
- TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
- 啟動(dòng)日期 24-7月 -2011 22:14:18
- 正常運(yùn)行時(shí)間 0 天 0 小時(shí) 5 分 13 秒
- 跟蹤級(jí)別 off
- 安全性
- ON: Local OS Authentication
- SNMP OFF
- 監(jiān)聽(tīng)程序參數(shù)文件 D:\oracle\product\10.2.0\db_1\network\admin\listener.ora
- 監(jiān)聽(tīng)程序日志文件 D:\oracle\product\10.2.0\db_1\network\log\listener.log
- 監(jiān)聽(tīng)端點(diǎn)概要...
- (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1ipc)))
- (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=PC1255-20110528)(PORT=1521)))
- 服務(wù)摘要..
- 服務(wù) "+ASM_XPT" 包含 1 個(gè)例程。
- 例程 "+asm", 狀態(tài) BLOCKED, 包含此服務(wù)的 1 個(gè)處理程序...
- 服務(wù) "+asm" 包含 1 個(gè)例程。
- 例程 "+asm", 狀態(tài) BLOCKED, 包含此服務(wù)的 1 個(gè)處理程序...
- 服務(wù) "PLSExtProc" 包含 1 個(gè)例程。
- 例程 "PLSExtProc", 狀態(tài) UNKNOWN, 包含此服務(wù)的 1 個(gè)處理程序...
- 服務(wù) "t01" 包含 1 個(gè)例程。
- 例程 "t01", 狀態(tài) READY, 包含此服務(wù)的 1 個(gè)處理程序...
- 服務(wù) "t01XDB" 包含 1 個(gè)例程。
- 例程 "t01", 狀態(tài) READY, 包含此服務(wù)的 1 個(gè)處理程序...
- 服務(wù) "t01_XPT" 包含 1 個(gè)例程。
- 例程 "t01", 狀態(tài) READY, 包含此服務(wù)的 1 個(gè)處理程序...
- 命令執(zhí)行成功
- LSNRCTL> stop
- 正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
- 命令執(zhí)行成功
- LSNRCTL> set curr L1
- 目前的監(jiān)聽(tīng)程序?yàn)?nbsp;L1
- LSNRCTL> status
- 正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=PC1255-20110528)(PORT=1522)))
- LISTENER 的 STATUS
- ------------------------
- 別名 L1
- 版本
- TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
- 啟動(dòng)日期 24-7月 -2011 22:14:19
- 正常運(yùn)行時(shí)間 0 天 0 小時(shí) 5 分 26 秒
- 跟蹤級(jí)別 off
- 安全性
- ON: Local OS Authentication
- SNMP OFF
- 監(jiān)聽(tīng)程序參數(shù)文件 D:\oracle\product\10.2.0\db_1\network\admin\listener.ora
- 監(jiān)聽(tīng)程序日志文件 D:\oracle\product\10.2.0\db_1\network\log\l1.log
- 監(jiān)聽(tīng)端點(diǎn)概要...
- (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=PC1255-20110528)(PORT=1522)))
- 監(jiān)聽(tīng)程序不支持服務(wù)
- 命令執(zhí)行成功
- LSNRCTL> set curr L2
- 目前的監(jiān)聽(tīng)程序?yàn)?nbsp;L2
- LSNRCTL> status
- 正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=PC1255-20110528)(PORT=1523)))
- LISTENER 的 STATUS
- ------------------------
- 別名 L2
- 版本
- TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
- 啟動(dòng)日期 24-7月 -2011 22:14:19
- 正常運(yùn)行時(shí)間 0 天 0 小時(shí) 5 分 38 秒
- 跟蹤級(jí)別 off
- 安全性
- ON: Local OS Authentication
- SNMP OFF
- 監(jiān)聽(tīng)程序參數(shù)文件 D:\oracle\product\10.2.0\db_1\network\admin\listener.ora
- 監(jiān)聽(tīng)程序日志文件 D:\oracle\product\10.2.0\db_1\network\log\l2.log
- 監(jiān)聽(tīng)端點(diǎn)概要...
- (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=PC1255-20110528)(PORT=1523)))
- 監(jiān)聽(tīng)程序不支持服務(wù)
- 命令執(zhí)行成功
- 停止了默認(rèn)的LISTENER監(jiān)聽(tīng)后,使用tns進(jìn)行連接測(cè)試的時(shí)候報(bào)錯(cuò)(ORA-12514):
- C:\Documents and Settings\Administrator>sqlplus scott/tiger@t02
- SQL*Plus: Release 10.2.0.1.0 - Production on 星期日 7月 24 22:20:06 2011
- Copyright (c) 1982, 2005, Oracle. All rights reserved.
- ERROR:
- ORA-12514: TNS: 監(jiān)聽(tīng)程序當(dāng)前無(wú)法識(shí)別連接描述符中請(qǐng)求的服務(wù)
#p#
4.分析問(wèn)題:
一陣google之后發(fā)現(xiàn),如果默認(rèn)端口不是1521,則需要設(shè)置LOCAL_LISTENER來(lái)手動(dòng)指定監(jiān)聽(tīng)別名:
- When configuring the listener to listen on TCP/IP, you should enter the default port of 1521. If you do not,
- you must configure the LOCAL_LISTENER parameter in the intialization parameter file and resolve the listener name through a naming method.
- http://download.oracle.com/docs/cd/B13789_01/network.101/b10775/listenercfg.htm
5.解決問(wèn)題(此處的T02為step 2的tnsnames.ora里面的T02):
- C:\Documents and Settings\Administrator>set oracle_sid=t02
- C:\Documents and Settings\Administrator>sqlplus / as sysdba
- SQL*Plus: Release 10.2.0.1.0 - Production on 星期日 7月 24 22:21:55 2011
- Copyright (c) 1982, 2005, Oracle. All rights reserved.
- 已連接到空閑例程。
- SQL> select status,instance_name from v$instance;
- STATUS INSTANCE_NAME
- ------------------------ --------------------------------
- OPEN t02
- SQL> alter system set local_listener="T02";
- 系統(tǒng)已更改。
- SQL>
- C:\Documents and Settings\Administrator>set oracle_sid=t02
- C:\Documents and Settings\Administrator>sqlplus / as sysdba
- SQL*Plus: Release 10.2.0.1.0 - Production on 星期日 7月 24 22:21:55 2011
- Copyright (c) 1982, 2005, Oracle. All rights reserved.
- 已連接到空閑例程。
- SQL> select status,instance_name from v$instance;
- STATUS INSTANCE_NAME
- ------------------------ --------------------------------
- OPEN t02
- SQL> alter system set local_listener="T02";
- 系統(tǒng)已更改。
- SQL>
6.驗(yàn)證,再測(cè)試:
驗(yàn)證,發(fā)現(xiàn)L1、L2已能正常注冊(cè)服務(wù):
- LSNRCTL> set curr L1
- 目前的監(jiān)聽(tīng)程序?yàn)?nbsp;L1
- LSNRCTL> status
- 正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=PC1255-20110528)(PORT=1522)))
- LISTENER 的 STATUS
- ------------------------
- 別名 L1
- 版本
- TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
- 啟動(dòng)日期 24-7月 -2011 22:14:19
- 正常運(yùn)行時(shí)間 0 天 0 小時(shí) 32 分 54 秒
- 跟蹤級(jí)別 off
- 安全性
- ON: Local OS Authentication
- SNMP OFF
- 監(jiān)聽(tīng)程序參數(shù)文件 D:\oracle\product\10.2.0\db_1\network\admin\listener.ora
- 監(jiān)聽(tīng)程序日志文件 D:\oracle\product\10.2.0\db_1\network\log\l1.log
- 監(jiān)聽(tīng)端點(diǎn)概要...
- (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=PC1255-20110528)(PORT=1522)))
- 服務(wù)摘要..
- 服務(wù) "t02" 包含 1 個(gè)例程。
- 例程 "t02", 狀態(tài) READY, 包含此服務(wù)的 1 個(gè)處理程序...
- 服務(wù) "t02XDB" 包含 1 個(gè)例程。
- 例程 "t02", 狀態(tài) READY, 包含此服務(wù)的 1 個(gè)處理程序...
- 服務(wù) "t02_XPT" 包含 1 個(gè)例程。
- 例程 "t02", 狀態(tài) READY, 包含此服務(wù)的 1 個(gè)處理程序...
- 命令執(zhí)行成功
- LSNRCTL> set curr L2
- 目前的監(jiān)聽(tīng)程序?yàn)?nbsp;L2
- LSNRCTL> status
- 正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=PC1255-20110528)(PORT=1523)))
- LISTENER 的 STATUS
- ------------------------
- 別名 L2
- 版本
- TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Production
- 啟動(dòng)日期 24-7月 -2011 22:14:19
- 正常運(yùn)行時(shí)間 0 天 0 小時(shí) 33 分 6 秒
- 跟蹤級(jí)別 off
- 安全性
- ON: Local OS Authentication
- SNMP OFF
- 監(jiān)聽(tīng)程序參數(shù)文件 D:\oracle\product\10.2.0\db_1\network\admin\listener.ora
- 監(jiān)聽(tīng)程序日志文件 D:\oracle\product\10.2.0\db_1\network\log\l2.log
- 監(jiān)聽(tīng)端點(diǎn)概要...
- (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=PC1255-20110528)(PORT=1523)))
- 服務(wù)摘要..
- 服務(wù) "t02" 包含 1 個(gè)例程。
- 例程 "t02", 狀態(tài) READY, 包含此服務(wù)的 1 個(gè)處理程序...
- 服務(wù) "t02XDB" 包含 1 個(gè)例程。
- 例程 "t02", 狀態(tài) READY, 包含此服務(wù)的 1 個(gè)處理程序...
- 服務(wù) "t02_XPT" 包含 1 個(gè)例程。
- 例程 "t02", 狀態(tài) READY, 包含此服務(wù)的 1 個(gè)處理程序...
- 命令執(zhí)行成功
- LSNRCTL>
- 再測(cè)試,發(fā)現(xiàn)scott用戶能夠正常登錄:
- C:\Documents and Settings\Administrator>sqlplus scott/tiger@t02
- SQL*Plus: Release 10.2.0.1.0 - Production on 星期日 7月 24 22:24:43 2011
- 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
- SQL>
7.總結(jié)
當(dāng)監(jiān)聽(tīng)的端口是默認(rèn)的1521時(shí),PMON會(huì)動(dòng)態(tài)注冊(cè)該監(jiān)聽(tīng)(listener);
當(dāng)監(jiān)聽(tīng)的端口不是默認(rèn)的1521時(shí),需要使用alter system set local_listener="T02";來(lái)手動(dòng)注冊(cè)監(jiān)聽(tīng)。
關(guān)于Oracle數(shù)據(jù)庫(kù)注冊(cè)監(jiān)聽(tīng)的知識(shí)就介紹到這里,希望能帶給您一些收獲!
【編輯推薦】
- 通過(guò)SDE服務(wù)直連Oracle數(shù)據(jù)庫(kù)的配置
- 一些很實(shí)用的Oracle數(shù)據(jù)庫(kù)優(yōu)化策略總結(jié)篇
- Java和Ibatis調(diào)用存儲(chǔ)過(guò)程并取得返回值詳解
- Oracle數(shù)據(jù)庫(kù)使用存儲(chǔ)過(guò)程創(chuàng)建自動(dòng)增長(zhǎng)列
- Oracle、MySQL和PostgreSQL的比較與選擇
新聞標(biāo)題:詳解Oracle數(shù)據(jù)庫(kù)手動(dòng)注冊(cè)監(jiān)聽(tīng)的方法
鏈接地址:http://www.5511xx.com/article/dhehiis.html


咨詢
建站咨詢
