lsnrctl 与 tnsnames.ora 的联系
平臺(tái):Windoxs XP+Oracle 11G
?
當(dāng)使用oralce的?Net Manager創(chuàng)建了一個(gè)名為“L3”的Listener后,要想使用lsnrctl啟動(dòng)和關(guān)閉 L3?還必須在tnsnames.ora 中配置一個(gè)名為L(zhǎng)3的條目.
listener.ora
L3 =
? (DESCRIPTION =
??? (ADDRESS = (PROTOCOL = TCP)(HOST = princessd)(PORT = 1523))
? )
SID_LIST_L3 =
? (SID_LIST =
??? (SID_DESC =
????? (GLOBAL_DBNAME = m_oracle)
????? (ORACLE_HOME = F:\app\Administrator\product\11.2.0\home)
????? (SID_NAME = oracle)
??? )
? )
ADR_BASE_L3 = f:\app\Administrator
*****************************************************************
tnsnames.ora
L3 =
? (DESCRIPTION =
??? (ADDRESS_LIST =
????? (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1523))
??? )
??? (CONNECT_DATA =
????? (SERVICE_NAME = m_oracle)
??? )
? )
tnanames.ora 中,services_name 必須與你想連接的數(shù)據(jù)庫(kù)所暴露出的GLOBAL_DBNAME 相同.
一個(gè)監(jiān)聽上是可以注冊(cè)多個(gè)數(shù)據(jù)庫(kù)的,而一個(gè)CONNECT_DATA只能指定一個(gè)services_name.
?
如果缺少 tnanames.ora 中對(duì)應(yīng)的條目,L3 服務(wù)也能夠起來(lái)。
因?yàn)閱?dòng)監(jiān)聽的時(shí)候,會(huì)先啟動(dòng)對(duì)所定義的地址的監(jiān)聽程序,然后驗(yàn)證在TNAnames.ora中又沒(méi)有對(duì)應(yīng)的條目。
?
LSNRCTL> start L3
啟動(dòng)tnslsnr: 請(qǐng)稍候...
?
TNSLSNR for 32-bit Windows: Version 11.2.0.1.0 - Production
系統(tǒng)參數(shù)文件為F:\app\Administrator\product\11.2.0\home\NETWORK\ADMIN\listener.ora
寫入f:\app\administrator\diag\tnslsnr\princessd\l3\alert\log.xml的日志信息
監(jiān)聽: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=princessd)(PORT=1523)))
?
TNS-01101: 無(wú)法找到服務(wù)名稱
雖然驗(yàn)證失敗,但是后臺(tái)的監(jiān)聽仍然是正確啟動(dòng)的,第一啟動(dòng)的時(shí)候還會(huì)創(chuàng)建一個(gè) Windows服務(wù),然后你就可以用那個(gè)Windows服務(wù)來(lái)啟動(dòng)和停止監(jiān)聽了。
但是如果想要用命令 stop L3來(lái)停止監(jiān)聽或者 status L3來(lái)查詢狀態(tài),結(jié)果如下。因?yàn)閘snrctl在查詢和關(guān)閉監(jiān)聽的時(shí)候,是先從tnsnames中找到對(duì)應(yīng)的條目,
然后根據(jù)地址連接到監(jiān)聽程序,然后查詢狀態(tài)或者要求監(jiān)聽停止的。因?yàn)槿鄙倜麨長(zhǎng)3的條目,所以不知道到那里查詢或者停止監(jiān)聽.
LSNRCTL> stop L3
TNS-01101: 無(wú)法找到服務(wù)名稱L3
?
LSNRCTL> status L3
TNS-01101: 無(wú)法找到服務(wù)名稱L3
?
?
?這個(gè)時(shí)候要么從Windows服務(wù)總?cè)ネV贡O(jiān)聽,或者添加對(duì)應(yīng)的條目在tnsnames.ora中.
總結(jié)
以上是生活随笔為你收集整理的lsnrctl 与 tnsnames.ora 的联系的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 路由器的基本设置
- 下一篇: 【linux排错】error while