web-dev-qa-db-ja.com

listener.oraなしでリスニングするリスナー

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を実行しましたが、何も実行していません。

6
Gonzalo

「私の知る限り、リスナーが機能するには、listener.oraファイルが必要です。」

8.1.5以降、listener.oraはデフォルトのリスナーではオプションです。

LISTENER.ORAなしでリスナーを起動する(ドキュメントID 208968.1)

目的

Oracle8i(8.1.5)以降、デフォルトのOracle Net Listenerを起動するためにLISTENER.ORAが不要になったという事実を公表するために。

4
Balazs Papp

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>
4
Philᵀᴹ