プライマリ・コンテンツに移動
Oracle® Database Net Services管理者ガイド
11gリリース2 (11.2)
B56288-05
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

15 接続のテスト

ネットワークの構成が終了すると、接続を確立して各コンポーネントをテストし、ネットワークが正しく機能しているかどうかを確認する必要があります。Oracle Net Servicesには、リスナー、データベースおよびOracle Connection Managerを容易にテストできるツールがあります。

この章の内容は、次のとおりです。

ネットワークのテスト

ネットワークをテストする望ましい順序は、次のとおりです。

  1. リスナーを個別に起動し、テストします。リスナーを起動するには、「Oracle Net ListenerとOracle Databaseサーバーの起動」で説明されている手順を実行します。リスナーをテストするには、クライアントからそのリスナーによって制御される任意の有効なデータベースまでの接続を開始します。

  2. Oracle Connection Managerがネットワークに含まれている場合は、各Oracle Connection Managerを起動し、テストします。Oracle Connection Managerを起動するには、「Oracle Connection Managerの起動」で説明されている手順を実行します。

    Oracle Connection Managerをテストするには、クライアントから接続を開始して、Oracle Connection Managerに登録した任意の有効なデータベースまで接続を行います。

  3. ループバック・テストまたはOracle Net Managerでサーバーをテストします。

    ループバック・テストでは、Oracle Netを使用してデータベース・サーバーからInterprocess Communication(IPC)を利用せずにサーバー自体に戻ります。ループバックが正常に終了すると、Oracle Netがデータベース・サーバーで機能していることが確認できます。次の手順では、Oracle Net Managerを使用してループバック・テストを実行する方法について説明します。

    1. Oracle Net Managerを起動します。

    2. ナビゲータ・ペインで、「ディレクトリ」または「ローカル」を展開し、「サービス・ネーミング」を選択します。

    3. ネット・サービス名またはデータベース・サービスを選択します。

    4. 「ツール」を選択し、ネット・サービスのテストを選択します。

      このテストでは、リスナーとデータベースが実行されている必要があります。データベースやリスナーが実行されていない場合は、「Oracle Net ListenerとOracle Databaseサーバーの起動」を参照してコンポーネントを起動してください。

      テスト中、ステータスとテスト結果を示す「接続テスト」ダイアログ・ボックスが表示されます。テストが成功すると、次のメッセージが表示されます。

      The connection test was successful.
      

      テストが成功した場合は、手順5に進んでください。

      テストが正常に終了しなかった場合は、エラー・メッセージを使用して対処方法を決定します。たとえば、エラー・メッセージが次の場合の対処方法について説明します。

      Initializing first test to use userid: scott, password: tiger
      Attempting to connect using userid:  scott
      The test did not succeed.
      ORA-28000: the account is locked
       
      There may be an error in the fields entered,
      or the server may not be ready for a connection.
      

      ロック解除されていることがわかっているアカウントにユーザー名を変更します。ユーザー名を変更するには、「ログインの変更」をクリックします。パスワードの入力を求めるメッセージが表示されます。

    5. 「閉じる」をクリックして「接続テスト」ダイアログ・ボックスを閉じます。

  4. クライアントで接続できるかどうかテストします。

    ネットワーク内でいくつかの異なるクライアントをテストするには、次のコマンドを使用して各クライアントからデータベース・サーバーへの接続を開始します。

    CONNECT username@connect_identifier
    

TNSPINGユーティリティを使用したクライアントからの接続テスト

TNSPINGユーティリティでは、Oracle Netネットワーク上のサービスのリスナーに正常に到達できるかどうかを判断します。

TNSPINGユーティリティを使用してクライアントからサーバーに(または、あるサーバーから別のサーバーに)正常に接続できた場合は、Oracle Netサービスに到達するために必要な往復時間(ミリ秒単位)の概算が表示されます。

接続に失敗した場合は、発生したエラーを記述するメッセージが表示されます。これによって、データベース接続に対するオーバーヘッドなしで発生中のネットワーク・エラーを参照できます。

接続をテストするには、次のコマンドを使用します。

tnsping net_service_name count

前述のコマンドでは、次の引数が使用されます。

  • net_service_name: NISなど、tnsnames.oraファイルまたは使用中のネーム・サービスに存在する名前にする必要があります。

  • count: プログラムがサーバーへの到達を試行する回数を指定します。この引数はオプションです。

指定されたネット・サービス名がデータベース名の場合、TNSPINGでは、対応するリスナーへの接続を試みます。実際は、データベースが実行中かどうかは判別されません。SQL*Plusを使用して、データベースへの接続を試みます。

この後、TNSPINGの例をいくつか示します。


注意:

プラットフォームによってインタフェースが異なる場合がありますが、プログラムは同じ引数を受け入れられます。TNSPINGを呼び出すと、正しいインタフェース要件が表示されます。

例15-1は、TNSPINGコマンドを使用してsalesのネット・サービス名で、データベースに対してリスナーを確認している例を示しています。

例15-1 TNSPINGによるリスナーの確認

TNSPING sales

