Notes sur le package PL/SQL pour la base de données Autonomous AI
Notes pour les packages PL/SQL Oracle Database dans Autonomous AI Database.
Packages PL/SQL non disponibles
- 
DBMS_DEBUG_JDWP - 
DBMS_DEBUG_JDWP_CUSTOM 
DBMS_LDAP Notes sur le package PL/SQL
Fournit des remarques sur le package DBMS_LDAP :
                  
- 
L'indication d'une adresse IP dans le nom d'hôte n'est pas autorisée.
 - 
Le seul port autorisé est 636.
 - 
Les arguments
SSLWRLetSSLWALLETPASSWDde la procédureOPEN_SSLsont ignorés. La valeur par défaut de la propriétéSSLWRLest définie sur le portefeuille utilisé parUTL_HTTPetDBMS_CLOUDpour effectuer des demandes Web sortantes sur la base de données Autonomous AI. - 
Les sous-programmes
DBMS_LDAP.SIMPLE_BIND_SetDBMS_LDAP.BIND_Seffectuent l'authentification auprès du serveur d'annuaire.Les sous-programmes
DBMS_LDAP.SIMPLE_BIND_SetDBMS_LDAP.BIND_Ssont modifiés pour accepter des objets d'informations d'identification en tant qu'argument.Voici les notes d'utilisation et des exemples de ces sous-programmes modifiés :
- 
Les sous-programmes
SIMPLE_BIND_SetBIND_Smodifiés vous permettent de transmettre des objets d'informations d'identification pour définir l'authentification du serveur d'annuaire. Les objets d'informations d'identification sont des objets de schéma. Par conséquent, seuls les utilisateurs privilégiés peuvent y accéder et vous permettent de configurer des privilèges de niveau schéma pour accéder au contrôle des informations d'identification. La transmission des informations d'identification du planificateur est un moyen approprié et sécurisé de stocker et de gérer le nom d'utilisateur/mot de passe/clés pour l'authentification. - 
Les sous-programmes
SIMPLE_BIND_SetBIND_Smodifiés constituent une alternative sécurisée et pratique aux sous-programmesSIMPLE_BIND_SetBIND_Sexistants.Pour plus d'informations, reportez-vous aux sections FUNCTION simple_bind_s et FUNCTION bind_s.
 - 
L'argument
CREDENTIALdes fonctionsSIMPLE_BIND_SetBIND_Sest utilisé pour effectuer une authentification basée sur des informations d'identification sur le serveur d'annuaire. - 
Par exemple :
- 
Créez un objet d'informations d'identification :
BEGIN DBMS_CLOUD.CREATE_CREDENTIAL ( credential_name => 'LDAP_CRED', username => 'web_app_user', password => 'password' ); END;Cette opération crée un objet d'informations d'identification qui crée une paire nom utilisateur/mot de passe stockée.
Pour plus d'informations, reportez-vous à Procédure CREATE_CREDENTIAL.
Pour plus d'informations, reportez-vous à Spécification des informations d'identification de travail du planificateur.
 - 
Appelez
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;Dans cet exemple, le code appelle d'abord la fonction
DBMS_LDAP.INITqui initialise une session avec un serveur LDAP et établit une connexion avec le serveur LDAPldap.example.comau numéro de port636. La valeurl_ldap_conndans la fonctionSIMPLE_BIND_Sest le descripteur de session LDAP etLDAP_CREDest le nom des informations d'identification. - 
function bind_seffectue une authentification complexe sur le serveur d'annuaire. Par exemple :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;Dans cet exemple, le code appelle d'abord la fonction
DBMS_LDAP.INITqui initialise une session avec un serveur LDAP et établit une connexion avec le serveur LDAPldap.example.comau numéro de port636. La valeurl_ldap_conndans la fonctionBIND_Sest le descripteur de session LDAP etLDAP_CREDest le nom des informations d'identification.METHest la méthode d'authentification. La seule valeur valide estDBMS_LDAP_UTL.AUTH_SIMPLE. 
 - 
 - 
Les privilèges
EXECUTEsurDBMS_CLOUDouDWROLEsont requis pour créer des informations d'identification de planificateur. - 
Les informations d'identification transmises doivent être présentes dans le schéma en cours ou avoir un synonyme pointant vers des informations d'identification dans le schéma et être à l'état activé.
 - 
