リスナーを起動しようとすると(Oracleデータベースが1つしかない場合)、次のようになります。
LSNRCTL> status
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=admin-41f89f35d)(PORT=1521)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-00511: No listener
32-bit Windows Error: 61: Unknown error
tnsnames.ora
# TNSNAMES.ORA Network Configuration File: F:\Oracle\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
PROJECT =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(Host = admin-xxxxxx)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = PROJECT)
)
)
INST1_HTTP =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(Host = admin-xxxxxx)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = MODOSE)
(PRESENTATION = http://HRService)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
listerner.ora
# LISTENER.ORA Network Configuration File: F:\Oracle\network\admin\listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(Host = admin-xxxxxx)(PORT = 1521))
)
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(Oracle_HOME = F:\Oracle)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = PROJECT)
(Oracle_HOME = F:\Oracle)
(SID_NAME = PROJECT)
)
)
何が問題なのか本当にわかりません。私のtnsnames.oraファイルとlistener.oraファイルは私には問題ありません。
簡単な修正として、tnsnames.oraとlisterner.oraの両方から(データベースに関して)エントリを削除できます。シナリオでは、これをtnsnames.oraから削除します
PROJECT =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(Host = admin-xxxxxx)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = PROJECT)
)
)
そしてこれはlisterner.oraから
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(Oracle_HOME = F:\Oracle)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = PROJECT)
(Oracle_HOME = F:\Oracle)
(SID_NAME = PROJECT)
)
)
その後、データベースを開いてみることができます。これらのエントリは自動的に作成されます。そして今回はリスナーの声を聞いてもらいたい。
oracleソフトウェアがF:\ Oracleにインストールされていると仮定します。
set Oracle_HOME=F:\Oracle
set PATH=%Oracle_HOME%\bin;%PATH%
lsnrctl start
トリックを行う必要があります。 Oracleを使用する場合は、環境が正しくセットアップされていることを確認してください。また、同じWindowsマシン上に複数のOracleインストールがある場合、PATHは、最後にインストールされたOracleインストールが最初にPATHから選択されるように変更されます。それはかなりの数の副作用を与えます。