サンプル集  >  other  >  ORA-12541: TNS: no listener
ORA-12541: TNS: no listener
2016/11/25

SQL*PlusでOracleに接続しようとしたところ「ORA-12541: TNS: no listener」というエラーがでました。

C:\> sqlplus TS012/TS012@TS012

SQL*Plus: Release 12.1.0.1.0 Production on Fri Nov 25 07:32:40 2016

Coppyright (c) 1982, 2013, Oracle.  All rights reserved.

ERROR:
ORA-12541: TNS:no listener

Enter user-name:

tnspingでリスナーの起動状況を確認します。

C:\> tnsping localhost

TNS Ping Utility for 64-bit Windows: Version 12.1.0.1.0 - Production on
 25-NOV-2016 07:37:36

Copyright (c) 1997, 2013, Oracle.  All rights reserved.

Used parameter files:
C:\OracleDatabase\product\12.1.0\dbhome_1\network\admin\sqlnet.ora

Used EZCONNECT adapter to resolve the alias
Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRE
SS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521)))
TNS-12541: TNS:no listener

SQL*Plusと同じエラーがでました。

リスナーが起動しているか確認します。

C:\> lsnrctl status

LSNRCTL for 64-bit Windows: Version 12.1.0.1.0 - Production on 25-NOV-2
016 07:46:28

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  64-bit Windows Error: 2: No such file or directory
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=TS012SV.TS012.y
mlib.com)(PORT=1521)))
TNS-12545: Connect failed because target host or object does not exist
 TNS-12560: TNS:protocol adapter error
   TNS-00515: Connect failed because target host or object does not exi
st
    64-bit Windows Error: 1001: Unknown error

tnsnames.oraとlistener.oraの記述内容を確認します。

tnsnames.oraC:\OracleDatabase\product\12.1.0\client_1\NETWORK\ADMIN
listener.oraC:\OracleDatabase\product\12.1.0\dbhome_1\NETWORK\ADMIN

記載されているサービス名が違ったので統一しました。 しかしSQL*Plusで接続しようとすると同じエラーがでました。

リスナーが起動していないのかもしれないので、リスナー起動コマンドを実行してみます。

C:\> lsnrctl start

LSNRCTL for 64-bit Windows: Version 12.1.0.1.0 - Production on 25-NOV-2
016 08:06:33

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

Starting tnslsnr: please wait...

TNSLSNR for 64-bit Windows: Version 12.1.0.1.0 - Production
System parameter file is C:\OracleDatabase\product\12.1.0\dbhome_1\netw
ork\admin\listener.ora
Log message written to C:\OracleDatabase\diag\tnslsnr\TS012SV\listener\
alert\log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EX
TPROC1521ipc)))
Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=TS011SV.T
S011.ymlib.com)(PORT=1521)))
TNS-12545: Connect failed because target host or object does not exist
 TNS-12560: TNS:protocol adapter error
   TNS-00515: Connect failed because target host or object does not exi
st
    64-bit Windows Error: 1001: Unknown error

Listener failed to start. See the error message(s) above ...

自分のPCのホスト名はTS012SV.TS012.ymlib.comですが、なぜかTS011と表示されました。

C:\OracleDatabase\product\12.1.0\dbhome_1\network\adminにあるlestener.oraを確認したところ、HOSTがTS011と記載されていたのでTS012に変更しました。

再度リスナーの開始コマンドを実行してみます。

C:\> lsnrctl start

LSNRCTL for 64-bit Windows: Version 12.1.0.1.0 - Production on 25-NOV-2
016 11:08:57

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

Starting tnslsnr: please wait...

TNSLSNR for 64-bit Windows: Version 12.1.0.1.0 - Production
System parameter file is C:\OracleDatabase\product\12.1.0\dbhome_1\netw
ork\admin\listener.ora
Log messages written to C:\OracleDatabase\diag\tnslsnr\TS012SV\listener
\alert\log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EX
TPROC1521ipc)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=TS012SV.TS012.y
mlib.com)(PORT=1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LIStENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for 64-bit Windows: Version 12.1.0.1.
0 - Production
Start Date                25-NOV-2016 11:09:00
Uptime                    0 days 0 hr. 0 min. 6 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   C:\OracleDatabase\product\12.1.0\dbhome_1\net
work\admin\listener.ora
Listener Log File         C:\OracleDatabase\diag\tnslsnr\TS012SV\listen
er\alert\log.xml
Listening Endpoint Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc
)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=itcp)(HOST=TS012SV.TS012.ymlib.com)(P
ORT=1521)))
Services Summary...
Service "CLRExtProc" has 1 instance(s).
  Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this serv
ice ...
The command completed successfully

起動した模様です。 SQL*Plusで接続を試みたところ、正常に接続できました。

▲ PageTop  ■ Home


Copyright (C) 2016 ymlib.com