268 UTL_INADDR

UTL_INADDRパッケージは、インターネット・アドレッシングをサポートするためのPL/SQLプロシージャを提供します。。ローカル・ホストとリモート・ホストのホスト名およびIPアドレスを取り出すためのAPIを提供します。

この章のトピックは、次のとおりです:

268.1 UTL_INADDRのセキュリティ・モデル

このパッケージは実行者権限のパッケージです。つまり、起動するユーザーには、接続するリモート・ネットワーク・ホストに割り当てられたアクセス制御リストでconnect権限が付与されている必要があります。

ノート:

ファイングレイン・アクセスの管理の詳細は、『Oracle Databaseセキュリティ・ガイド』を参照してください。

268.2 UTL_INADDRの例外

この表は、UTL_INADDRサブプログラムで発生する例外について説明しています。

表268-1 例外 - インターネット・アドレス・パッケージ

数値 例外 説明

ORA-24247

NETWORK_ACCESS_DENIED

ネットワークへのアクセスが拒否されました。

ORA-29257

UNKNOWN_HOST

ホストが不明です。

268.3 UTL_INADDRの例

このUTL_INADDRの例は、ローカル・ホスト名およびIPアドレスを取得しています。

SET serveroutput on
BEGIN
  DBMS_OUTPUT.PUT_LINE(UTL_INADDR.GET_HOST_NAME);  -- get local host name
  DBMS_OUTPUT.PUT_LINE(UTL_INADDR.GET_HOST_ADDRESS);  -- get local IP addr
END;
/

268.4 UTL_INADDRサブプログラムの要約

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

表268-2 UTL_INADDRパッケージのサブプログラム

サブプログラム 説明

GET_HOST_ADDRESSファンクション

名前が指定されたローカルまたはリモート・ホストのIPアドレスを取り出します。

GET_HOST_NAMEファンクション

IPアドレスが指定されたローカルまたはリモート・ホストの名前を取り出します。

268.4.1 GET_HOST_ADDRESSファンクション

このファンクションは、指定されたホストのIPアドレスを取り出します。

構文

UTL_INADDR.GET_HOST_ADDRESS (
   host  IN VARCHAR2 DEFAULT NULL) 
RETURN host_address VARCHAR2; 

パラメータ

表268-3 GET_HOST_ADDRESSファンクションのパラメータ

パラメータ 説明

host

IPアドレスを取り出すホストの名前。

戻り値

表268-4 GET_HOST_ADDRESSファンクションの戻り値

パラメータ 説明

host_address

指定したホストのIPアドレス。ホストにNULLを指定した場合は、ローカル・ホストのIPアドレスが戻されます。

例外

UNKNOWN_HOST: 指定したIPアドレスが不明です。

使用上のノート

現行のホストのホスト名またはIPアドレスを取得する権限は、LOCALHOSTに対するresolve権限によって制御されます。

268.4.2 GET_HOST_NAMEファンクション

このファンクションは、IPアドレスが指定されたローカルまたはリモート・ホストの名前を取り出します。

構文

UTL_INADDR.GET_HOST_NAME (
   ip  IN VARCHAR2 DEFAULT NULL)
RETURN host_name VARCHAR2;

パラメータ

表268-5 GET_HOST_NAMEファンクションのパラメータ

パラメータ 説明

ip

ホスト名を決定するために使用するホストのIPアドレス。ipがNULL,でない場合は、ドメイン名を使用したホストの正式名が戻されます。これがNULLの場合は、ローカル・ホスト名が戻されます。名前にはローカル・ホストが属するドメインは含まれません。

戻り値

表268-6 GET_HOST_NAMEファンクションの戻り値

パラメータ 説明

host_name

指定されたIPアドレスのローカル・ホストまたはリモート・ホストの名前。

例外

UNKNOWN_HOST: 指定したIPアドレスが不明です。

使用上のノート

現行のホストのホスト名またはIPアドレスを取得する権限は、DBMS_NETWORK_ACL_ADMINを介して付与されるLOCALHOSTに対するresolve権限によって制御されます。