启监听时,报TNS-12560、TNS-00530错误

配置好listener.ora与tnsnames.ora后,执行启动监听命令后,报如下错误:

[Oracle@gc1 admin]$ lsnrctl start

 

LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 25-APR-2014 23:27:57

 

Copyright (c) 1991, 2005, Oracle. All rights reserved.

 

Starting /u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr: please wait...

 

TNSLSNR for Linux: Version 10.2.0.1.0 - Production

System parameter file is /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
 
Log messages written to /u01/app/oracle/product/10.2.0/db_1/network/log/listener.log
 
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=gc1)(PORT=1521)))

 

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=gc1)(PORT=1521)))

TNS-12560: TNS:protocol adapter error

 TNS-00530: Protocol adapter error

  Linux Error: 113: No route to host

 


listener.ora与tnsnames.ora中配置内容如下:

[oracle@gc1 admin]$ more listener.ora

LISTENER=

  (DESCRIPTION=

    (ADDRESS_LIST=

      (ADDRESS=(PROTOCOL=tcp)(HOST=gc1)(PORT=1521))

    )

  )

SID_LIST_LISTENER=

  (SID_LIST=

    (SID_DESC=

      (SID_NAME=PROD)

      (ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1)

      (GLOBAL_DBNAME=PROD)

    )

    (SID_DESC=

      (SID_NAME=EMREP)

      (ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1)

      (GLOBAL_DBNAME=EMREP)

    )

  )

 

LSNR2=

  (DESCRIPTION=

    (ADDRESS_LIST=

      (ADDRESS=(PROTOCOL=tcp)(HOST=gc1)(PORT=1526))

      (ADDRESS=(PROTOCOL=ipc)(KEY=extproc))

    )

  )

SID_LIST_LSNR2=

  (SID_LIST=

    (SID_DESC=

      (SID_NAME=plsextproc)

      (ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1)

      (PROGRAM=extproc)

    )

  )

[oracle@gc1 admin]$ more tnsnames.ora

prod=

 (DESCRIPTION=

  (ADDRESS= (PROTOCOL=tcp)(HOST=gc1)(PORT=1521))

  (CONNECT_DATA=

    (SERVICE_NAME=PROD)

    (SERVER=dedicated)

  )

 )

 

prod_s=

 (DESCRIPTION=

  (ADDRESS= (PROTOCOL=tcp)(HOST=gc1)(PORT=1526))

  (CONNECT_DATA=

    (SERVICE_NAME=PROD)

    (SERVER=shared)

  )

 )

 

lsnr2=

 (DESCRIPTION=

  (ADDRESS= (PROTOCOL=tcp)(HOST=gc1)(PORT=1526))

  (CONNECT_DATA=

    (SERVICE_NAME=PROD)

    (SERVER=dedicated)

  )

 )

 

emrep=

 (DESCRIPTION=

  (ADDRESS= (PROTOCOL=tcp)(HOST=gc2)(PORT=1521))

  (CONNECT_DATA=

    (SERVICE_NAME=emrep)

    (SERVER=dedicated)

  )

 )

 

racdb=

 (DESCRIPTION=

  (LOAD_BALANCE=on)

  (FAILOVER=on)

  (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.10)(PORT=1521))

  (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.1.11)(PORT=1521))

  (CONNECT_DATA=(SERVICE_NAME=RACDB))

 )

仔细检查这二配置文件,无语法错误。且tns文件都是使用主机名进行连接,怀疑可能/etc/hosts中ip配置有问题。

--查看/etc/hosts内容

[oracle@gc1 admin]$ vi /etc/hosts

 

# Do not remove the following line, or various programs

# that require network functionality will fail.

# Do not remove the following line, or various programs

# that require network functionality will fail.

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1 node1 localhost.localdomain localhost

::1 localhost6.localdomain6 localhost6

192.168.188.116 gc1

192.168.8.115 gc2

--查看当前系统ip

[root@gc1 ~]# ifconfig

eth0 Link encap:Ethernet HWaddr 00:0C:29:F2:07:49

          inet addr:10.1.55.129 Bcast:10.1.55.255 Mask:255.255.255.0

          inet6 addr: fe80::20c:29ff:fef2:749/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

          RX packets:15906 errors:0 dropped:0 overruns:0 frame:0

          TX packets:2524 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:1438926 (1.3 MiB) TX bytes:305470 (298.3 KiB)

          Interrupt:67 Base address:0x2000

 

lo Link encap:Local Loopback

          inet addr:127.0.0.1 Mask:255.0.0.0

          inet6 addr: ::1/128 Scope:Host

          UP LOOPBACK RUNNING MTU:16436 Metric:1

          RX packets:414 errors:0 dropped:0 overruns:0 frame:0

          TX packets:414 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0

          RX bytes:21738 (21.2 KiB) TX bytes:21738 (21.2 KiB)

这二ip不同,于是root用户修改/etc/hosts中ip地址信息,如下:

[oracle@gc1 oradata]$ su - root

Password:

[root@gc1 ~]# vi /etc/hosts

 

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1 node1 localhost.localdomain localhost

::1 localhost6.localdomain6 localhost6

# 192.168.188.116

10.1.55.129 gc1

192.168.8.115 gc2

修改保存后,再启动监听,成功

[oracle@gc1 ~]$ lsnrctl start

 

LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 25-APR-2014 23:38:00

 

Copyright (c) 1991, 2005, Oracle. All rights reserved.

 

Starting /u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr: please wait...

 

TNSLSNR for Linux: Version 10.2.0.1.0 - Production

System parameter file is /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
 
Log messages written to /u01/app/oracle/product/10.2.0/db_1/network/log/listener.log
 
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=gc1)(PORT=1521)))

 

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=gc1)(PORT=1521)))

STATUS of the LISTENER

------------------------

Alias LISTENER

Version TNSLSNR for Linux: Version 10.2.0.1.0 - Production

Start Date 25-APR-2014 23:38:00

Uptime 0 days 0 hr. 0 min. 0 sec

Trace Level off

Security ON: Local OS Authentication

SNMP OFF

Listener Parameter File /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
 
Listener Log File /u01/app/oracle/product/10.2.0/db_1/network/log/listener.log

Listening Endpoints Summary...

  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=gc1)(PORT=1521)))

Services Summary...

Service "EMREP" has 1 instance(s).

  Instance "EMREP", status UNKNOWN, has 1 handler(s) for this service...

Service "PROD" has 1 instance(s).

  Instance "PROD", status UNKNOWN, has 1 handler(s) for this service...

The command completed successfully

相关推荐