TNS-03505 名稱無法解析

wuweilong發表於2015-06-16
TNS-03505 名稱無法解析

問題現象:

  1. [oracle@db01 admin]$ tnsping pri

  2. TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 15-JUN-2015 21:57:52
  3. Copyright (c) 1997, 2013, Oracle. All rights reserved.

  4. Used parameter files:

  5. TNS-03505: Failed to resolve name

  1. [oracle@db01 admin]$ sqlplus system/oracle@pri

  2. SQL*Plus: Release 11.2.0.4.0 Production on Mon Jun 15 21:58:48 2015
  3. Copyright (c) 1982, 2013, Oracle. All rights reserved.

  4. ERROR:
  5. ORA-12154: TNS:could not resolve the connect identifier specified


  6. Enter user-name: ^C


問題分析:

    出現該問題的原因通常有兩個:1、名稱不存在  2、tns配置檔案不存在。


問題處理:

1、首先檢查tnsnames.ora的所有配置資訊,一切正常沒有任何問題。

  1. [oracle@db01 admin]$ cat tnsname.ora
  2. pri =
  3.   (DESCRIPTION =
  4.     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.50)(PORT = 1521))
  5.     (CONNECT_DATA =
  6.       (SERVER = DEDICATED)
  7.       (SERVICE_NAME = woo)
  8.     )
  9.   )

2、檢查tnsnames.ora的檔案及檔案所屬使用者及使用者組  

  1. [oracle@db01 admin]$ ll tnsnames.ora
  2. -rwxr--r-- 1 oracle oinstall 350 Jun 16 22:04 tnsname.ora

  3. #從這裡來看也是沒有問題,檔案是屬於oinstall使用者組,及其所有許可權也是Oracle

3、那麼這個時候我們選擇跳過tnsnames.ora透過手工登陸進行驗證資料庫是否正常

  1. [oracle@db01 admin]$ sqlplus system/oracle@192.168.1.50/woo

  2. SQL*Plus: Release 11.2.0.4.0 Production on Tue Jun 16 22:34:40 2015
  3. Copyright (c) 1982, 2013, Oracle. All rights reserved.


  4. Connected to:
  5. Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - Production
  6. With the Partitioning, Oracle Label Security, OLAP, Data Mining,
  7. Oracle Database Vault and Real Application Testing options

  8.               
  9. SQL> select name from v$database;

  10. NAME
  11. ---------
  12. WOO

  13. SQL> select instance_name,status from v$instance;

  14. INSTANCE_NAME STATUS
  15. ---------------- ------------
  16. woo OPEN

  17. SQL>


  18. #從這裡我們可以看到,資料庫肯定是沒有問題的,那麼下一步我們透過拿一個好的監聽檔案替換這個監聽檔案來處理該問題。

4、透過上傳一個之前可用的監聽配置檔案進行對比

  1. [oracle@db01 admin]$ ls
  2. listener.ora samples shrept.lst sqlnet.ora tnsname.ora tnsnames.ora
  3. [oracle@db01 admin]$ chmod u+x tnsnames.ora
  4. [oracle@db01 admin]$ ll
  5. total 24

  6. -rwxr-xr-x 1 oracle oinstall 711 Jun 16 22:08 listener.ora
  7. drwxr-xr-x 2 oracle oinstall 4096 Jun 11 21:56 samples
  8. -rw-r--r-- 1 oracle oinstall 381 Dec 17 2012 shrept.lst
  9. -rw-r--r-- 1 oracle oinstall 221 Jun 16 21:59 sqlnet.ora
  10. -rwxr--r-- 1 oracle oinstall 350 Jun 16 22:31 tnsname.ora
  11. -rwxr--r-- 1 oracle oinstall 350 Jun 16 22:04 tnsnames.ora ----這個是後面上傳的

  12. #透過對比,我發現之前手工些的那個檔名稱不對,即使裡面內容正確也無濟於事。

5、透過修改替換監聽檔案,該問題得到解決:

  1. [oracle@db01 admin]$ cat tnsname.ora > tnsnames.ora

  2. [oracle@db01 admin]$ rm -rf tnsname.ora

  3. [oracle@db01 admin]$ sqlplus system/oracle@pri

  4. SQL*Plus: Release 11.2.0.4.0 Production on Tue Jun 16 23:02:15 2015

  5. Copyright (c) 1982, 2013, Oracle. All rights reserved.


  6. Connected to:
  7. Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - Production
  8. With the Partitioning, Oracle Label Security, OLAP, Data Mining,
  9. Oracle Database Vault and Real Application Testing options

  10. SQL> select name from v$database;

  11. NAME
  12. ---------
  13. WOO

  14. SQL> select instance_name,status from v$instance;


  15. INSTANCE_NAME STATUS
  16. ---------------- ------------
  17. woo OPEN

  18. SQL>
  19. SQL> host ls -rtl
  20. total 20
  21. -rw-r--r-- 1 oracle oinstall 381 Dec 17 2012 shrept.lst
  22. drwxr-xr-x 2 oracle oinstall 4096 Jun 11 21:56 samples
  23. -rw-r--r-- 1 oracle oinstall 221 Jun 16 21:59 sqlnet.ora
  24. -rwxr-xr-x 1 oracle oinstall 711 Jun 16 22:08 listener.ora
  25. -rwxr--r-- 1 oracle oinstall 350 Jun 16 23:02 tnsnames.ora

  26. SQL>


 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20674423/viewspace-1701606/,如需轉載,請註明出處,否則將追究法律責任。

相關文章