タイトル
TOPOracle → This Page

接続確認(疎通確認)

概要

データベースへの接続障害が発生したら、まずは接続確認(疎通確認)してみましょう。
主に以下の手順で確認できます。
  • PING
  • TNSPING
  • CONNECT

PING

まずはデータベースがあるサーバに接続できるかどうかを確認しましょう。

ping ホスト名(またはIPアドレス)

成功結果例
C:\>ping xxx.xxx.xxx.xxx
Pinging tayori.ogis-ri.co.jp [yyy.yyy.yyy.yyy] with 32 bytes of data:

Reply from yyy.yyy.yyy.yyy: bytes=32 time=1ms TTL=60
Reply from yyy.yyy.yyy.yyy: bytes=32 time=1ms TTL=60
Reply from yyy.yyy.yyy.yyy: bytes=32 time=1ms TTL=60
Reply from yyy.yyy.yyy.yyy: bytes=32 time=1ms TTL=60

失敗結果例(名前解決失敗)
C:\>ping xxx.xxx.xxx.xxx
Unknown host xxx.xxx.xxx.xxx

失敗結果例(接続不可)
C:\>ping xxx.xxx.xxx.xxx

Request timed out.
Request timed out.
Request timed out.
Request timed out.

TNSPING

Oracle の TNSPING ユーティリティで Oracle Net ネットワーク上のサービスに接続できるかどうかをチェックできる。

tnsping ネット・サービス名 接続回数
には tnsnames.ora に記述しているネット・サービス名を指定する。

接続先のサービスが簡易接続可に設定されている場合は
tnsping host:port/sid 接続回数
でもOK。
(簡易接続は Oracle 10g からのサポート)


成功結果例
C:\>tnsping XXXXX 3

TNS Ping Utility for 32-bit Windows: Version 10.1.0.2.0 - Production on 22-2月 -
2010 09:48:30

Copyright (c) 1997, 2003, Oracle.  All rights reserved.

パラメータ・ファイルを使用しました:
D:\Oracle\product\10.1.0\Client_1\network\admin\sqlnet.ora

エイリアスを解決するためにTNSNAMESアダプタを使用しました。
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = xxx.xxx.xxx.xxx)(PORT = xxxx))) (CONNECT_DATA = (SID = XXX)))
OK (10ミリ秒)
OK (20ミリ秒)
OK (10ミリ秒)

成功結果例(簡易接続)
C:\>tnsping xxx.xxx.xxx.xxx:xxxx/XXX 3

TNS Ping Utility for 32-bit Windows: Version 10.1.0.2.0 - Production on 22-2月 -
2010 09:53:10

Copyright (c) 1997, 2003, Oracle.  All rights reserved.

パラメータ・ファイルを使用しました:
D:\Oracle\product\10.1.0\Client_1\network\admin\sqlnet.ora

エイリアスを解決するためにEZCONNECTアダプタを使用しました。
Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=XXX))
(ADDRESS=(PROTOCOL=TCP)(HOST=xxx.xxx.xxx.xxx)(PORT=xxxx)))
OK (10ミリ秒)
OK (20ミリ秒)
OK (10ミリ秒)

失敗結果例(名前解決失敗)
C:\>tnsping XXXXX 3

TNS Ping Utility for 32-bit Windows: Version 10.1.0.2.0 - Production on 22-2月 -
2010 09:48:35

Copyright (c) 1997, 2003, Oracle.  All rights reserved.

パラメータ・ファイルを使用しました:
D:\Oracle\product\10.1.0\Client_1\network\admin\sqlnet.ora

TNS-03505: 名前の決定に失敗しました。

失敗結果例(接続不可)
C:\>tnsping XXXXX 3

TNS Ping Utility for 32-bit Windows: Version 10.1.0.2.0 - Production on 22-2月 -
2010 09:48:39

Copyright (c) 1997, 2003, Oracle.  All rights reserved.

パラメータ・ファイルを使用しました:
D:\Oracle\product\10.1.0\Client_1\network\admin\sqlnet.ora

エイリアスを解決するためにTNSNAMESアダプタを使用しました。
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = xxx.xxx.xxx.xxx)(PORT = xxxx))) (CONNECT_DATA = (SID = XXX)))
TNS-12545: 接続に失敗しました。ターゲット・ホストまたはオブジェクトが存在しません。

CONNECT

一番メジャーな sqlplus での接続です。

sqlplus /nolog
conn user/pass@host_string


接続先のサービスが簡易接続可に設定されている場合は以下でも接続可能。
(簡易接続は Oracle 10g からのサポート)
sqlplus /nolog
conn user/pass@host[:port][/service_name]


完全な接続
sqlplus /nolog
conn user/pass@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=host)(PORT=port)))(CONNECT_DATA=(SID=service_name)))



成功結果例
conn user/pass@XXXXX
接続されました。

失敗結果例(名前解決失敗)
conn user/pass@XXXXX
ERROR:
ORA-12154: TNS: 指定された接続識別子を解決できませんでした

失敗結果例(接続不可)
conn user/pass@XXXXX
ERROR:
ORA-01017: ユーザー名/パスワードが無効です。ログオンは拒否されました。

リンク

更新履歴

2010/02/26 新規作成


TOPOracle → This Page