Un synonyme public ou privé qui pointe vers des informations d'identification dans un schéma utilisateur différent peut être fourni en tant que valeur pour le paramètre
CREDENTIAL, à condition que vous disposiez du privilègeEXECUTEsur l'objet d'informations d'identification de base pointé par le synonyme. Pour plus d'informations, reportez-vous à Présentation des synonymes. 
 - 
 - 
Le protocole SSL/TLS est appliqué pour toutes les communications entre le serveur LDAP et la base de données Autonomous AI.
 - 
Lorsque votre instance de base de données Autonomous AI est configurée avec une adresse privée, définissez le paramètre de base de données
ROUTE_OUTBOUND_CONNECTIONSsurPRIVATE_ENDPOINTpour indiquer que toutes les connexions LDAP sortantes sont soumises aux règles sortantes du VCN de l'adresse privée de l'instance de base de données Autonomous AI. Pour plus d'informations, reportez-vous à Sécurité améliorée pour les connexions sortantes avec des adresses privées. - 
Afin d'utiliser
DBMS_LDAPpour une connexion sur une adresse privée, utilisezDBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACEet indiquez le paramètreprivate_targetavec la valeurTRUE.Remarque
Si vous définissezROUTE_OUTBOUND_CONNECTIONSsurPRIVATE_ENDPOINT, il n'est pas nécessaire de définir le paramètreprivate_targetsurTRUEdans cette API. Pour plus d'informations, reportez-vous à Sécurité améliorée pour les connexions sortantes avec des adresses privées. - 
DBMS_LDAPErreurMessage d'erreur Cause potentielle ORA-31400: Missing or invalid scheduler credentialLes informations d'identification transmises sont NULL ou non valides.
 
Pour plus d'informations, reportez-vous à DBMS_LDAP dans Référence des types et packages PL/SQL.
DBMS_NETWORK_ACL_ADMIN Notes sur le package PL/SQL
Fournit des remarques sur le package DBMS_NETWORK_ACL_ADMIN :
                  
- 
L'octroi de privilèges ACL sur les adresses IP n'est pas autorisé.
 - 
L'ACL
HTTP_PROXYest autorisée sur les adresses privées. 
Pour plus d'informations, reportez-vous à DBMS_NETWORK_ACL_ADMIN dans Référence des types et packages PL/SQL.
DBMS_SCHEDULER Notes sur le package
Fournit des notes pour le package DBMS_SCHEDULER.
                  
Dans la base de données Autonomous AI, la procédure DBMS_SCHEDULER.CREATE_JOB prend en charge les types de travail PLSQL_BLOCK et STORED_PROCEDURE pour le paramètre job_type.
                  
A l'aide d'un élément job_type non pris en charge, des messages tels que les suivants peuvent s'afficher :
                  
ORA-27399: job type EXECUTABLE requires the CREATE EXTERNAL JOB privilege
ORA-27369: JOB OF TYPE EXECUTABLE FAILED WITH EXIT CODE: OPERATION NOT PERMITTED
Pour plus d'informations, reportez-vous à Classes de travail prédéfinies avec Oracle Scheduler et à DBMS_SCHEDULER.
UTL_HTTP Notes sur le package PL/SQL
Fournit des remarques sur le package UTL_HTTP :
                  
- 
Les connexions par le biais d'adresses IP sont interdites.
 - 
Seul
HTTPSest autorisé lorsque l'instance de base de données Autonomous AI se trouve sur une adresse publique. Lorsque l'instance de base de données Autonomous AI se trouve sur une adresse privée, les connexionsHTTPSetHTTP_PROXYsont autorisées (les connexionsHTTPne sont pas autorisées pour les adresses publiques et privées). - 
L'API
UTL_HTTP.set_proxyest autorisée lorsque l'instance de base de données Autonomous AI se trouve sur une adresse privée. - 
Lorsque l'instance de base de données Autonomous AI se trouve sur une adresse privée et que vous utilisez
HTTP_PROXYou l'APIUTL_HTTP.SET_PROXY:- 
Les demandes
DBMS_CLOUDne respectent pas le serveur proxy que vous avez défini avecUTL_HTTP.SET_PROXY. Cela inclutDBMS_CLOUD.SEND_REQUESTet tous les accès au stockage d'objets pour les tables externesDBMS_CLOUDque vous définissez avecDBMS_CLOUD.CREATE_EXTERNAL_TABLE,DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLEouDBMS_CLOUD.CREATE_HYBRID_PART_TABLE. - 
Les demandes
APEX_WEB_SERVICEne respectent pas le serveur proxy que vous avez défini avecUTL_HTTP.SET_PROXY. 
 - 
 - 
