您的位置:首页 > 其它

TNS-03505 名称无法解析

2015-06-16 17:22 274 查看
TNS-03505 名称无法解析

问题现象:

[oracle@db01 admin]$ tnsping pri

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

Used parameter files:
TNS-03505: Failed to resolve name

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

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

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

Enter user-name: ^C

问题分析:

出现该问题的原因通常有两个:1、名称不存在 2、tns配置文件不存在。

问题处理:

1、首先检查tnsnames.ora的所有配置信息,一切正常没有任何问题。

[oracle@db01 admin]$ cat tnsname.ora 
pri =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.50)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = woo)
    )
  )

2、检查tnsnames.ora的文件及文件所属用户及用户组

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

#从这里来看也是没有问题,文件是属于oinstall用户组,及其所有权限也是Oracle

3、那么这个时候我们选择跳过tnsnames.ora通过手工登陆进行验证数据库是否正常

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

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

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

              
SQL> select name from v$database;

NAME
---------
WOO

SQL> select instance_name,status from v$instance;

INSTANCE_NAME    STATUS
---------------- ------------
woo              OPEN

SQL> 

--从这里我们可以看到,数据库肯定是没有问题的,那么下一步我们通过拿一个好的监听文件替换这个监听文件来处理该问题。

4、通过上传一个之前可用的监听配置文件进行对比

[oracle@db01 admin]$ ls
listener.ora  samples  shrept.lst  sqlnet.ora  tnsname.ora  tnsnames.ora

[oracle@db01 admin]$ chmod u+x tnsnames.ora 

[oracle@db01 admin]$ ll
total 24

-rwxr-xr-x 1 oracle oinstall  711 Jun 16 22:08 listener.ora
drwxr-xr-x 2 oracle oinstall 4096 Jun 11 21:56 samples
-rw-r--r-- 1 oracle oinstall  381 Dec 17  2012 shrept.lst
-rw-r--r-- 1 oracle oinstall  221 Jun 16 21:59 sqlnet.ora
-rwxr--r-- 1 oracle oinstall  350 Jun 16 22:31 tnsname.ora
-rwxr--r-- 1 oracle oinstall  350 Jun 16 22:04 tnsnames.ora        #这个是后面上传的

#通过对比,我发现之前手工些的那个文件名称不对,即使里面内容正确也无济于事。

5、通过修改替换监听文件,该问题得到解决:

[oracle@db01 admin]$ cat tnsname.ora > tnsnames.ora
[oracle@db01 admin]$ rm -rf tnsname.ora 
[oracle@db01 admin]$ sqlplus system/oracle@pri

SQL*Plus: Release 11.2.0.4.0 Production on Tue Jun 16 23:02:15 2015
Copyright (c) 1982, 2013, Oracle.  All rights reserved.

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

SQL> select name from v$database;

NAME
---------
WOO

SQL> select instance_name,status from v$instance;

INSTANCE_NAME    STATUS
---------------- ------------
woo              OPEN

SQL> 

SQL> host ls -rtl
total 20

-rw-r--r-- 1 oracle oinstall  381 Dec 17  2012 shrept.lst
drwxr-xr-x 2 oracle oinstall 4096 Jun 11 21:56 samples
-rw-r--r-- 1 oracle oinstall  221 Jun 16 21:59 sqlnet.ora
-rwxr-xr-x 1 oracle oinstall  711 Jun 16 22:08 listener.ora
-rwxr--r-- 1 oracle oinstall  350 Jun 16 23:02 tnsnames.ora

SQL>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: