web-dev-qa-db-ja.com

Oracleリスナーが実行されておらず、起動しない

lsnrctl statusコマンドから次のエラーが表示されます。

C:\Users\pna105>lsnrctl stat

 LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 08-OCT-2014 17:53
 :55

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

 Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
 TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   64-bit Windows Error: 2: No such file or directory
 Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(Host=localhost)(PORT=1521)))
 TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
 TNS-00511: No listener
 64-bit Windows Error: 61: Unknown error

再起動前は正常に機能していましたが、現在は機能しておらず、Oracleホームページにもアクセスできません。

私のtnsnames.oraは:

  Oracle = 
  (DESCRIPTION =  
    (ADDRESS_LIST =  
      (ADDRESS = (PROTOCOL = TCP)(Host = Localhost)(PORT = 1521))  
    )  
    (CONNECT_DATA =  
      (SERVICE_NAME = Oracle)  
    )  
   )

   LISTENER_Oracle =
  (ADDRESS = (PROTOCOL = TCP)(Host = localhost)(PORT = 1521))


  ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
  (ADDRESS_LIST =
  (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
  )
   (CONNECT_DATA =
   (SID = CLRExtProc)
   (PRESENTATION = RO)
  )
  )

私のlistener.oraは次のとおりです(いくつかのスペースを追加するとブラケットが間違って配置されたためにエラーが発生し、TNS-12518の問題は解決しました)。

   SID_LIST_LISTENER =
   (SID_LIST =
   (SID_DESC =
    (SID_NAME = Oracle)
    (Oracle_HOME = C:\app\PNA105\product\11.2.0\dbhome_1)
  )  
  (SID_DESC =
    (SID_NAME = PLSExtProc)
    (Oracle_HOME = C:\app\PNA105\product\11.2.0\dbhome_1)
    (PROGRAM = extproc)
   )
   (SID_DESC =
  (SID_NAME = CLRExtProc)
  (Oracle_HOME = C:\app\PNA105\product\11.2.0\dbhome_1)
  (PROGRAM = extproc)
  (ENVS = "EXTPROC_DLLS=ONLY:C:\app\PNA105\product\11.2.0\dbhome_1\bin\oraclr11.dll")
  )
  )

  LISTENER =
 (DESCRIPTION_LIST =
  (DESCRIPTION =
  (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
  (ADDRESS = (PROTOCOL = TCP)(Host = localhost)(PORT = 1521))
  )
  )

  ADR_BASE_LISTENER = C:\app\PNA105

以下はlsnrctl startコマンドの出力です

C:\Users\pna105>lsnrctl start

LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 08-OCT-2014 18:26
:22

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

 Starting tnslsnr: please wait...

  TNS-12560: TNS:protocol adapter error
   TNS-00530: Protocol adapter error

以下は、ログファイルから必要な最後のエントリです。

 Started with pid=14784
 Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
 Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(Host=127.0.0.1)(PORT=1521)))
 Listener completed notification to CRS on start

 09-OCT-2014 15:46:01 * (CONNECT_DATA=(CID=(PROGRAM=)(Host=__jdbc__)(USER=INL007306$))
(SERVICE_NAME=Oracle)) * (ADDRESS=(PROTOCOL=tcp)(Host=127.0.0.1)(PORT=57389)) * 
establish * Oracle * 12518
TNS-12518: TNS:listener could not hand off client connection
TNS-12560: TNS:protocol adapter error
 TNS-00530: Protocol adapter error
 64-bit Windows Error: 203: Unknown error
 Dynamic address is already listened on (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp) 
 (Host=127.0.0.1)(PORT=1521)))
 09-OCT-2014 15:46:06 * service_register * Oracle * 0
 Thu Oct 09 15:46:11 2014
 09-OCT-2014 15:46:11 * service_update * Oracle * 0
 09-OCT-2014 15:46:12 * (CONNECT_DATA=(CID=(PROGRAM=)(Host=__jdbc__)(USER=INL007306$))
 (SERVICE_NAME=Oracle)) * (ADDRESS=(PROTOCOL=tcp)(Host=127.0.0.1)(PORT=57393)) * 
  establish * Oracle * 0
 09-OCT-2014 15:46:12 * service_update * Oracle * 0
 09-OCT-2014 15:46:13 * (CONNECT_DATA=(CID=(PROGRAM=)(Host=__jdbc__)(USER=INL007306$))
 (SERVICE_NAME=Oracle)) * (ADDRESS=(PROTOCOL=tcp)(Host=127.0.0.1)(PORT=57394)) * 
 establish * Oracle * 0

