【LISTENER】因 tnsnames.ora配置檔案配置問題導致ORA-12154錯誤排查一例
這是一個有關手工配置tnsnames.ora不當,導致服務名不可用的一個問題案例。提醒大家在手工配置的過程中注意其中的細節。
1.錯誤資訊如下
當使用secooler這個服務名連線資料庫的時候,收到如下錯誤
-bash-3.00$ sqlplus sec/sec@secooler
SQL*Plus: Release 10.2.0.1.0 - Production on Mon Sep 13 23:11:00 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified
Enter user-name:
2.檢查Oracle的監聽配置檔案tnsnames.ora
$ vi tnsnames.ora
……
secooler=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=secdb)(PORT=1521))
(CONNECT_DATA=
(SERVICE_NAME=secooler)))
……
問題就處在在配置secooler服務名的時候存在一行內容沒有留有空格(上面第四行的資訊"(CONNECT_DATA="前面沒有留有空格)。
3.處理問題
僅需將第四行前增加一個空格即可解決問題。
4.關於tnsnames.ora配置檔案的寫法
在手工配置tnsnames.ora檔案的時候,最容易出現的就是語法和格式上的問題。針對具體的一個服務名的配置只允許開始服務名頂頭書寫。
即便是整個服務名內容均寫在一行也是沒有問題的。例如secooler服務名按照如下方法進行配置。
secooler=(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=secdb)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=secooler)))
測試服務名secooler的可用性
-bash-3.00$ sqlplus sec/sec@secooler
SQL*Plus: Release 10.2.0.1.0 - Production on Mon Sep 13 23:14:10 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL>
5.小結
文中提到的問題與Oracle解析tnsnames檔案有關。如果大家習慣使用netca來配置服務名,那將會很少遇到因為tnsnames.ora格式上的問題。不過netca這種圖形化介面工具在某些條件下不便於使用(如僅允許使用命令列介面完成維護任務)。因此,建議大家對tnsnames.ora檔案格式有充分的瞭解,避免不必要的麻煩。
Good luck.
secooler
10.09.13
-- The End --
1.錯誤資訊如下
當使用secooler這個服務名連線資料庫的時候,收到如下錯誤
-bash-3.00$ sqlplus sec/sec@secooler
SQL*Plus: Release 10.2.0.1.0 - Production on Mon Sep 13 23:11:00 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified
Enter user-name:
2.檢查Oracle的監聽配置檔案tnsnames.ora
$ vi tnsnames.ora
……
secooler=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=secdb)(PORT=1521))
(CONNECT_DATA=
(SERVICE_NAME=secooler)))
……
問題就處在在配置secooler服務名的時候存在一行內容沒有留有空格(上面第四行的資訊"(CONNECT_DATA="前面沒有留有空格)。
3.處理問題
僅需將第四行前增加一個空格即可解決問題。
4.關於tnsnames.ora配置檔案的寫法
在手工配置tnsnames.ora檔案的時候,最容易出現的就是語法和格式上的問題。針對具體的一個服務名的配置只允許開始服務名頂頭書寫。
即便是整個服務名內容均寫在一行也是沒有問題的。例如secooler服務名按照如下方法進行配置。
secooler=(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=secdb)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=secooler)))
測試服務名secooler的可用性
-bash-3.00$ sqlplus sec/sec@secooler
SQL*Plus: Release 10.2.0.1.0 - Production on Mon Sep 13 23:14:10 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL>
5.小結
文中提到的問題與Oracle解析tnsnames檔案有關。如果大家習慣使用netca來配置服務名,那將會很少遇到因為tnsnames.ora格式上的問題。不過netca這種圖形化介面工具在某些條件下不便於使用(如僅允許使用命令列介面完成維護任務)。因此,建議大家對tnsnames.ora檔案格式有充分的瞭解,避免不必要的麻煩。
Good luck.
secooler
10.09.13
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-673794/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 記一次 hosts 檔案配置錯誤導致應用卡頓的奇葩問題
- TNS問題排查 The listener supports no services
- nginx 配置 proxy_next_upstream 會出現未預期 502 錯誤問題排查Nginx
- 解決 PBootCMS 中因資料庫名稱錯誤導致的“執行 SQL 發生錯誤!錯誤:no such table: ay_config”問題boot資料庫SQL
- pyinstaller 打包後讀取 ini 配置檔案路徑錯誤,怎麼定位配置檔案
- [譯] RxJS: 避免因濫用 switchMap 而導致錯誤JS
- yml 配置檔案提示錯誤mapping values are not allowed in this contextAPPContext
- Apache Solr錯誤預設配置導致的RCE(CVE-2019-12409)ApacheSolr
- 寶塔皮膚安裝配置檔案有錯誤
- angular版本更新與配置檔案問題Angular
- 使用 acme 指令碼給專案新增 https 證書排查錯誤一例ACM指令碼HTTP
- CentOS 防火牆配置與REJECT導致沒有生效問題CentOS防火牆
- import提升導致Fundebug報錯:“請配置apikey”ImportAPI
- 比較罕見的一個問題,磁碟檔案數目太多導致的LISTENER監聽起不來
- 記錄一次fs配置導致串線的問題
- laravel Route RESTful 因路由先後順序導致的解析錯誤LaravelREST路由
- 2.5.2. 監聽程式(listener)配置——2.5.2.3. 手工編輯監聽器配置檔案
- iis7.5錯誤 配置錯誤
- 從專案管理角度看因防疫導致的孕婦流產問題專案管理
- Auth::logoutOtherDevices 導致密碼錯誤問題Godev密碼
- 微軟配置錯誤導致大量敏感資料洩露,全球客戶受影響微軟
- .gitignore檔案配置以及gitee提交報Push rejected...錯誤解決Gitee
- [20180428]DNS與ORA-12154錯誤.txtDNS
- WPF App後臺檔案彈窗導致奇怪的問題APP
- Git配置配置檔案Git
- Druid連線池引數maxWait配置錯誤引發的問題UIAI
- maven因為換了配置檔案而導致所有的jar包都匯入不進來 (JDK8升級JDK11的時候碰到的問題)MavenJARJDK
- oracle 11g 【listener.ora tnsnames.ora】Oracle
- mstar因裝置讀不到導致,待機重啟問題
- 一次錯誤使用 go-cache 導致出現的線上問題Go
- git合併丟失程式碼問題分析與解決(錯誤操作導致)Git
- 線上問題排查:記一次 Redis Cluster Pipeline 導致的死鎖問題Redis
- 因為 int32 溢位導致的 peewee.IntegrityError 錯誤事故記錄Error
- Mabatis配置錯誤日誌BAT
- 記錄一次使用 nacos config 配置檔案都正確 但是獲取不到配置檔案的問題
- 解決properties、xml等配置檔案無法找到問題XML
- Asp.Net Mvc ScriptBundle 指令碼檔案捆綁壓縮 導致 指令碼出錯的問題ASP.NETMVC指令碼
- 【Azure 應用服務】部署Jar到App Service for Linux,因啟動命令路徑配置錯誤而引起:( Application Error 問題JARAPPLinuxError
- html的開始與結束標籤巢狀錯誤會導致哪些問題?HTML巢狀