これによって、次のメッセージが出力されます。

TNS Ping Utility for Linux: Version 11.1.0.0.2 on 15-FEB-2009 14:46:28

Copyright (c) 1997, 2009 Oracle Corporation.  All rights reserved.

Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL =
TCP)(HOST = sales-server)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME =
sales.us.example.com)))
OK (10 msec)

salesデータベースに対してリスナーを使用できるかどうかを判別し、TNSPINGを8回試行してから終了するように指定するには、次の構文を使用します。

tnsping sales 8

このコマンドによって、次のメッセージが出力されます。

TNS Ping Utility for Linux: Version 11.1.0.0.2 on 15-FEB-2009 14:48:28

Copyright (c) 1997, 2009 Oracle Corporation.  All rights reserved.

Used parameter files:

Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL =
TCP)(HOST = sales-server)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME =
sales.us.example.com)))
OK (10 msec)
OK (0 msec)
OK (10 msec)
OK (0 msec)
OK (10 msec)
OK (10 msec)
OK (10 msec)
OK (0 msec)

例15-2は、無効なネット・サービス名の使用を確認するTNSPINGの例を示しています。

例15-2 TNSPINGを使用した無効なネット・サービス名の確認

tnsping badname

この試行では、次のメッセージが出力されます。

TNS Ping Utility for Linux: Version 11.1.0.0.2 on 15-FEB-2009 14:50:28

Copyright (c) 1997, 2009 Oracle Corporation.  All rights reserved.

Used parameter files:

TNS-03505: Failed to resolve name

例15-3は、TNSPINGを使用して、名前は有効であるが、アドレスに変換するためのリスナーが配置されていない(たとえば、リスナーが起動されていない)ことを確認する場合の出力の例を示しています。

例15-3 TNSPINGを使用したリスナーなしの有効なネット・サービス名の確認

TNS Ping Utility for Linux: Version 11.1.0.0.2 on 15-FEB-2009 14:52:28

Copyright (c) 1997, 2009 Oracle Corporation.  All rights reserved.

Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL =
TCP)(HOST = sales-server)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME =
sales.us.example.com)))
TNS-12541: TNS:no listener 

TRCROUTEユーティリティを使用したクライアントからの接続テスト

LinuxおよびUNIX環境では、管理者はTrace Routeユーティリティ(TRCROUTE)を使用して、クライアントからサーバーへのパスまたはルートを検出できます。TRCROUTEは、問題に遭遇すると、1つのエラーではなくエラー・スタックをクライアントに戻します。これらの追加エラー・メッセージによって、トラブルシューティングが簡単になります。

TRCROUTEは、特殊な種類の接続パケットとして送信される点でTNSPINGとは異なります。接続先に向かって移動するとき、TRCROUTE接続パケットは、経由するすべてのノードのTNSアドレスを収集します。エラーが発生した場合、TRCROUTEは、エラーの発生場所を示すエラー情報を収集します。TRCROUTEは、収集した情報をクライアント画面に表示します。TRCROUTEの出力は、ファイルにリダイレクトして印刷することもできます。

TRCROUTEは最小限のリソースを使用します。これは、特殊な接続パケットの接続データから情報を収集します。標準的な接続パケットには作用しません。

TRCROUTEは、サーバーに作用しません。リスナーがTRCROUTE接続パケットを受信し、処理します。リスナーは、拒絶パケットに情報を入れることによって、クライアントに情報を返します。サーバーは、新しいプロセスを起動したり、ダミー接続を処理する必要はありません。

TRCROUTEユーティリティを使用するには、次のコマンドを入力します。

trcroute net_service_name

例15-4は、Trace Routeパケットがクライアントからリスナーに正常に送信されたことを示します。

例15-4 正常なTrace Route

trcroute sales
Trace Route Utility for Linux: Version 11.2.0.0.2 on 15-FEB-2009 14:35:05

Copyright (c) 1999, 2009 Oracle Corporation.  All rights reserved.

Route of TrcRoute:
------------------
 
Node: Client            Time and address of entry into node:
-------------------------------------------------------------
09-NOV-2008 21:48:48 ADDRESS= PROTOCOL=TCP  HOST=10.150.21.136  PORT=14001
 
Node: Server            Time and address of entry into node:
-------------------------------------------------------------
09-NOV-2008 21:48:05 ADDRESS= PROTOCOL=TCP  HOST=10.150.21.136  PORT=14001 

例15-5は、リスナーが起動していないため、Trace Routeパケットがそのリスナーへの到達に失敗したことを示します。

例15-5 エラーの発生したTrace Route

Trace Route Utility for Linux: Version 11.2.0.0.2 on 15-FEB-2009 14:35:05

Copyright (c) 1999, 2009 Oracle Corporation.  All rights reserved.

Route of TrcRoute:
------------------

Node: Client            Time and address of entry into node:
-------------------------------------------------------------
25-FEB-2002 14:43:05 ADDRESS= PROTOCOL=TCP  HOST=sales-server  PORT=1521

TNS-12543: TNS:unable to connect to destination
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
TNS-03601: Failed in route information collection