Oracle DBを本番環境で1年以上使用しています。
私は私のリスナーを働いています:
[Oracle@base admin]$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.4.0
Connecting to (ADDRESS=(PROTOCOL=tcp)(Host=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date 02-NOV-2016 14:22:38
Uptime 1 days 20 hr. 3 min. 13 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Log File /o/app/Oracle/diag/tnslsnr/base/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(Host=base)(PORT=1521)))
Services Summary...
Service "BASE" has 1 instance(s).
Instance "BASE", status READY, has 1 handler(s) for this service...
Service "BASEXDB" has 1 instance(s).
Instance "BASE", status READY, has 1 handler(s) for this service...
The command completed successfully
しかしlistener.ora
はありません:
ls /o/app/Oracle/product/DB_11.2_SE/dbhome_2/network/admin/ samples shrept.lst tnsnames.ora
これは私のtnsnames.ora
の内容です:
$ cat tnsnames.ora BASE = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS =(PROTOCOL = TCP)(Host = 10.20 .20.19)(PORT = 1521)) (LOAD_BALANCE = yes) ) (CONNECT_DATA = (SERVICE_NAME = BASE) ) ) ORCL = (DESCRIPTION = (ADDRESS =(PROTOCOL = TCP)(Host = 10.20.20.20) (PORT = 1522)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) )
これはどのようにして可能ですか?私の知る限り、リスナーが機能するには、listener.ora
ファイルが必要です。
別のOracleデータベースをインストールしていて、lsnrctl status
を実行すると、出力にListener Parameter File /o/app/Oracle/product/11.2/dbhome/network/admin/listener.ora
を含む行が表示され、ここには表示されません。また、locate listener.ora
を実行しましたが、何も実行していません。
「私の知る限り、リスナーが機能するには、listener.oraファイルが必要です。」
8.1.5以降、listener.oraはデフォルトのリスナーではオプションです。
LISTENER.ORAなしでリスナーを起動する(ドキュメントID 208968.1)
目的
Oracle8i(8.1.5)以降、デフォルトのOracle Net Listenerを起動するためにLISTENER.ORAが不要になったという事実を公表するために。
listener.ora
は必要ありません。リスナーは1つもなくても問題なく開始されますが、サービスをサポートせずに開始されます。 pmon
は定期的にデータベースをリスナーに登録しますが、手動で登録を強制することもできます。
ファイルを移動します。
C:\oraclexe\app\Oracle\product\11.2.0\server\network\ADMIN>move listener.ora listener.foo
1 file(s) moved.
リスナーを起動します。
C:\oraclexe\app\Oracle\product\11.2.0\server\network\ADMIN>lsnrctl start
LSNRCTL for 64-bit Windows: Version 11.2.0.2.0 - Production on 04-NOV-2016 13:50
:03
Copyright (c) 1991, 2014, Oracle. All rights reserved.
Starting tnslsnr: please wait...
TNSLSNR for 64-bit Windows: Version 11.2.0.2.0 - Production
Log messages written to C:\oraclexe\app\Oracle\diag\tnslsnr\Host\listener\alert\log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(Host=host)(PORT=1521)))
Connecting to (ADDRESS=(PROTOCOL=tcp)(Host=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for 64-bit Windows: Version 11.2.0.2.0 - Produ
ction
Start Date 04-NOV-2016 13:50:08
Uptime 0 days 0 hr. 0 min. 5 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Log File C:\oraclexe\app\Oracle\diag\tnslsnr\Host\listener\alert\log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(Host=host)(PORT=1521)))
The listener supports no services
The command completed successfully
データベースをリスナーに登録します。
C:\oraclexe\app\Oracle\product\11.2.0\server\network\ADMIN>sqlplus / as sysdba
SQL*Plus: Release 11.2.0.2.0 Production on Fri Nov 4 13:50:38 2016
Copyright (c) 1982, 2014, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
SQL> alter system register;
System altered.
SQL>
リスナーはデータベースをサポートします。
C:\oraclexe\app\Oracle\product\11.2.0\server\network\ADMIN>lsnrctl status
LSNRCTL for 64-bit Windows: Version 11.2.0.2.0 - Production on 04-NOV-2016 13:51
:20
Copyright (c) 1991, 2014, Oracle. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=tcp)(Host=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for 64-bit Windows: Version 11.2.0.2.0 - Produ
ction
Start Date 04-NOV-2016 13:50:08
Uptime 0 days 0 hr. 1 min. 15 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Log File C:\oraclexe\app\Oracle\diag\tnslsnr\Host\list ener\alert\log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(Host=host)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(Host=host)(PORT=8080))(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "XEXDB" has 1 instance(s).
Instance "xe", status READY, has 1 handler(s) for this service...
Service "xe" has 1 instance(s).
Instance "xe", status READY, has 1 handler(s) for this service...
The command completed successfully
C:\oraclexe\app\Oracle\product\11.2.0\server\network\ADMIN>