5、關於tnsname.ora檔案的配置
先來一個tnsnames.ora檔案的樣板:
test=
(DEscriptON=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=testserver)(PORT=1521)
)
(CONNECT_DATA=(SERVICE_NAME=orcl.testserver.com)
)
)
現解釋如下:
test:為網路服務名(net service name),也叫資料庫別名。
SERVICE_NAME:該引數是 Oracle8i 新引進的。在8i以前,我們用 SID 來表示標識資料庫的一個例項,但是在 Oracle 的並行環境中,一個資料庫對應多個例項,這樣就需要多個網路服務名,設定繁瑣。為了方便並行環境中的設定,引進了 Service_name 引數,該引數對應一個資料庫,而不是一個例項,而且該引數有許多其它的好處。該引數的預設值為 Db_name. Db_domain,即等於 Global_name。一個資料庫可以對應多個 Service_name,以便實現更靈活的配置。該引數與 SID 沒有直接關係,即不必 Service name 必須與 SID 一樣。
sql*plus 執行基本機理:
在使用者輸入 sqlplus system/manager@test 後,sqlplus 程式會自動到 sqlnet.ora 檔案中找 NAMES.DEFAULT_DOMAIN 引數,假如該引數存在,則將該引數中的值取出,加到網路服務名的後面,即此例中你的輸入由 sqlplus system/manager@test 自動變為 sqlplus system/manager@test.server.com ,然後再到 tnsnames.ora 檔案中找 test.server.com 網路服務名,這當然找不到了,因為該檔案中只有 test 網路服務名,所以報錯。解決的辦法就是將 sqlnet.ora 檔案中的 NAMES.DEFAULT_DOMAIN 引數註釋掉即可,如 #NAMES.DEFAULT_DOMAIN = server.com。假如 NAMES.DEFAULT_DOMAIN 引數不存在,則 sqlplus 程式會直接到 tnsnames.ora 檔案中找 test 網路服務名,然後取出其中的 host,port,tcp,service_name,利用這些資訊將連線請求傳送到正確的資料庫伺服器上。
另外原則上 tnsnames.ora 中的配置不區分大小寫,但是我的確遇到區分大小寫的情況,所以最好將使用的網路服務與 tnsnames.ora 中配置的完全一樣。
ORA-12514: TNS:listener could not resolve SERVICE_NAME given in connect Descrīptor.該錯誤表示能在 tnsnames.ora 中找到網路服務名,但是在 tnsnames.ora 中指定的 SERVICE_NAME 與伺服器端的 SERVICE_NAME 不一致。解決的辦法是修改 tnsnames.ora 中的 SERVICE_NAME。
可以看到,能否連線資料庫,和sqlnet.ora中的names.default_引數有很大關係。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/248644/viewspace-929673/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 客戶端配置檔案tnsname.ora客戶端
- 【監聽】tnsname.ora檔案理解
- 關於spring的配置檔案總結Spring
- 關於 Pentaho 的配置檔案 pentaho.xmlXML
- tnsping命令對tnsname.ora檔案的使用
- 關於配置檔案中的預設值的問題
- OEM分析TNSNAME.ORA檔案失敗處理
- 【Linux】關於Linux的部分細節與配置檔案Linux
- 關於websphere讀取war配置檔案出錯的問題Web
- 關於oracle的控制檔案Oracle
- 關於檔案的open方法
- 關於控制檔案的總結
- 關於PDF檔案解密解密
- 關於 ylepub 檔案格式
- oracle 關於--控制檔案Oracle
- [轉]關於Linux安裝mysql預設配置檔案位置LinuxMySql
- 關於ubuntu修改hosts檔案的方法Ubuntu
- 關於Play框架的靜態檔案框架
- mysql關於ibdata檔案的理解MySql
- 關於C++的標頭檔案C++
- 關於ELF檔案格式的實驗
- sqlserver關於filestream檔案流、filetable檔案表的總結SQLServer
- 關於lnmp配置laravel專案的問題?LNMPLaravel
- c++ 關於new檔案C++
- oracle 關於--密碼檔案Oracle密碼
- oracle 關於--引數檔案Oracle
- oracle 關於-日誌檔案Oracle
- oracle 關於-資料檔案Oracle
- 關於oracle 密碼檔案Oracle密碼
- 關於jdon論壇的jive_init.properties檔案路徑配置問題
- spring boot配置檔案相關Spring Boot
- springmvc基於xml配置檔案SpringMVCXML
- 關於基於Form的多檔案上載 (轉)ORM
- 關於mybatis生成外掛Generator配置檔案中自定義註釋MyBatis
- SAP UI5 Tools 裡配置檔案 ui5-local.yaml 的配置要點UIYAML
- Android 關於 so 檔案的總結Android
- 關於PHP.ini檔案的設定PHP
- 關於HBase的日誌檔案和HFile