Tous les services Web doivent être sécurisés. Le seul port autorisé est 443 lorsque l'instance de base de données Autonomous AI se trouve sur une adresse publique. Lorsque l'instance de base de données Autonomous AI se trouve sur une adresse privée, cette restriction ne s'applique pas.
Votre instance de base de données Autonomous AI est préconfigurée avec un portefeuille Oracle Wallet qui contient plus de 90 des certificats SSL racine et intermédiaires les plus couramment approuvés. La gestion d'Oracle Wallet est centralisée. Vous pouvez configurer
UTL_HTTPafin qu'il utilise un portefeuille pour un site protégé à l'aide de certificats SSL autosignés. Pour plus d'informations, reportez-vous à Utilisation d'un portefeuille géré par le client pour les appels externes avec UTL_HTTP. - 
La procédure
SET_AUTHENTICATION_FROM_WALLETn'est pas autorisée. - 
Les arguments
WALLET_PATHetWALLET_PASSWORDpour les procéduresCREATE_REQUEST_CONTEXT,REQUESTetREQUEST_PIECESsont ignorés. - 
L'argument
CREDENTIALde la procédureSET_CREDENTIALest utilisé pour transmettre l'objet d'informations d'identification en tant qu'entrée à la procédure. Pour plus d'informations, reportez-vous à Spécification des informations d'identification de travail du planificateur et à Procédure CREATE_CREDENTIAL. - 
Les privilèges
EXECUTEsurDBMS_CLOUDouDWROLEsont requis pour créer des objets d'informations d'identification. - 
Les informations d'identification transmises doivent être présentes dans le schéma utilisateur en cours et avoir l'état Activé.
 - 
Un synonyme public ou privé qui pointe vers des informations d'identification dans un schéma utilisateur différent peut être fourni en tant que valeur pour le paramètre
CREDENTIAL, à condition que vous disposiez du privilègeEXECUTEsur l'objet d'informations d'identification de base pointé par le synonyme. Pour plus d'informations, reportez-vous à Présentation des synonymes. - 
La configuration d'Oracle Wallet ne peut pas être modifiée. Tous les arguments de la procédure
SET_WALLETsont ignorés. - 
Lorsque votre instance de base de données Autonomous AI est configurée avec une adresse privée, définissez le paramètre de base de données
ROUTE_OUTBOUND_CONNECTIONSsurPRIVATE_ENDPOINTpour indiquer que toutes les connexions sortantesUTL_HTTPsont soumises aux règles sortantes du VCN d'adresse privée d'instance de base de données Autonomous AI. Pour plus d'informations, reportez-vous à Sécurité améliorée pour les connexions sortantes avec des adresses privées. - 
UTL_HTTPErreursLe tableau suivant présente les messages d'erreur et les causes possibles de ces messages d'erreur lors de l'utilisation de
UTL_HTTP:Message d'erreur Cause potentielle ORA-12545: Connect failed because target host or object does not existL'hôte ou l'objet cible n'existe pas ou il est privé.
ORA-24247: network access denied by access control list (ACL)La liste de contrôle d'accès (ACL) pour l'hôte spécifié est introuvable.
ORA-29024: Certificate validation failureLe certificat de l'hôte n'existe pas ou ne fait pas partie des certificats pris en charge.
ORA-29261: Bad argumentLes informations d'identification transmises ne sont pas valides ou sont désactivées, ou l'utilisateur ne dispose pas de privilèges suffisants sur les informations d'identification.
 
Pour plus d'informations, reportez-vous à UTL_HTTP dans Référence des types et packages PL/SQL.
UTL_INADDR Notes sur le package PL/SQL
Fournit des remarques sur le package UTL_INADDR :
                  
