Oracleで「リスナーが見つかりません」が出た時の対処

2020年5月22日金曜日

Oracle

t f B! P L

Oracleで「リスナーが見つかりません」が出た時の対処

enter image description here

はじめに

自社のサーバーにOracle Databaseをインストールして、ローカルからはリスナー経由でDBに接続できるのに、別のPCからデータベースに繋ぐときに、「リスナーが見つかりません」というエラーが出た時の対処内容です。

確認1:ファイアウォール

まずは、ありきたりですが、意外と見落としてしまうファイアウォールの設定です。Oracle Databaseのリスナーは、デフォルトではポート:1521を使う為、ファイアウォールに穴が開いているか確認しましょう。

確認2:listener.oraのホスト名

リスナーの設定ファイルである「listener.ora」は、デフォルトでは次のようになっています。

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

ホスト名の部分が、HOST = localhostのようにローカルホストになっていると、うまく外部のPCから接続できないことがあるため、次のようにDBサーバーをインストールしたサーバーのホスト名に修正します。

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = my-hostname)(PORT = 1521))
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

さいごに

私は、「確認2:listener.oraのホスト名」の部分がデフォルトのままだっとので、うまく外部PCから接続できませんでした。

スポンサーリンク

QooQ