15 接続のテスト
ネットワークの構成が終了すると、接続を確立して各コンポーネントをテストし、ネットワークが正しく機能しているかどうかを確認する必要があります。Oracle Net Servicesには、リスナー、データベースおよびOracle Connection Managerを容易にテストできるツールがあります。
- ネットワークのテスト
これは、ネットワークをテストするためのお薦めの手順です。 - TNSPINGユーティリティを使用したクライアントからの接続テスト
TNSPING
ユーティリティでは、Oracle Netネットワーク上のサービスに対するリスナーに正常に到達できるかどうかを判定します。 - TRCROUTEユーティリティを使用したクライアントからの接続テスト
LinuxおよびUNIX環境では、Trace Routeユーティリティ(TRCROUTE
)を使用することで、管理者が、クライアントからサーバーへの接続パスまたはルートを検出できます。
15.1 ネットワークのテスト
これは、ネットワークをテストするためのお薦めの手順です。
-
リスナーを個別に起動し、テストします。リスナーを起動するには、「Oracle Net ListenerとOracle Databaseサーバーの起動」で説明されている手順を実行します。
リスナーをテストするには、クライアントからそのリスナーによって制御される任意の有効なデータベースまでの接続を開始します。
-
Oracle Connection Managerがネットワークに含まれている場合は、各Oracle Connection Managerを起動し、テストします。Oracle Connection Managerを起動するには、「Oracle Connection Managerの起動」で説明されている手順を実行します。
Oracle Connection Managerをテストするには、クライアントから接続を開始して、Oracle Connection Managerに登録した任意の有効なデータベースまで接続を行います。
-
ループバック・テストまたはOracle Net Managerでサーバーをテストします。
ループバック・テストでは、Oracle Netを使用してデータベース・サーバーからInterprocess Communication(IPC)を利用せずにサーバー自体に戻ります。ループバックが正常に終了すると、Oracle Netがデータベース・サーバーで機能していることが確認できます。次の手順では、Oracle Net Managerを使用してループバック・テストを実行する方法について説明します。
-
Oracle Net Managerを起動します。
-
ナビゲータ・ペインで、「ディレクトリ」または「ローカル」を展開し、「サービス・ネーミング」を選択します。
-
ネットワーク・サービス名またはデータベース・サービスを選択します。
-
「ツール」を選択し、ネット・サービスのテストを選択します。
このテストでは、リスナーとデータベースが実行されている必要があります。実行されていない場合は、「Oracle Net ListenerとOracle Databaseサーバーの起動」を参照してコンポーネントを起動してください。
テスト中、ステータスとテスト結果を示す「接続テスト」ダイアログ・ボックスが表示されます。テストが成功すると、次のメッセージが表示されます。
The connection test was successful.
テストが成功した場合は、ステップ3.eに進んでください。
テストが正常に終了しなかった場合は、エラー・メッセージを使用して対処方法を決定します。たとえば、エラー・メッセージが次の場合の対処方法について説明します。
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.
ロック解除されていることがわかっているアカウントにユーザー名を変更します。ユーザー名を変更するには、「ログインの変更」をクリックします。パスワードの入力を求められます。
-
「閉じる」をクリックして「接続テスト」ダイアログ・ボックスを閉じます。
-
-
クライアントで接続できるかどうかテストします。
ネットワーク内でいくつかの異なるクライアントをテストするには、次のコマンドを使用して各クライアントからデータベース・サーバーへの接続を開始します。
CONNECT
username
@connect_identifier
親トピック: 接続のテスト
15.2 TNSPINGユーティリティを使用したクライアントからの接続テスト
TNSPING
ユーティリティでは、Oracle Netネットワーク上のサービスに対するリスナーに正常に到達できるかどうかを判定します。
TNSPINGユーティリティを使用して、クライアントからサーバー(またはサーバーから別のサーバー)に正常に接続できる場合、サーバーに対応するOracleリスナーへのSQLNET接続を確立するのにかかる推定ラウンドトリップ時間(ミリ秒)が表示されます。
接続に失敗した場合は、発生したエラーを記述するメッセージが表示されます。これによって、データベース接続に対するオーバーヘッドなしで発生中のネットワーク・エラーを参照できます。
接続をテストするには、次のコマンドを使用します。
tnsping net_service_name
count
前述のコマンドでは、次の引数が使用されます。
-
net_service_name: NISなど、
tnsnames.ora
ファイルまたは使用中のネーム・サービスに存在する名前にする必要があります。 -
count: プログラムがサーバーへの到達を試行する回数を指定します。この引数はオプションです。
指定されたネットワーク・サービス名がデータベース名の場合、TNSPINGでは、対応するリスナーへの接続を試みます。実際は、データベースが実行中かどうかは判別されません。SQL*Plusを使用して、データベースへの接続を試みます。
次にTNSPINGの例を示します。
ノート:
プラットフォームによってインタフェースが異なる場合がありますが、プログラムは同じ引数を受け入れられます。TNSPINGを呼び出すと、正しいインタフェース要件が表示されます。次に、TNSPING
コマンドを使用してsales
のネットワーク・サービス名でデータベースに対してリスナーを確認している例を示します。
例15-1 TNSPINGによるリスナーの確認
TNSPING sales
これによって、次のメッセージが出力されます。
TNS Ping Utility for Linux: Version 19.0.0.0.0 - Production on 21-JAN-2019 Copyright (c) 1997, 2019 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 19.0.0.0.0 - Production on 21-JAN-2019 Copyright (c) 1997, 2019 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)
次に、無効なネットワーク・サービス名を使用してTNSPINGでチェックを試みる例を示します。
例15-2 TNSPINGを使用した無効なネット・サービス名の確認
tnsping badname
この試行では、次のメッセージが出力されます。
TNS Ping Utility for Linux: Version 19.0.0.0.0 - Production on 21-MAY-2019 Copyright (c) 1997, 2019 Oracle Corporation. All rights reserved. Used parameter files: TNS-03505: Failed to resolve name
次に、TNSPINGを使用して名前を確認し有効だが、リスナーがないアドレスに解決される場合(リスナーが起動されていないなど)の出力例を示します。
例15-3 TNSPINGを使用したリスナーなしの有効なネット・サービス名の確認
tnsping sales TNS Ping Utility for Linux: Version 19.0.0.0.0 - Production on 21-JAN-2019 Copyright (c) 1997, 2019 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
親トピック: 接続のテスト
15.3 TRCROUTEユーティリティを使用したクライアントからの接続テスト
LinuxおよびUNIX環境では、Trace Routeユーティリティ(TRCROUTE
)を使用することで、管理者が、クライアントからサーバーへの接続パスまたはルートを検出できます。
TRCROUTE
は、問題を検出するとクライアントに1つのエラーではなくエラー・スタックを戻します。これらの追加エラー・メッセージによって、トラブルシューティングが簡単になります。
TRCROUTE
は、特殊な接続パケットとして伝送される点でTNSPING
とは異なります。TRCROUTE
接続パケットは、接続先に向けて移動するときに経由するすべてのノードのTNSアドレスを収集します。エラーが発生したとすると、TRCROUTE
は、エラーの発生場所を示すエラー情報を収集します。TRCROUTE
は、収集した情報をクライアント画面に表示します。TRCROUTE
の出力は、ファイルにリダイレクトして印刷できます。
TRCROUTE
は最小限のリソースを使用します。接続パケットの接続データ内の情報を収集します。通常の接続パケットは影響を受けません。
TRCROUTE
が、サーバーに影響を与えることはありません。リスナーは、TRCROUTE
接続パケットを受信して処理します。リスナーは、拒絶パケットに情報を入れることによって、クライアントに情報を返します。サーバーは、新しいプロセスを起動したり、ダミー接続を処理する必要はありません。
TRCROUTE
ユーティリティを使用するには、次のコマンドを入力します。
trcroute net_service_name
次に、クライアントからリスナーに正常に送信されたTrace Routeパケットの例を示します。
例15-4 正常なTrace Route
trcroute sales Trace Route Utility for Linux: Version 19.0.0.0.0 - Production on 21-JAN-2019 Copyright (c) 1999, 2019 Oracle Corporation. All rights reserved. Route of TrcRoute: ------------------ Node: Client Time and address of entry into node: ------------------------------------------------------------- 09-NOV-2012 21:48:48 ADDRESS= PROTOCOL=TCP HOST=10.150.21.136 PORT=14001 Node: Server Time and address of entry into node: ------------------------------------------------------------- 09-NOV-2012 21:48:05 ADDRESS= PROTOCOL=TCP HOST=10.150.21.136 PORT=14001
次に、リスナーが起動されていないためそのリスナーに到達できなかったTrace Routeパケットの例を示します。
例15-5 エラーの発生したTrace Route
trcroute sales Trace Route Utility for Linux: Version 19.0.0.0.0 - Production on 21-JAN-2019 Copyright (c) 1999, 2019 Oracle Corporation. All rights reserved. Route of TrcRoute: ------------------ Node: Client Time and address of entry into node: ------------------------------------------------------------- 25-FEB-2012 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
親トピック: 接続のテスト