- 
Le package
UTL_INADDRpeut être utilisé sur une instance de base de données Autonomous AI avec une adresse privée. - 
La fonction
GET_HOST_ADDRESSest disponible. - 
La fonction
GET_HOST_NAMEn'est pas disponible. 
Pour plus d'informations, reportez-vous à UTL_INADDR dans Référence des types et packages PL/SQL.
UTL_SMTP Notes sur le package PL/SQL
Fournit des remarques sur le package UTL_SMTP :
                  
- 
Les adresses SMTP publiques peuvent être utilisées tant que le routage est effectué via l'adresse de connexion inverse du client (RCE).
 - 
Le courrier avec une adresse IP dans le nom d'hôte n'est pas autorisé.
 - 
Les seuls ports autorisés sont 25 et 587.
 - 
L'argument
CREDENTIALde la fonctionSET_CREDENTIALest utilisé pour transmettre l'objet d'informations d'identification du planificateur en tant qu'entrée à la fonction. Pour plus d'informations, reportez-vous à Spécification des informations d'identification de travail du planificateur et à Procédure CREATE_CREDENTIAL. - 
Les privilèges
EXECUTEsurDBMS_CLOUDouDWROLEsont requis pour créer des objets d'informations d'identification. - 
L'argument
CREDENTIALde la procédureSET_CREDENTIALest utilisé pour transmettre l'objet d'informations d'identification en tant qu'entrée à la procédure. Pour plus d'informations, reportez-vous à Spécification des informations d'identification de travail du planificateur. - 
Les informations d'identification transmises doivent être présentes dans le schéma utilisateur en cours et avoir l'état Activé.
 - 
Un synonyme public ou privé qui pointe vers des informations d'identification dans un schéma utilisateur différent peut être fourni en tant que valeur pour le paramètre
CREDENTIAL, à condition que vous disposiez du privilègeEXECUTEsur l'objet d'informations d'identification de base pointé par le synonyme. Pour plus d'informations, reportez-vous à Présentation des synonymes. - 
Lorsque votre instance de base de données Autonomous AI est configurée avec une adresse privée, définissez le paramètre de base de données
ROUTE_OUTBOUND_CONNECTIONSsurPRIVATE_ENDPOINTpour indiquer que toutes les connexions sortantesUTL_SMTPsont soumises aux règles sortantes du VCN d'adresse privée d'instance de base de données Autonomous AI. Pour plus d'informations, reportez-vous à Sécurité améliorée pour les connexions sortantes avec des adresses privées. - 
UTL_SMTPErreurMessage d'erreur Cause potentielle ORA-29261: Bad argumentLes informations d'identification transmises ne sont pas valides ou sont désactivées, ou l'utilisateur ne dispose pas de privilèges suffisants sur les informations d'identification.
 
Pour plus d'informations, reportez-vous à UTL_SMTP dans Référence des types et packages PL/SQL.
UTL_TCP Notes sur le package PL/SQL
Fournit des remarques sur le package UTL_TCP :
                  
- 
L'adresse IP n'est pas autorisée dans le nom d'hôte.
 - 
Les seuls ports autorisés sont : 443 (HTTP) 25 et 587 (SMTP).
 - 
Pour le port 443, seules les URL HTTPS sont autorisées.
 - 
Les arguments
WALLET_PATHetWALLET_PASSWORDpour la procédureOPEN_CONNECTIONsont ignorés. La valeur par défaut des propriétésWALLET_PATHetWALLET_PASSWORDest définie sur le portefeuille utilisé parUTL_HTTPetDBMS_CLOUDpour effectuer des demandes Web sortantes sur la base de données Autonomous AI. - 
Le protocole SSL/TLS est appliqué pour toutes les communications qui se produisent sur les connexions TCP/IP.
 - 
Lorsque votre instance de base de données Autonomous AI est configurée avec une adresse privée, définissez le paramètre de base de données
ROUTE_OUTBOUND_CONNECTIONSsurPRIVATE_ENDPOINTpour indiquer que toutes les connexions sortantesUTL_TCPsont soumises aux règles sortantes du VCN d'adresse privée d'instance de base de données Autonomous AI. Pour plus d'informations, reportez-vous à Sécurité améliorée pour les connexions sortantes avec des adresses privées. 
Pour plus d'informations, reportez-vous à UTL_TCP dans Référence des types et packages PL/SQL.