170 DBMS_TNS

DBMS_TNSパッケージは、TNS名を解決し、対応するOracle Net8接続文字列を戻すためのRESOLVE_TNSNAMEファンクションを提供します。

170.1 DBMS_TNSの概要

DBMS_TNSパッケージには、RESOLVE_TNSNAMEという1つのファンクションが含まれます。これは、sqlnet.oraファイルのnames.directory_pathパラメータに定義されている構成済ソースから解決された接続文字列を戻します。

このパッケージのRESOLVE_TNSNAMEファンクションは、相互接続されたデータベースの識別および分散データベース間のシステム変更番号(SCN)フローのトレースに役立ちます。

参照:

170.2 DBMS_TNSのセキュリティ・モデル

DBMS_TNSパッケージに対するEXECUTE権限が付与されている必要があります。

170.3 DBMS_TNSサブプログラムの要約

この表は、DBMS_TNSサブプログラムを示し、簡単に説明しています。

表170-1DBMS_TNSのパラメータ

サブプログラム 説明

RESOLVE_TNSNAMEファンクション

sqlnet.oranames.directory_pathパラメータの指定に従って、任意の構成済ソース(tnsnames、LDAP、Easy Connectなど)から解決された接続文字列を戻します。

170.3.1 RESOLVE_TNSNAMEファンクション

このファンクションは、sqlnet.oranames.directory_pathパラメータの指定に従って、任意の構成済ソース(TNS名、Lightweight Directory Access Protocol (LDAP)、Oracle Easy Connectなど)から解決された接続文字列を戻します。

構文

DBMS_TNS.RESOLVE_TNSNAME (
   tns_name VARCHAR2)
  RETURN VARCHAR2;

RESOLVE_TNSNAMEファンクションのパラメータ

パラメータ 説明

tns_name

接続を確立するためのデータベース・アドレス

使用上の注意

  • データベース管理者およびシステム管理ツールは、DBMS_TNS.RESOLVE_TNSNAMEファンクションを明示的にコールしてtns_nameを解決できます。

  • 解決された値は時間とともに変化する可能性があり、このような値も無効になる可能性があるため、この値は格納またはキャッシュしないことをお薦めします。

  • DBMS_TNS.RESOLVE_TNSNAMEファンクションを使用して、ALL_DB_LINKSおよびUSER_DB_LINKSなどの他のデータ・ディクショナリ・ビューによって参照されたTNS名を解決できます。また、これを使用して、tnsnames.oraファイル内の任意のTNS名エントリを検索できます。

SELECT DB_LINK, DBMS_TNS.RESOLVE_TNSNAME(HOST) FROM DBA_DB_LINKS;

DB_LINK
--------------------------------------------------------------------------------
DBMS_TNS.RESOLVE_TNSNAME(HOST)
--------------------------------------------------------------------------------
US.EXAMPLE.COM
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=may))(CONNECT_DATA=(SERVICE_NAME=us.example.com)(CID=(PROGRAM=oracle)(HOST=juno)(USER=psmith))
))