Search Results utl_inaddr




Overview

SYS.UTL_INADDR is an Oracle-supplied PL/SQL package that provides host name and IP address resolution services directly from within the database. The package is declared with AUTHID CURRENT_USER, meaning that any name resolution routine executes under the privileges of the calling schema rather than the definer. In the context of Oracle E-Business Suite 12.1.1 and 12.2.2, this package is classified under the ETRM API category OTHER and is owned by SYS, placing it outside the standard Oracle Application Object Library (AOL) and application-facing API set. Its business function is to allow PL/SQL programs running inside the EBS database to determine the local host name, the local IP address, or the host name associated with a supplied IP address, and conversely the IP address associated with a supplied host name. The source header explicitly notes that the package does not implement full Domain Name Resolution (DNS) functionality; it provides a narrow resolution capability sufficient for diagnostic, configuration, and connectivity-related logic. Because it bypasses the regular EBS application schema model, it is frequently encountered during troubleshooting of network and middle-tier configuration within the EBS environment.

Key Procedures and Functions

The documented interface consists of two functions, both of which are granted to PUBLIC in a default Oracle installation and are referenced by two other packages in the ETRM dependency graph.

  • GET_HOST_NAME — Retrieves the name of the local or remote host. When supplied with an IP address, it returns the official host name including its domain component. When no IP address is supplied (the parameter defaults to NULL), it returns the name of the local host, and that name does not include the domain to which the local host belongs. If the specified IP address cannot be resolved, the function raises the UNKNOWN_HOST exception, mapped to Oracle error -29257.
  • GET_HOST_ADDRESS — Retrieves the IP address associated with a specified host. When the host argument is NULL, it returns the IP address of the local host. This function is the inverse of GET_HOST_NAME and is commonly used to confirm that a host name maps to the expected network address.

Two exceptions are declared by the package: UNKNOWN_HOST (-29257), raised when the supplied IP address or host is not known, and NETWORK_ACCESS_DENIED (-24247), raised when network access has been restricted, typically through the PLSQL_NETWORK_ACCESS_LIST or equivalent access control configuration.

Tables Accessed

The ETRM metadata records no tables referenced via APPS synonyms for this package. This is consistent with the nature of UTL_INADDR: it is a network utility whose operations are performed through the underlying operating system resolver libraries and the database network layer, not through SQL access to application or dictionary tables. Consequently, the package does not read from or write to any EBS application tables, and it imposes no direct SQL parsing or I/O overhead on the database. Any resolution results are obtained from the host operating system's name service configuration, such as /etc/hosts, DNS, or NIS, depending on the platform and the Oracle Net configuration in force.

Usage Notes

UTL_INADDR is typically invoked from custom PL/SQL code, diagnostic scripts, and configuration validation routines rather than from standard EBS forms or concurrent programs. A common pattern is to call GET_HOST_NAME or GET_HOST_ADDRESS with no arguments to confirm the identity of the database server host, or with an explicit host or IP value to validate connectivity between the database tier and an application or middle-tier node. In EBS 12.2.2, where the application tier is separated from the database tier and multiple managed servers participate in the run-time architecture, this capability is useful for verifying that name resolution behaves consistently across nodes. Because the package is publicly executable and performs outbound name resolution, Oracle has, in later releases and security patches, restricted its use through network access control lists; administrators should therefore expect the NETWORK_ACCESS_DENIED exception in hardened environments and must grant explicit access if the package is genuinely required. The search term associated with this object, an IP address and port pairing, reflects the typical diagnostic use case: confirming which host name resolves to a given network endpoint during EBS connectivity troubleshooting. Where the package is referenced by other PL/SQL units in EBS, those callers generally use it for logging, instance identification, or pre-flight checks rather than for core business processing.