問題を記録しLOCAL_LISTENER

一部のインターネットユーザーは、彼がOracleは2人のリスナーが異なるポートを聞いていたたテスト環境で構成され、反映されます。
現在、環境上のデータベース、次のように聞くの両方に登録しようとしているときに、彼はデータベースパラメータとtnsname.oraのファイル構成をLOCAL_LISTENERます:


その後、問題をスロー:SERVICE_NAME tnsname.oraは簡単にそれを埋めることができますか?
答えはノーであるならば、なぜ彼がテストを変更するには無料ですが、登録SERVICE_NAMEには影響しないのだろうか?
答えはイエスである場合には?なぜSERVICE_NAME毎日の仕事は、誤ってROM?

まず第一に、あなたは、彼がこのシナリオが再現可能であることを特徴とするものを確認することができます。2つのもともと別々の問題が混在グループによって引き起こされているので、しかし、実際には、彼は混乱します。彼の混乱は、2つの個別の問題に分解することができます。

1.tnsname.oraのservice_nameは、簡単にそれを埋めることができますか?

値SERVICE_NAMEを必要とするクライアントの設定、などのtnsnames.oraは、ライブラリSERVICE_NAMESに接続しなければならない場合には、それ以外の場合は接続できない場合、対応を維持しました。これはあまり言っていない、主DBA常識のために必要です。

2.なぜ彼は、登録SERVICE_NAMEには影響しませんテストを変更するには無料ですか?

彼はここで設定エントリをとtnsnames.oraのでLOCAL_LISTENERを使用するのは簡単で、LOCAL_LISTENER設定のために、明確な公式の説明があります:

LOCAL_LISTENERは、Oracle Netローカルリスナー(つまり、このインスタンスと同じマシン上で実行されているリスナーである)のアドレスまたはアドレス・リストを解決するネットワーク名を指定します。お使いのシステム用に構成されたように、アドレスまたはアドレス・リストは、TNSNAMES.ORAファイルまたは他のアドレス・リポジトリで指定されています。

ネットワーク構成がエイリアスすることができ、またそのデフォルト値からそのLOCAL_LISTENER:

見られるように、LOCAL_LISTENERであればのtnsnames.oraエントリだけで使用する場合は、コンフィギュレーションの実際の値がSERVICE_NAME、またはその必要があることを必要としないCONNECT_DATAこれは設定する必要はありません。

この推測によると、私はそれだけで、以下の情報が含まれているtnsnames.oraの設定ファイルに新しいエントリを追加する場合も、検証テスト環境で実際よ。

TEST001 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = db01.example.com)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = db01.example.com)(PORT = 1526))
    )
  )

TEST001について次にLOCAL_LISTENERデータベース構成パラメーター、検証は2つのリスニングを登録し、適切に、この時点で達成することができます。
だから今に戻って、ユーザが提起した問題を見て、彼はこれを呼ばれるので、それは非常によく、説明されて簡単にSERVICE_NAMEを記入し、実際には、通常、LOCAL_LISTENERのためにそれを必要としないので、任意のは、その値は影響しません変更リスナーに登録されたデータベース。そして、クライアント接続のために、あなたが特定のデータベースへのtnsnames.oraコンフィギュレーション・ファイルのSERVICE_NAMEに応じて実際の接続を必要とし、当然、あなたはエラーに記入することはできません。

おすすめ

転載: www.cnblogs.com/jyzhao/p/10993409.html