TNS-12518を解決しようとしましたが、リスナーは起動しましたが、まだOracleホームページにアクセスできません

lnsrctl statの出力

C:\Users\pna105>lsnrctl stat

LSNRCTL for 64-bit Windows: Version 11.2.0.1.0 - Production on 09-OCT-2014 17:16
:56

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

 Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
 STATUS of the LISTENER
  ------------------------
 Alias                     LISTENER
 Version                   TNSLSNR for 64-bit Windows: Version 11.2.0.1.0 - Produ
 ction
 Start Date                09-OCT-2014 15:45:58
 Uptime                    0 days 1 hr. 30 min. 58 sec
 Trace Level               off
 Security                  ON: Local OS Authentication
 SNMP                      OFF
 Listener Parameter File   C:\app\PNA105\product\11.2.0\dbhome_1\network\admin\li
 stener.ora
 Listener Log File         c:\app\pna105\diag\tnslsnr\INL007306\listener\alert\lo
 g.xml
 Listening Endpoints Summary...
 (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(Host=127.0.0.1)(PORT=1521)))
  Services Summary...
  Service "CLRExtProc" has 1 instance(s).
  Instance "CLRExtProc", status UNKNOWN, has 1 handler(s) for this service...
  Service "Oracle" has 2 instance(s).
  Instance "Oracle", status UNKNOWN, has 1 handler(s) for this service...
  Instance "Oracle", status READY, has 1 handler(s) for this service...
  Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
  Service "oracleXDB" has 1 instance(s).
  Instance "Oracle", status READY, has 1 handler(s) for this service...

コマンドは正常に完了しました

16
Pranav Nath

1.環境変数を確認します(Systemに設定する必要があり、ユーザーには設定しないでください):

Oracle_HOME = C:\oraclexe\app\Oracle\product\11.2.0\server
Oracle_SID = XE

2. listener.oraに正しい定義があるかどうかを確認します

XE =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(Host = localhost)(PORT = 1521))
    )
  )

DEFAULT_SERVICE_LISTENER = (XE)

3.サービスを再起動します(サービス> OracleServiceXE)

その後、OracleXETNSListenerXEという新しいサービスが表示される場合があります。
古いOracleXETNSListenerがすでにあります。

両方を開始し、接続を成功させることができました。

編集:

すべてが実行されているにもかかわらず接続できない場合は、エラーがないかどうかを確認します。ORA-12557:TNS:protocol adapter not loadable

エラーを修正するには、環境変数に戻って、今度はPathという名前の変数を編集します。 C:\ oraclexe\app\Oracle\product\11.2.0\server\binが先頭にあること、他のパスよりも前にあることを確認してください異なるバージョンのOracle DBを指している。

5
Piotr Kepka

同じ問題がありました。私の場合の解決策:CMDを管理者として実行します。次に、「lsnrctl start」と入力して実行します。約2分待ってから動作します。 (私の場合はわずか50秒でしたが、念のため)

20
Imre

Oracleディレクトリoraclexe\app\Oracle\product\11.2.0\server\network\ADMIN内のlistener.oraファイルを更新することで解決しました。

なぜそれが私に起こったのかは、システム名を変更したが、listener.ora内にHostの古い名前があったためです。

これは、理由の1つかもしれません...まだそのような問題に直面している人々が同様にこの可能性を考えるかもしれないので。

4
Muneeb Mirza

Windowsの11.201でも同じ問題が発生しました。後:新しいフォルダーに11.203 64ビットサーバーとクライアントを追加インストールします。 PATH環境変数はインストール直後に変更されました。リスナーサービスの再起動後に、リスナーでエラーが発生しました。私の場合、夜間と多数のWindowsアップデートがあったため、Windowsサーバーの再起動が役に立ちました。また、listener.logファイルを http://pavandba.com/tag/tns-12560-tns-protocol-adapter-error/ に従ってクリーニングしました。それは驚くほど大きかった。

