Note sul package PL/SQL per Autonomous AI Database
Note per i package PL/SQL di Oracle Database in Autonomous AI Database.
Pacchetti PL/SQL non disponibili
-
DBMS_DEBUG_JDWP -
DBMS_DEBUG_JDWP_CUSTOM
DBMS_LDAP Note package PL/SQL
Fornisce note per il pacchetto DBMS_LDAP:
-
Non è consentito specificare un indirizzo IP nel nome host.
-
L'unica porta consentita è 636.
-
Gli argomenti
SSLWRLeSSLWALLETPASSWDdella proceduraOPEN_SSLvengono ignorati. Il valore predefinito per la proprietàSSLWRLviene impostato sul wallet utilizzato daUTL_HTTPeDBMS_CLOUDper l'esecuzione di richieste Web in uscita su Autonomous AI Database. -
I sottoprogrammi
DBMS_LDAP.SIMPLE_BIND_SeDBMS_LDAP.BIND_Seseguono l'autenticazione al server delle directory.I sottoprogrammi
DBMS_LDAP.SIMPLE_BIND_SeDBMS_LDAP.BIND_Svengono modificati per accettare gli oggetti credenziali come argomento.Di seguito sono riportate le note di utilizzo e gli esempi di questi sottoprogrammi modificati.
-
I programmi secondari
SIMPLE_BIND_SeBIND_Smodificati consentono di passare gli oggetti delle credenziali per impostare l'autenticazione del server delle directory. Gli oggetti delle credenziali sono oggetti dello schema, pertanto è possibile accedervi solo da utenti con privilegi e consentire di configurare privilegi a livello di schema per controllare le credenziali. Il passaggio delle credenziali dello scheduler è un modo appropriato e sicuro per memorizzare e gestire nome utente/password/chiavi per l'autenticazione. -
I sottoprogrammi
SIMPLE_BIND_SeBIND_Smodificati sono un'alternativa sicura e conveniente ai sottoprogrammiSIMPLE_BIND_SeBIND_Sesistenti in precedenza.Per ulteriori informazioni, vedere FUNCTION simple_bind_s e FUNCTION bind_s.
-
L'argomento
CREDENTIALdelle funzioniSIMPLE_BIND_SeBIND_Sviene utilizzato per eseguire l'autenticazione basata sulle credenziali al server delle directory. -
Ad esempio:
-
Creare un oggetto credenziale:
BEGIN DBMS_CLOUD.CREATE_CREDENTIAL ( credential_name => 'LDAP_CRED', username => 'web_app_user', password => 'password' ); END;In questo modo viene creato un oggetto credenziale che crea una coppia di nome utente/password memorizzata.
Per ulteriori informazioni, vedere CREATE_CREDENTIAL Procedure.
Per ulteriori informazioni, vedere Specifica delle credenziali del job scheduler.
-
Richiama
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;Il codice in questo esempio richiama per la prima volta la funzione
DBMS_LDAP.INITche inizializza una sessione con un server LDAP e stabilisce una connessione con il server LDAPldap.example.comalla porta numero636. Il valorel_ldap_connnella funzioneSIMPLE_BIND_Sè l'handle della sessione LDAP eLDAP_CREDè il nome delle credenziali. -
function bind_sesegue l'autenticazione complessa al server delle directory. Ad esempio: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;Il codice in questo esempio richiama per la prima volta la funzione
DBMS_LDAP.INITche inizializza una sessione con un server LDAP e stabilisce una connessione con il server LDAPldap.example.comalla porta numero636. Il valorel_ldap_connnella funzioneBIND_Sè l'handle della sessione LDAP eLDAP_CREDè il nome delle credenziali.METHè il metodo di autenticazione. Il solo valore valido èDBMS_LDAP_UTL.AUTH_SIMPLE.
-
-
Per creare le credenziali dello scheduler sono richiesti i privilegi
EXECUTEinDBMS_CLOUDoDWROLE. -
La credenziale passata deve essere presente nello schema corrente o avere un sinonimo che punta a una credenziale nello schema ed essere nello stato abilitato.
-
Un sinonimo pubblico o privato che punta a una credenziale in uno schema utente diverso può essere fornito come valore per il parametro
CREDENTIALa condizione che si disponga del privilegioEXECUTEsull'oggetto credenziale di base a cui punta il sinonimo. Per ulteriori informazioni, vedere Panoramica dei sinonimi.
-
-
SSL/TLS viene applicato per tutte le comunicazioni tra il server LDAP e Autonomous AI Database.
-
Quando l'istanza di Autonomous AI Database è configurata con un endpoint privato, impostare il parametro del database
ROUTE_OUTBOUND_CONNECTIONSsu 'PRIVATE_ENDPOINT' per specificare che tutte le connessioni LDAP in uscita sono soggette alle regole di uscita della VCN dell'endpoint privato dell'istanza di Autonomous AI Database. Per ulteriori informazioni, vedere Sicurezza avanzata per le connessioni in uscita con endpoint privati. -
Per utilizzare
DBMS_LDAPper una connessione su un endpoint privato, utilizzareDBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACEe specificare il parametroprivate_targetcon il valoreTRUE.Nota
Se si impostaROUTE_OUTBOUND_CONNECTIONSsuPRIVATE_ENDPOINT, l'impostazione del parametroprivate_targetsuTRUEnon è obbligatoria in questa API. Per ulteriori informazioni, vedere Sicurezza avanzata per le connessioni in uscita con endpoint privati. -
DBMS_LDAPErroreMessaggio di errore Causa potenziale ORA-31400: Missing or invalid scheduler credentialLe credenziali passate sono NULL o non valide.
Per ulteriori informazioni, vedere DBMS_LDAP in PL/SQL Packages and Types Reference.
DBMS_NETWORK_ACL_ADMIN Note package PL/SQL
Fornisce note per il pacchetto DBMS_NETWORK_ACL_ADMIN:
-
La concessione dei privilegi ACL sugli indirizzi IP non è consentita.
-
L'ACL
HTTP_PROXYè consentita sugli endpoint privati.
Per ulteriori informazioni, vedere DBMS_NETWORK_ACL_ADMIN in PL/SQL Packages and Types Reference.
DBMS_SCHEDULER Note del pacchetto
Fornisce note per il pacchetto DBMS_SCHEDULER.
In Autonomous AI Database la procedura DBMS_SCHEDULER.CREATE_JOB supporta i tipi di job PLSQL_BLOCK e STORED_PROCEDURE per il parametro job_type.
L'uso di un elemento job_type non supportato potrebbe indicare i messaggi riportati di seguito.
ORA-27399: job type EXECUTABLE requires the CREATE EXTERNAL JOB privilege
ORA-27369: JOB OF TYPE EXECUTABLE FAILED WITH EXIT CODE: OPERATION NOT PERMITTED
Per ulteriori informazioni, vedere Classi processo predefinite con Oracle Scheduler e DBMS_SCHEDULER.
UTL_HTTP Note package PL/SQL
Fornisce note per il pacchetto UTL_HTTP:
-
Le connessioni tramite indirizzi IP non sono consentite.
-
È consentito solo
HTTPSquando l'istanza di Autonomous AI Database si trova su un endpoint pubblico. Quando l'istanza di Autonomous AI Database si trova su un endpoint privato, sono consentite sia le connessioniHTTPScheHTTP_PROXY(le connessioniHTTPnon sono consentite sia per gli endpoint pubblici che per gli endpoint privati). -
L'API
UTL_HTTP.set_proxyè consentita quando l'istanza di Autonomous AI Database si trova su un endpoint privato. -
Quando l'istanza di Autonomous AI Database si trova in un endpoint privato e si utilizza
HTTP_PROXYo l'APIUTL_HTTP.SET_PROXY:-
Le richieste
DBMS_CLOUDnon rispettano il server proxy impostato conUTL_HTTP.SET_PROXY. Sono inclusiDBMS_CLOUD.SEND_REQUESTe tutti gli accessi allo storage degli oggetti per le tabelle esterneDBMS_CLOUDdefinite conDBMS_CLOUD.CREATE_EXTERNAL_TABLE,DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLEoDBMS_CLOUD.CREATE_HYBRID_PART_TABLE. -
Le richieste
APEX_WEB_SERVICEnon rispettano il server proxy impostato conUTL_HTTP.SET_PROXY.
-
-
Tutti i servizi Web devono essere protetti. L'unica porta consentita è la 443 quando l'istanza di Autonomous AI Database si trova su un endpoint pubblico. Quando l'istanza di Autonomous AI Database si trova su un endpoint privato, questa limitazione non si applica.
L'istanza di Autonomous AI Database è preconfigurata con un Oracle Wallet che contiene più di 90 dei certificati SSL root e intermedi più comunemente accettati. Oracle Wallet è gestito centralmente. È possibile configurare
UTL_HTTPin modo che utilizzi un wallet per un sito protetto mediante certificati SSL autofirmati. Per ulteriori informazioni, vedere Utilizzare un wallet gestito dal cliente per le chiamate esterne con UTL_HTTP. -
La procedura
SET_AUTHENTICATION_FROM_WALLETnon è consentita. -
Gli argomenti
WALLET_PATHeWALLET_PASSWORDper le procedureCREATE_REQUEST_CONTEXT,REQUESTeREQUEST_PIECESvengono ignorati. -
L'argomento
CREDENTIALdella proceduraSET_CREDENTIALviene utilizzato per passare l'oggetto credenziale come input alla procedura. Per ulteriori informazioni, vedere Specifica delle credenziali del job Scheduler e CREATE_CREDENTIAL Procedure. -
Per creare oggetti credenziali sono necessari i privilegi
EXECUTEsuDBMS_CLOUDoDWROLE. -
Le credenziali passate devono essere presenti nello schema utente corrente ed essere nello stato abilitato.
-
Un sinonimo pubblico o privato che punta a una credenziale in uno schema utente diverso può essere fornito come valore per il parametro
CREDENTIALa condizione che si disponga del privilegioEXECUTEsull'oggetto credenziale di base a cui punta il sinonimo. Per ulteriori informazioni, vedere Panoramica dei sinonimi. -
Impossibile modificare la configurazione di Oracle Wallet. Tutti gli argomenti per la procedura
SET_WALLETvengono ignorati. -
Quando l'istanza di Autonomous AI Database è configurata con un endpoint privato, impostare il parametro del database
ROUTE_OUTBOUND_CONNECTIONSsu 'PRIVATE_ENDPOINT' per specificare che tutte le connessioniUTL_HTTPin uscita sono soggette alle regole di uscita della VCN dell'endpoint privato dell'istanza di Autonomous AI Database. Per ulteriori informazioni, vedere Sicurezza avanzata per le connessioni in uscita con endpoint privati. -
UTL_HTTPErroriLa tabella seguente mostra i messaggi di errore e le possibili cause di tali messaggi quando si utilizza
UTL_HTTP:Messaggio di errore Causa potenziale ORA-12545: Connect failed because target host or object does not existL'host o l'oggetto di destinazione non esiste o è privato.
ORA-24247: network access denied by access control list (ACL)Impossibile trovare la lista di controllo dell'accesso (ACL, Access Control List) per l'host specificato.
ORA-29024: Certificate validation failureIl certificato dell'host non esiste o non è incluso nei certificati supportati.
ORA-29261: Bad argumentLe credenziali passate non sono valide o disabilitate oppure l'utente non dispone di privilegi sufficienti sulla credenziale.
Per ulteriori informazioni, vedere UTL_HTTP in PL/SQL Packages and Types Reference.
UTL_INADDR Note package PL/SQL
Fornisce note per il pacchetto UTL_INADDR:
-
Il package
UTL_INADDRè disponibile per l'uso in un'istanza di Autonomous AI Database con un endpoint privato (PE, Private Endpoint). -
La funzione
GET_HOST_ADDRESSè disponibile. -
La funzione
GET_HOST_NAMEnon è disponibile.
Per ulteriori informazioni, vedere UTL_INADDR in PL/SQL Packages and Types Reference.
UTL_SMTP Note package PL/SQL
Fornisce note per il pacchetto UTL_SMTP:
-
Gli endpoint SMTP pubblici possono essere utilizzati purché l'instradamento venga eseguito tramite l'endpoint RCE (Inverse Connection Endpoint) del cliente.
-
La posta con un indirizzo IP nel nome host non è consentita.
-
Le uniche porte consentite sono 25 e 587.
-
L'argomento
CREDENTIALdella funzioneSET_CREDENTIALviene utilizzato per passare l'oggetto delle credenziali dello scheduler come input alla funzione. Per ulteriori informazioni, vedere Specifica delle credenziali del job Scheduler e CREATE_CREDENTIAL Procedure. -
Per creare oggetti credenziali sono necessari i privilegi
EXECUTEsuDBMS_CLOUDoDWROLE. -
L'argomento
CREDENTIALdella proceduraSET_CREDENTIALviene utilizzato per passare l'oggetto oggetti credenziali come input alla procedura. Per ulteriori informazioni, vedere Specifica delle credenziali del job scheduler. -
Le credenziali passate devono essere presenti nello schema utente corrente ed essere nello stato abilitato.
-
Un sinonimo pubblico o privato che punta a una credenziale in uno schema utente diverso può essere fornito come valore per il parametro
CREDENTIALa condizione che si disponga del privilegioEXECUTEsull'oggetto credenziale di base a cui punta il sinonimo. Per ulteriori informazioni, vedere Panoramica dei sinonimi. -
Quando l'istanza di Autonomous AI Database è configurata con un endpoint privato, impostare il parametro del database
ROUTE_OUTBOUND_CONNECTIONSsu 'PRIVATE_ENDPOINT' per specificare che tutte le connessioniUTL_SMTPin uscita sono soggette alle regole di uscita della VCN dell'endpoint privato dell'istanza di Autonomous AI Database. Per ulteriori informazioni, vedere Sicurezza avanzata per le connessioni in uscita con endpoint privati. -
UTL_SMTPErroreMessaggio di errore Causa potenziale ORA-29261: Bad argumentLe credenziali passate non sono valide o disabilitate oppure l'utente non dispone di privilegi sufficienti sulla credenziale.
Per ulteriori informazioni, vedere UTL_SMTP in PL/SQL Packages and Types Reference.
UTL_TCP Note package PL/SQL
Fornisce note per il pacchetto UTL_TCP:
-
L'indirizzo IP non è consentito nel nome host.
-
Le uniche porte consentite sono: 443 (HTTP) 25 e 587 (SMTP).
-
Per la porta 443, sono consentiti solo URL HTTPS.
-
Gli argomenti
WALLET_PATHeWALLET_PASSWORDper la proceduraOPEN_CONNECTIONvengono ignorati. Il valore predefinito per le proprietàWALLET_PATHeWALLET_PASSWORDviene impostato sul wallet utilizzato daUTL_HTTPeDBMS_CLOUDper l'esecuzione di richieste Web in uscita su Autonomous AI Database. -
SSL/TLS viene applicato per tutte le comunicazioni che si verificano su connessioni TCP/IP.
-
Quando l'istanza di Autonomous AI Database è configurata con un endpoint privato, impostare il parametro del database
ROUTE_OUTBOUND_CONNECTIONSsu 'PRIVATE_ENDPOINT' per specificare che tutte le connessioniUTL_TCPin uscita sono soggette alle regole di uscita della VCN dell'endpoint privato dell'istanza di Autonomous AI Database. Per ulteriori informazioni, vedere Sicurezza avanzata per le connessioni in uscita con endpoint privati.
Per ulteriori informazioni, vedere UTL_TCP in PL/SQL Packages and Types Reference.