Oracle

啟動 LSNRCTL 會產生錯誤

  • April 11, 2021

我正在嘗試在我的 Windows 10 64 位筆記型電腦上啟動 LSNRCTL;Oracle 18 XE 我收到以下錯誤消息:

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

適用於 64 位 Windows 的 LSNRCTL:版本 18.0.0.0.0 - 2021 年 4 月 10 日 13:04:13 生產

版權所有 (c) 1991、2018,甲骨文。版權所有。

未找到消息 850;沒有產品=NETWORK、設備=NL LSNRCTL> 的消息文件

我的ORACLE_HOME變數設置為:C:\app\Owner\product\18.0.0\dbhomeXE\bin

Andrew Sayer建議:

取消設置 oracle_home 或將其設置為 c:\ app\Owner\product\18.0.0\dbhomeXE (假設這是真正的目錄)

我遵循了建議,這是輸出:

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 文件:

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 文件:

SQLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

AFAIK 以上所有目錄都存在。

埃德史蒂文斯說:

你有“TNS-12541: TNS:no listener”。您的偵聽器未啟動。

當我嘗試啟動偵聽器時,我收到以下消息:

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

埃德史蒂文斯寫道:

“找不到消息”總是意味著ORACLE_HOME設置不正確。消息文件(包含所有錯誤消息文本的文件)位於與ORACLE_HOME. 如果ORACLE_HOME不正確,則找不到消息文件,所有錯誤將級聯爲“找不到消息”。

問題作者回應:

我想我解決了這個問題;Oracle 服務TNS 偵聽器未啟動。我將ORACLE_HOME環境變數更改為:C:\app\Owner\product\18.0.0\dbhomeXE - 我刪除了“\bin”目錄。

set ORACLE_HOME=C:\app\Owner\product\18.0.0\dbhomeXE
set PATH=%PATH%;%ORACLE_HOME%\bin
lsnrctl status

引用自:https://dba.stackexchange.com/questions/289603