3
Tsionel Oksana

Oracle_HOME環境変数が正しいOracleホームを指していることを確認してください。私の場合、別のソフトウェアのインストールによって変更されました。

3
MrLymy

コンピューター名を変更した後も同じことが起こりました。これを修正するには、listener.oraファイルを見つけて、古いコンピューター名を新しいコンピューター名に置き換えてください。

2
Mike Alex

私の場合、コンソールからリスナーを起動しようとしました。

> lsnrctl star

このコマンドは次のエラーを出力しました。

TNS-12560: TNS:protocol adapter error
TNS-00583: Valid node checking: unable to parse configuration parameters

そこで、次のアクションを実行しました。

  1. Oracle listener.oraまたはsqlnet.oraファイルに特殊文字が含まれています
  2. Oracle listener.oraまたはsqlnet.ora`ファイルの形式または構文が間違っています
  3. Oracle listener.oraまたはsqlnet.oraファイルには、Oracleパーサーで受け入れられない左揃えの括弧があります。

これらのファイルを見て、適切な構文を確認してください。可能であれば、sqlnet.oraを削除/名前変更して、リスナーを再起動してください。または、listener.oraまたはsqlnet.oraファイルの両方を削除/名前変更して、適切に再作成します。これらは問題を完全に解決します。

1
manix

私は同じ問題と理由に遭遇しました:私は個人的なWindows PCです。そして、コンピューター名を変更しましたが、listener.oraに反映されませんでした。 Oracle_HOME\network\ADMIN\listener.oraを更新されたホスト名で更新すると、問題が修正されました。

私の場合、Windowsリスナーサービスが何らかの理由で機能しなくなったため、SQL Developerを使用してQracleに接続できませんでした。ただし、sqlplusを介して接続できました。

以下のソリューションが私のために働いた:

まず、リスナーサービスが実行されていることを確認します。

C:\Documents and Settings\ME>lsnrctl status 

リスナーサービスが実行されていない場合は、Windowsタスクマネージャーを使用してリスナーサービスを再起動するか、DOSコマンドラインユーティリティを使用して、net startコマンド:

C:\Documents and Settings\ME>net start OracleOraDb10g_home1TNSListener 

DOSプロンプトからlsnrctlを使用して、リスナーサービスを開始してください。

lsnrctl start
1
Garima Kushwaha

Oracle 11gR2をWindows 2012サーバーにインストールすると、同様の問題が発生します。この問題は、cmd.exeをAdmistrator特権として実行し、「lsnrctl start LISTENER」を実行すると解決します。

1
Jaewon Lee

私の場合、リスナーサービスは、VPN接続と他のサーバーインターフェイスをリッスンするように設定されているため、開始されません。

VPNに接続したら、開始したばかりです。

ただし、「lsnrctl start」を使用した@Imreのトリックは、私を正しい方向に導きました。

0
Adi

問題

リスナーサービスはservices.mscで停止しています。

原因

ユーザーパスワードが変更されました。

溶液

  • services.mscを開きます。
  • 特定のリスナーサービスを右クリックします。
  • プロパティをクリックします。
  • [ログオン]タブをクリックします。
  • パスワードを変更します。
  • OKをクリックします。
  • サービスを開始します。
0
rsb2097

Hortonworks HDP 2.6 Sandboxを実行しているDockerコンテナで構成が失敗する原因となった問題を解決できました。

初期構成が失敗した場合、リスナーが実行され、最初に強制終了する必要があります。

ps -aux | grep tnslsnr
kill {process id identified above}

次に、次の手順は、構成プロセスが失敗する共有メモリの問題を修正することです。

https://blogs.Oracle.com/oraclewebcentersuite/implement-Oracle-database-xe-as-docker-によれば、Oracle XEは1GBの共有メモリを必要とし、そうでなければ失敗します(512MBは試しませんでした)コンテナ

vi /etc/fstab

次の行を変更/追加します。

tmpfs    /dev/shm     tmpfs   defaults,size=1024m 0 0

次に、構成を再読み込みします。

mount -a

次回dockerコンテナを再起動するときに、「mount -a」を実行する必要がある場合があることに注意してください。

0
limboy