整理日志中,突然发现有TNS-01101: Could not find service name for LISTENER_SCANx告警,检查了ps -ef | grep tns,发现SCAN是正常使用的,
如果没有设置TNS_ADMIN环境的话,lsnrctl服务是不可用的。
[grid@node1 ~]$ srvctl status scan
SCAN VIP scan1 is enabled
SCAN VIP scan1 is running on node node1
SCAN VIP scan2 is enabled
SCAN VIP scan2 is running on node node2
SCAN VIP scan3 is enabled
SCAN VIP scan3 is running on node node3
[grid@node1 ~]$ ps -ef| grep tns
grid 6230 1 0 Mar25 ? 00:00:18 /u01/app/11.2.0/grid/bin/tnslsnr LISTENER_SCAN1 -inherit
如果没有设置TNS_ADMIN环境的话:
[grid@node1 ~]$ lsnrctl service LISTENER_SCAN1
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 16-FEB-2015 15:58:00
Copyright (c) 1991, 2009, Oracle. All rights reserved.
TNS-01101: Could not find service name LISTENER_SCAN1
设置TNS_ADMIN环境:
$ export TNS_ADMIN=$GRID_HOME/network/admin
[grid@node1 ~]$ lsnrctl service LISTENER_SCAN1
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 16-FEB-2015 17:26:03
Copyright (c) 1991, 2009, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1)))
Services Summary...
Service "k1" has 1 instance(s).
Instance "k11", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0 state:ready
REMOTE SERVER
(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=node1-vip)(PORT=1521)))
导致这个错误的原因很简单,就是没有设置TNS_ADMIN环境,只要在Grid Infrastructure home设置好,当然还得检查下oracle_home的环境变量是否可用
env | grep ORACLE_HOME
同样的,最后也要检查下$GRID_HOME是否设置好。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30430420/viewspace-1795169/
,如需转载,请注明出处,否则将追究法律责任。