TNS-01169: The listener has not recognized the password

Document ID : KB000029108
Last Modified Date : 14/02/2018
Show Technical Document Details

PROBLEM DESCRIPTION

 

$ lsnrctl status LISTENER

 

LSNRCTL for SOLARIS: Version x.x.x.x - Production on [date]

 

Copyright (c) 1991, 2006, Oracle Corporation. All rights reserved.

 

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=myDomain.com)(PORT=1521)))

TNS-01169: The listener has not recognized the password

 

CAUSE

 

The TNS-01169 error occurred because security feature is enabled for listener i.e password is set in listener.ora file but lsnrctl command is issued without proper authentication.

 

SOLUTION

 

After you enable listener password, you will now require a password whenever you wish to stop the listener or any other listener actions. However in Oracle database 10g, if you are not logged into the operating system with a privileged account i.e OS user is a member of dba group, you will have to enter a password while doing any operation to listener.

 

Follow the steps below to solve the problem.

 

IF THE LISTENER PASSWORD IS KNOWN

 

1. Invoke lsnrctl command.

 

$lsnrctl

 

2. Set the current_listener to the appropriate listener to which you want to do operation.

 

LSNRCTL> set current_listener {listener_name_here}

 

Note that you have to issue "set current_listener {listener_name_here}" if your listener name is not default name that is LISTENER.

 

3. Set password to the password that you previously set for listener.

 

LSNRCTL> set password {password_here}

 

or you can do it interactively as:

 

LSNRCTL> set password

Password: {enter_your_password_here}

 

4. Issue your appropriate command.

 

LSNRCTL> status

 

or

 

LSNRCTL> stop

 

IF LISTENER PASSWORD IS UNKNOWN

 

If password is set in plain text within listener.ora file

 

If you forget listener password then look for listener.ora and see if password is set in plain text. If it is in plain text then you can retrieve it easily and use that in "set password" command and then do operation as you wanted.

 

If password is encrypted within listener.ora file

 

1. If password is set in encrypted format, check the listener process

 

$ps -ef |grep tns

 

Note the process id.

 

2. Kill the listener process

 

$kill -9 {process_id}

 

3. Remove the line PASSWORDS_{listener_name} from the listener.ora file.

 

4. Start the listener

 

$lsnrctl start {listener_name}

 

Set the password if you want to set the password again.