TNS-01189: The listener could not authenticate the user

数据库服务器让系统管理员修改IP后启动监听报TNS-01189故障

[root@171db ~]# su - oracle
[oracle@171db ~]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 31-MAY-2013 10:49:58

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=171db)(PORT=1521)))
TNS-01189: The listener could not authenticate the user

下面是官方文档对这个故障的解释

TNS-01189: The listener could not authenticate the user
Cause: The user attempted to issue a privileged administrative command, but
could not be successfully authenticated by the listener using the local OS
authentication mechanism. This may occur due to one of the following reasons:
1. The user is running a version of LSNRCTL that is lower than the version of the
listener.
2. The user is attempting to administer the listener from a remote node.
3. The listener could not obtain the system resources needed to perform. the
authentication.
4. The local network connection between the listener and LSNRCTL was
terminated unexpectedly during authentication message exchange, such as if
LSNRCTL program was suddenly aborted.
5. The communication between the listener and LSNRCTL is being intercepted by
a malicious user.
6. The software that the user is running is not following the authentication
protocol, indicating a malicious user.
Action: Make sure that administrative commands are issued using the LSNRCTL
tool that is of a version equal or greater than the version of the listener, and that
the tool and the listener are running on the same node. You can issue the
VERSION command to find out the version of the listener. If a malicious user is
suspected, use the information provided in the listener log file to determine the
source and nature of the requests. Enable listener tracing for more information. If
the error persists, contact Oracle Support Services.

对于这个问题解决思路是先检查/etc/hosts的配置,因为修改过ip,现在ip是
172.18.100.211,原来是172.18.100.171,而监听使用的
是机器名:

[root@171db ~]# vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
172.18.100.171  171db

果然/etc/hosts中的ip是172.18.100.171没有修改过来
将其修改为172.18.100.211 171db
再来启动监听

[oracle@171db admin]$ lsnrctl start

LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 31-MAY-2013 10:58:09

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

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

TNSLSNR for Linux: Version 11.2.0.2.0 - Production
System parameter file is /DBSoftware/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
Log messages written to /DBSoftware/app/oracle/diag/tnslsnr/171db/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.18.100.211)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.18.100.211)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.2.0 - Production
Start Date                31-MAY-2013 10:58:09
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /DBSoftware/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
Listener Log File         /DBSoftware/app/oracle/diag/tnslsnr/171db/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.18.100.211)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "orcl" has 1 instance(s).
  Instance "orcl", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully

[oracle@171db admin]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 31-MAY-2013 11:09:38

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=172.18.100.211)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.2.0 - Production
Start Date                31-MAY-2013 10:58:09
Uptime                    0 days 0 hr. 11 min. 28 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /DBSoftware/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
Listener Log File         /DBSoftware/app/oracle/diag/tnslsnr/171db/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.18.100.211)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "orcl" has 2 instance(s).
  Instance "orcl", status UNKNOWN, has 1 handler(s) for this service...
  Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully

问题解决了

2 thoughts on “TNS-01189: The listener could not authenticate the user

  1. Pingback: 环纹

发表评论

电子邮件地址不会被公开。