Restrictions and Notes for Database PL/SQL Packages

Lists Oracle Database PL/SQL packages with restrictions and notes in Autonomous Database.

Removed PL/SQL Packages

  • UTL_TCP

  • DBMS_LDAP

PL/SQL Packages Restrictions

  • UTL_HTTP Restrictions

    • Connections through IP addresses are not allowed.

    • Only HTTPS connections are allowed (HTTP and HTTP_PROXY are disallowed).

    • All web services must be secured. The only allowed ports are 443 and 8443. Your instance is preconfigured with an Oracle Wallet that contains more than 90 of the most commonly trusted root and intermediate SSL certificates. This Oracle Wallet is centrally managed and therefore you cannot consume 3rd party web services that are protected using self-signed SSL certificates.

    • The SET_AUTHENTICATION_FROM_WALLET procedure is disallowed.

    • The WALLET_PATH and WALLET_PASSWORD arguments for the CREATE_REQUEST_CONTEXT, REQUEST, and REQUEST_PIECES APIs are ignored.

    • Oracle Wallet configuration cannot be altered. All arguments for SET_WALLET API are ignored.

    • UTL_HTTP usage is audited by default. You cannot disable auditing for UTL_HTTP.

  • UTL_SMTP Restrictions

    • The only supported email provider is Oracle Cloud Infrastructure Email Delivery service. See Overview of the Email Delivery Service for more information.

    • Mail with an IP address in the host name is not allowed.

    • The only allowed ports are 25 and 587.

    • UTL_SMTP usage is audited by default. You cannot disable auditing for UTL_SMTP.

  • DBMS_NETWORK_ACL_ADMIN Restrictions

    • Granting ACL privileges on IP addresses is not allowed.

    • The http_proxy and use_passwords ACL privileges are not allowed.

See UTL_HTTP, DBMS_LDAP, UTL_SMTP, and DBMS_NETWORK_ACL_ADMIN in PL/SQL Packages and Types Reference for more information.

PL/SQL Packages Notes

  • UTL_HTTP Errors

    The following table shows error messages and possible causes for these error messages when using UTL_HTTP:

    Error Message Potential Cause

    ORA-12545: Connect failed because target host or object does not exist

    Target host or object does not exist or it is private.

    ORA-24247: network access denied by access control list (ACL)

    Access control list (ACL) for the specified host could not be found.

    ORA-29024: Certificate validation failure

    Certificate of the host does not exist or is not among the supported certificates.

  • UTL_HTTP Example

    Submit an HTTP request for the host www.example.com:

    -- Create an Access Control List for the host
    BEGIN
       DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
             host => 'www.example.com',
             ace =>  xs$ace_type(privilege_list => xs$name_list('http'),
                                 principal_name => 'ADMIN',
                                 principal_type => xs_acl.ptype_db));
    END;
    /
    -- Set Oracle Wallet location (no arguments needed)
    BEGIN
       UTL_HTTP.SET_WALLET('');
    END;
    /
    -- Submit an HTTP request
    SELECT UTL_HTTP.REQUEST('https://www.example.com/') FROM dual;