這篇文章將為大家詳細(xì)講解有關(guān)如何理解手工配置tnsnames.ora文件的處理空格事項(xiàng),文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

有關(guān)數(shù)據(jù)庫(kù)連接串的配置基本上有兩種方法:一種是使用圖形化工具netmgr;另外一種是手工直接編輯修改網(wǎng)絡(luò)配置文件tnsnames.ora。
這兩種配置方法各有利弊。netmgr工具配置方法因?yàn)樾枰獑?dòng)圖形化界面,因此受環(huán)境的限制比較多,優(yōu)點(diǎn)是使用netmgr配置的信息不容易出現(xiàn)錯(cuò)誤;手工配置tnsnames.ora適合經(jīng)驗(yàn)豐富的DBA使用,優(yōu)點(diǎn)是完全可以在命令行中完成,快速高效,缺點(diǎn)是容易出錯(cuò)。
給出一個(gè)手工配置tnsnames.ora極易出錯(cuò)的一個(gè)案例:謹(jǐn)慎處理空格!
1.標(biāo)準(zhǔn)的tnsnames.ora內(nèi)容
ora10g@secdb /home/oracle$ vi $ORACLE_HOME/network/admin/tnsnames.ora
……
ORA10G =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = secdb)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ora10g)
)
)
……
標(biāo)準(zhǔn)的配置以精美的縮進(jìn)展示了連接串的配置,很容易閱讀。
建議以此為模板去配置其他的連接串。
2.其他形式的配置
1)無(wú)縮進(jìn)形式
ORA10G =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = secdb)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ora10g)
)
)
上面這種書(shū)寫(xiě)形式?jīng)]有縮進(jìn),因此可閱讀性就大大地降低了。不過(guò)這種形式是可行的。
這里需要提醒的是:連接串名需要頂頭書(shū)寫(xiě),數(shù)據(jù)庫(kù)連接串定義中除首尾括號(hào)外不允許其他內(nèi)容頂頭書(shū)寫(xiě)!(后面會(huì)有錯(cuò)誤例子)
2)一行搞定一切
ORA10G=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=secdb)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ora10g)))
這是最精簡(jiǎn)的一種配置,但是缺點(diǎn)非常顯然:很難快速的理清語(yǔ)法關(guān)系。這種配置方法可集成在腳本中,達(dá)到快速編輯測(cè)試環(huán)境下的tnsnames.ora配置文件的目的。
3.謹(jǐn)慎處理空格
上文中“無(wú)縮進(jìn)形式”中已經(jīng)給出了配置規(guī)律:連接串名需要頂頭書(shū)寫(xiě),數(shù)據(jù)庫(kù)連接串定義中除首尾括號(hào)外不允許其他內(nèi)容頂頭書(shū)寫(xiě)!
例如下面的配置是不可行的。
ORA10G =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = secdb)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ora10g)
)
)
注意上面倒數(shù)第三行頂頭書(shū)寫(xiě)是不被允許的!
依此類推,下面的這些書(shū)寫(xiě)格式亦是非法。
ORA10G =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = secdb)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ora10g)
)
)
ORA10G =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = secdb)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ora10g)
)
)
ORA10G =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = secdb)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ora10g)
)
)
ORA10G =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = secdb)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ora10g)
)
)
此時(shí)連接數(shù)據(jù)庫(kù)時(shí)的報(bào)錯(cuò)信息如下:
ora10g@secdb /home/oracle$ sqlplus sec/sec@ora10g
SQL*Plus: Release 10.2.0.3.0 - Production on Fri Dec 17 21:10:16 2010
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified
Enter user-name:
如果條件允許的情況下可以使用netmgr工具配置數(shù)據(jù)庫(kù)連接串,這樣可以規(guī)避因手工編寫(xiě)配置文件帶來(lái)的錯(cuò)誤。對(duì)于經(jīng)驗(yàn)豐富的朋友建議采用手工方式來(lái)配置,畢竟這樣更加的透明和高效。
關(guān)于如何理解手工配置tnsnames.ora文件的處理空格事項(xiàng)就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。
分享標(biāo)題:如何理解手工配置tnsnames.ora文件的處理空格事項(xiàng)-創(chuàng)新互聯(lián)
當(dāng)前URL:http://chinadenli.net/article40/dhojeo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、建站公司、軟件開(kāi)發(fā)、微信公眾號(hào)、網(wǎng)站制作、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容