Notas del paquete PL/SQL para la base de datos de IA autónoma
Notas para paquetes PL/SQL de Oracle Database en Autonomous AI Database.
Paquetes PL/SQL no disponibles
-
DBMS_DEBUG_JDWP -
DBMS_DEBUG_JDWP_CUSTOM
DBMS_LDAP Notas del Paquete PL/SQL
Proporciona notas para el paquete DBMS_LDAP:
-
No está permitido especificar una dirección IP en el nombre.
-
El único puerto permitido es 636.
-
Los argumentos
SSLWRLySSLWALLETPASSWDpara el procedimientoOPEN_SSLse ignoran. El valor por defecto de la propiedadSSLWRLse define en la cartera que utilizanUTL_HTTPyDBMS_CLOUDpara realizar solicitudes web salientes en la base de datos de IA autónoma. -
Los subprogramas
DBMS_LDAP.SIMPLE_BIND_SyDBMS_LDAP.BIND_Srealizan la autenticación en el servidor de directorios.Los subprogramas
DBMS_LDAP.SIMPLE_BIND_SyDBMS_LDAP.BIND_Sse modifican para aceptar objetos de credenciales como argumento.A continuación se muestran las notas de uso y los ejemplos de estos subprogramas modificados:
-
Los subprogramas
SIMPLE_BIND_SyBIND_Smodificados permiten transferir objetos de credenciales para definir la autenticación del servidor de directorios. Los objetos de credenciales son objetos de esquema, por lo que solo pueden acceder a ellos los usuarios con privilegios y le permiten configurar privilegios de nivel de esquema para controlar el acceso a las credenciales. La transferencia de credenciales del programador es una forma adecuada y segura de almacenar y gestionar el nombre de usuario, la contraseña o las claves para la autenticación. -
Los subprogramas
SIMPLE_BIND_SyBIND_Smodificados son una alternativa segura y conveniente a los subprogramasSIMPLE_BIND_SyBIND_Sque existían anteriormente.Consulte FUNCTION simple_bind_s y FUNCTION bind_s para obtener más información.
-
El argumento
CREDENTIALde las funcionesSIMPLE_BIND_SyBIND_Sse utiliza para realizar la autenticación basada en credenciales en el servidor de directorios. -
Por ejemplo:
-
Cree un objeto de credencial:
BEGIN DBMS_CLOUD.CREATE_CREDENTIAL ( credential_name => 'LDAP_CRED', username => 'web_app_user', password => 'password' ); END;Esto crea un objeto de credencial que crea un par de nombre de usuario/contraseña almacenado.
Consulte CREATE_CREDENTIAL Procedure para obtener más información.
Consulte Especificación de Credenciales de Trabajo del Planificador para obtener más información.
-
Llame a
DBMS_LDAP.SIMPLE_BIND_S:DECLARE l_mail_conn DBMS_LDAP.INIT; BEGIN l_ldap_conn := DBMS_LDAP.INIT('ldap.example.com', 636); l_auth_result := DBMS_LDAP.SIMPLE_BIND_S(l_ldap_conn, 'LDAP_CRED'); ... END;El código de este ejemplo primero llama a la función
DBMS_LDAP.INITque inicializa una sesión con un servidor LDAP y establece una conexión con el servidor LDAPldap.example.comen el número de puerto636. El valorl_ldap_connen la funciónSIMPLE_BIND_Ses el identificador de sesión LDAP yLDAP_CREDes el nombre de las credenciales. -
function bind_srealiza una autenticación compleja en el servidor de directorios. Por ejemplo:DECLARE l_mail_conn DBMS_LDAP.INIT; BEGIN l_ldap_conn := DBMS_LDAP.INIT('ldap.example.com', 636); l_auth_result := DBMS_LDAP.BIND_S(l_ldap_conn, 'LDAP_CRED', METH => DBMS_LDAP.AUTH_SIMPLE); ... END;El código de este ejemplo primero llama a la función
DBMS_LDAP.INITque inicializa una sesión con un servidor LDAP y establece una conexión con el servidor LDAPldap.example.comen el número de puerto636. El valorl_ldap_connen la funciónBIND_Ses el identificador de sesión LDAP yLDAP_CREDes el nombre de las credenciales.METHes el método de autenticación. El único valor válido esDBMS_LDAP_UTL.AUTH_SIMPLE.
-
-
Se necesitan los privilegios
EXECUTEenDBMS_CLOUDoDWROLEpara crear las credenciales del programador. -
La credencial transferida debe estar presente en el esquema actual o tener un sinónimo que apunte a una credencial en el esquema y tenga el estado activado.
-
Un sinónimo público o privado que apunta a una credencial en un esquema de usuario diferente se puede proporcionar como un valor para el parámetro
CREDENTIALsiempre que tenga el privilegioEXECUTEen el objeto de credencial base al que apunta el sinónimo. Consulte Visión general de sinónimos para obtener más información.
-
-
SSL/TLS se aplica para todas las comunicaciones que se producen entre el servidor LDAP y la base de datos de IA autónoma.
-
Cuando la instancia de la base de datos de IA autónoma esté configurada con un punto final privado, defina el parámetro de base de datos
ROUTE_OUTBOUND_CONNECTIONSen 'PRIVATE_ENDPOINT' para especificar que todas las conexiones LDAP salientes estén sujetas a las reglas de salida de la VCN del punto final privado de la instancia de la base de datos de IA autónoma. Consulte Seguridad mejorada para conexiones salientes con puntos finales privados para obtener más información. -
Para utilizar
DBMS_LDAPpara una conexión en un punto final privado, utiliceDBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACEy especifique el parámetroprivate_targetcon el valorTRUE.Nota
Si defineROUTE_OUTBOUND_CONNECTIONSenPRIVATE_ENDPOINT, no es necesario definir el parámetroprivate_targetenTRUEen esta API. Consulte Seguridad mejorada para conexiones salientes con puntos finales privados para obtener más información. -
DBMS_LDAPErrorMensaje de Error Causa potencial ORA-31400: Missing or invalid scheduler credentialLas credenciales transferidas son nulas o no son válidas.
Consulte DBMS_LDAP en Referencia de tipos y paquetes PL/SQL para obtener más información.
DBMS_NETWORK_ACL_ADMIN Notas del Paquete PL/SQL
Proporciona notas para el paquete DBMS_NETWORK_ACL_ADMIN:
-
No se permite otorgar privilegios de ACL en direcciones IP.
-
La ACL
HTTP_PROXYestá permitida en puntos finales privados.
Consulte DBMS_NETWORK_ACL_ADMIN en Referencia de tipos y paquetes PL/SQL para obtener más información.
Notas del paquete DBMS_SCHEDULER
Proporciona notas para el paquete DBMS_SCHEDULER.
En Autonomous AI Database, el procedimiento DBMS_SCHEDULER.CREATE_JOB soporta los tipos de trabajo PLSQL_BLOCK y STORED_PROCEDURE para el parámetro job_type.
Con un job_type no soportado, puede ver mensajes como los siguientes:
ORA-27399: job type EXECUTABLE requires the CREATE EXTERNAL JOB privilege
ORA-27369: JOB OF TYPE EXECUTABLE FAILED WITH EXIT CODE: OPERATION NOT PERMITTED
Consulte Clases de Trabajo Predefinidas con Oracle Scheduler y DBMS_SCHEDULER para obtener más información.
UTL_HTTP Notas del Paquete PL/SQL
Proporciona notas para el paquete UTL_HTTP:
-
Las conexiones mediante direcciones IP no están permitidas.
-
Solo se permite
HTTPScuando la instancia de base de datos de IA autónoma está en un punto final público. Cuando la instancia de base de datos de IA autónoma está en un punto final privado, se permiten las conexionesHTTPSyHTTP_PROXY(las conexionesHTTPno están permitidas tanto para puntos finales públicos como para puntos finales privados). -
La API
UTL_HTTP.set_proxyse permite cuando la instancia de la base de datos de IA autónoma está en un punto final privado. -
Cuando la instancia de base de datos de IA autónoma está en un punto final privado y utiliza
HTTP_PROXYo la APIUTL_HTTP.SET_PROXY:-
Las solicitudes
DBMS_CLOUDno respetan el servidor proxy definido conUTL_HTTP.SET_PROXY. Esto incluyeDBMS_CLOUD.SEND_REQUESTy todo el acceso de almacenamiento de objetos para las tablas externasDBMS_CLOUDque defina conDBMS_CLOUD.CREATE_EXTERNAL_TABLE,DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLEoDBMS_CLOUD.CREATE_HYBRID_PART_TABLE. -
Las solicitudes
APEX_WEB_SERVICEno respetan el servidor proxy definido conUTL_HTTP.SET_PROXY.
-
-
Todos los servicios web deben estar protegidos. El único puerto permitido es 443 cuando la instancia de la base de datos de IA autónoma está en un punto final público. Cuando la instancia de la base de datos de IA autónoma está en un punto final privado, esta restricción no se aplica.
Su instancia de base de datos de IA autónoma está preconfigurada con una instancia de Oracle Wallet que contiene más de 90 de los certificados SSL intermedios y raíz de confianza más comunes. Oracle Wallet se gestiona de forma centralizada. Puede configurar
UTL_HTTPpara que utilice una cartera para un sitio protegido mediante certificados SSL autofirmados. Consulte Uso de una cartera gestionada por el cliente para llamadas externas con UTL_HTTP para obtener más información. -
El procedimiento
SET_AUTHENTICATION_FROM_WALLETno está permitido. -
Los argumentos
WALLET_PATHyWALLET_PASSWORDpara los procedimientosCREATE_REQUEST_CONTEXT,REQUESTyREQUEST_PIECESse ignoran. -
El argumento
CREDENTIALdel procedimientoSET_CREDENTIALse utiliza para transferir el objeto de credencial como entrada al procedimiento. Consulte Especificación de credenciales de trabajo del programador y Procedimiento CREATE_CREDENTIAL para obtener más información. -
Los privilegios
EXECUTEdeDBMS_CLOUDoDWROLEson necesarios para crear objetos de credenciales. -
Las credenciales transferidas deben estar presentes en el esquema de usuario actual y estar en estado activado.
-
Un sinónimo público o privado que apunta a una credencial en un esquema de usuario diferente se puede proporcionar como un valor para el parámetro
CREDENTIALsiempre que tenga el privilegioEXECUTEen el objeto de credencial base al que apunta el sinónimo. Consulte Visión general de sinónimos para obtener más información. -
No se puede modificar la configuración de Oracle Wallet. Se ignoran todos los argumentos para el procedimiento
SET_WALLET. -
Cuando la instancia de base de datos de IA autónoma esté configurada con un punto final privado, defina el parámetro de base de datos
ROUTE_OUTBOUND_CONNECTIONSen 'PRIVATE_ENDPOINT' para especificar que todas las conexionesUTL_HTTPsalientes estén sujetas a las reglas de salida de la VCN del punto final privado de la instancia de base de datos de IA autónoma. Consulte Seguridad mejorada para conexiones salientes con puntos finales privados para obtener más información. -
UTL_HTTPErroresEn la siguiente tabla se muestran los mensajes de error y las posibles causas de estos mensajes de error al utilizar
UTL_HTTP:Mensaje de Error Causa potencial ORA-12545: Connect failed because target host or object does not existEl host u objeto de destino no existe o es privado.
ORA-24247: network access denied by access control list (ACL)No se pudo encontrar la lista de control de acceso (ACL) para el host especificado.
ORA-29024: Certificate validation failureEl certificado del host no existe o no está entre los certificados admitidos.
ORA-29261: Bad argumentLas credenciales transferidas no son válidas o están desactivadas o el usuario no tiene suficientes privilegios en la credencial.
Consulte UTL_HTTP en Referencia de tipos y paquetes PL/SQL para obtener más información.
UTL_INADDR Notas del Paquete PL/SQL
Proporciona notas para el paquete UTL_INADDR:
-
El paquete
UTL_INADDRestá disponible para su uso en una instancia de base de datos de IA autónoma con un punto final privado (PE). -
La función
GET_HOST_ADDRESSestá disponible. -
La función
GET_HOST_NAMEno está disponible.
Consulte UTL_INADDR en Referencia de tipos y paquetes PL/SQL para obtener más información.
UTL_SMTP Notas del Paquete PL/SQL
Proporciona notas para el paquete UTL_SMTP:
-
Los puntos finales SMTP públicos se pueden utilizar siempre que el enrutamiento se realice mediante el punto final de conexión inversa (RCE) del cliente.
-
No se permite el correo con una dirección IP en el nombre el host.
-
Los únicos puertos permitidos son 25 y 587.
-
El argumento
CREDENTIALde la funciónSET_CREDENTIALse utiliza para transferir el objeto de credenciales del programador como entrada a la función. Consulte Especificación de credenciales de trabajo del programador y Procedimiento CREATE_CREDENTIAL para obtener más información. -
Los privilegios
EXECUTEdeDBMS_CLOUDoDWROLEson necesarios para crear objetos de credenciales. -
El argumento
CREDENTIALdel procedimientoSET_CREDENTIALse utiliza para transferir el objeto de objetos de credenciales como entrada al procedimiento. Consulte Especificación de Credenciales de Trabajo del Planificador para obtener más información. -
Las credenciales transferidas deben estar presentes en el esquema de usuario actual y estar en estado activado.
-
Un sinónimo público o privado que apunta a una credencial en un esquema de usuario diferente se puede proporcionar como un valor para el parámetro
CREDENTIALsiempre que tenga el privilegioEXECUTEen el objeto de credencial base al que apunta el sinónimo. Consulte Visión general de sinónimos para obtener más información. -
Cuando la instancia de base de datos de IA autónoma esté configurada con un punto final privado, defina el parámetro de base de datos
ROUTE_OUTBOUND_CONNECTIONSen 'PRIVATE_ENDPOINT' para especificar que todas las conexionesUTL_SMTPsalientes estén sujetas a las reglas de salida de la VCN del punto final privado de la instancia de base de datos de IA autónoma. Consulte Seguridad mejorada para conexiones salientes con puntos finales privados para obtener más información. -
UTL_SMTPErrorMensaje de Error Causa potencial ORA-29261: Bad argumentLas credenciales transferidas no son válidas o están desactivadas o el usuario no tiene suficientes privilegios en la credencial.
Consulte UTL_SMTP en Referencia de tipos y paquetes PL/SQL para obtener más información.
UTL_TCP Notas del Paquete PL/SQL
Proporciona notas para el paquete UTL_TCP:
-
La dirección IP no está permitida en el nombre de host.
-
Los únicos puertos permitidos son: 443 (HTTP) 25 y 587 (SMTP).
-
Para el puerto 443, solo se permiten URL HTTPS.
-
Los argumentos
WALLET_PATHyWALLET_PASSWORDpara el procedimientoOPEN_CONNECTIONse ignoran. El valor por defecto para las propiedadesWALLET_PATHyWALLET_PASSWORDse define en la cartera que utilizanUTL_HTTPyDBMS_CLOUDpara realizar solicitudes web salientes en la base de datos de IA autónoma. -
SSL/TLS se aplica para todas las comunicaciones que se producen a través de conexiones TCP/IP.
-
Cuando la instancia de base de datos de IA autónoma esté configurada con un punto final privado, defina el parámetro de base de datos
ROUTE_OUTBOUND_CONNECTIONSen 'PRIVATE_ENDPOINT' para especificar que todas las conexionesUTL_TCPsalientes estén sujetas a las reglas de salida de la VCN del punto final privado de la instancia de base de datos de IA autónoma. Consulte Seguridad mejorada para conexiones salientes con puntos finales privados para obtener más información.
Consulte UTL_TCP en Referencia de tipos y paquetes PL/SQL para obtener más información.