Launching LSNRCTL produces an error

listeneroracle

I am trying to launch LSNRCTL on my Windows 10 64-bit laptop; Oracle 18 XE
I get this error message:

C:\app\Owner\product\18.0.0\dbhomeXE\bin>lsnrctl

LSNRCTL for 64-bit Windows: Version 18.0.0.0.0 – Production on 10-APR-2021 13:04:13

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

Message 850 not found; No message file for product=NETWORK, facility=NL
LSNRCTL>

My ORACLE_HOME variable is set to: C:\app\Owner\product\18.0.0\dbhomeXE\bin

Andrew Sayer suggested:

Either unset your oracle_home or set it to c:\ app\Owner\product\18.0.0\dbhomeXE (assuming that’s the real directory)

I followed the suggestions, here is the output:

C:\>lsnrctl status
LSNRCTL for 64-bit Windows: Version 18.0.0.0.0 - Production on 10-APR 02114:18:42
Copyright (c) 1991, 2018, Oracle.  All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.2.15)(PORT=1521)))
TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   64-bit Windows Error: 61: Unknown error
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   64-bit Windows Error: 2: No such file or directory

listener.ora file:

DEFAULT_SERVICE_LISTENER = XE

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = C:\app\Owner\product\18.0.0\dbhomeXE)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:C:\app\Owner\product\18.0.0\dbhomeXE\bin\oraclr18.dll")
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.15)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

sqlnet.ora file:

SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

AFAIK all of the above directories exist.

EdStevens said:

You have "TNS-12541: TNS:no listener ". Your listener is not started.

When I try to start the listener I get this message:

C:\>lsnrctl start

LSNRCTL for 64-bit Windows: Version 18.0.0.0.0 - Production on 10-APR-2021 17:00:21

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

Message 1070 not found; No message file for product=NETWORK, facility=TNSTNS-12557: Message 12557 not found; No message file for product=NETWORK, facility=TNS
 TNS-12560: Message 12560 not found; No message file for product=NETWORK, facility=TNS
  TNS-00527: Message 527 not found; No message file for product=NETWORK, facility=TNS

Best Answer

EdStevens wrote:

"message not found" invariably means that ORACLE_HOME is not set correctly. The message file (the file with the text of all of the error messages) is located in relation to ORACLE_HOME. If ORACLE_HOME is not correct, then it can't find the message file, and all errors will cascade to "message not found".

The question author responded:

I think I solved the problem; the Oracle service TNS Listener was not started. I changed the ORACLE_HOME environment variable to: C:\app\Owner\product\18.0.0\dbhomeXE - I dropped the "\bin" directory.