サンプル集 |
■VC ■C# ■Java ■BorlandC ■LinuxC ■MS-DOS ■bash ■Excel VBA ■VBScript ■PHP ■HTML ■perl ■iPhone ■Android ■Lua ■other |
Linuxコマンド |
用語集 |
debian メモ |
apache2 メモ |
MySQL メモ |
Oracle メモ |
HOME |
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:
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
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
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.ora | C:\OracleDatabase\product\12.1.0\client_1\NETWORK\ADMIN |
listener.ora | C:\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 ...
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
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で接続を試みたところ、正常に接続できました。
Copyright (C) 2016 ymlib.com