Note del package PL/SQL per Autonomous Database
Note per i package PL/SQL di Oracle Database in Autonomous Database.
Package PL/SQL non disponibili
-
DBMS_DEBUG_JDWP
-
DBMS_DEBUG_JDWP_CUSTOM
DBMS_LDAP Note del pacchetto 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
SSLWRL
eSSLWALLETPASSWD
della proceduraOPEN_SSL
vengono ignorati. Il valore predefinito per la proprietàSSLWRL
è impostato sul wallet utilizzato daUTL_HTTP
eDBMS_CLOUD
per effettuare richieste Web in uscita su Autonomous Database. -
I sottoprogrammi
DBMS_LDAP.SIMPLE_BIND_S
eDBMS_LDAP.BIND_S
eseguono l'autenticazione al server delle directory.I sottoprogrammi
DBMS_LDAP.SIMPLE_BIND_S
eDBMS_LDAP.BIND_S
vengono modificati per accettare gli oggetti credenziali come argomento.Di seguito sono riportate le note d'uso e gli esempi di questi sottoprogrammi modificati:
-
I sottoprogrammi
SIMPLE_BIND_S
eBIND_S
modificati consentono di passare gli oggetti delle credenziali per impostare l'autenticazione del server delle directory. Gli oggetti delle credenziali sono oggetti dello schema, pertanto possono essere accessibili solo dagli utenti con privilegi e consentono di configurare i 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_S
eBIND_S
modificati sono un'alternativa sicura e conveniente ai sottoprogrammiSIMPLE_BIND_S
eBIND_S
precedentemente esistenti.Per ulteriori informazioni, vedere FUNCTION simple_bind_s e FUNCTION bind_s.
-
L'argomento
CREDENTIAL
delle funzioniSIMPLE_BIND_S
eBIND_S
viene utilizzato per eseguire l'autenticazione basata su credenziali al server delle directory. -
Ad esempio:
-
Crea un oggetto credenziali:
BEGIN DBMS_CLOUD.CREATE_CREDENTIAL ( credential_name => 'LDAP_CRED', username => 'web_app_user', password => 'password' ); END;
Questo crea un oggetto credenziali che crea una coppia nome utente/password memorizzata.
Per ulteriori informazioni, vedere CREATE_CREDENTIAL Procedura.
Per ulteriori informazioni, vedere Specifica delle credenziali del job dello 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 innanzitutto la funzione
DBMS_LDAP.INIT
che inizializza una sessione con un server LDAP e stabilisce una connessione con il server LDAPldap.example.com
alla porta numero636
. Il valorel_ldap_conn
nella funzioneSIMPLE_BIND_S
è l'handle della sessione LDAP eLDAP_CRED
è il nome delle credenziali. -
function bind_s
esegue un'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 innanzitutto la funzione
DBMS_LDAP.INIT
che inizializza una sessione con un server LDAP e stabilisce una connessione con il server LDAPldap.example.com
alla porta numero636
. Il valorel_ldap_conn
nella funzioneBIND_S
è l'handle della sessione LDAP eLDAP_CRED
è il nome delle credenziali.METH
è il metodo di autenticazione. L'unico valore valido èDBMS_LDAP_UTL.AUTH_SIMPLE
.
-
-
Per creare le credenziali dello scheduler sono richiesti i privilegi
EXECUTE
suDBMS_CLOUD
oDWROLE
. -
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 un diverso schema utente può essere fornito come valore per il parametro
CREDENTIAL
a condizione che si disponga del privilegioEXECUTE
sull'oggetto della credenziale di base a cui punta il sinonimo. Per ulteriori informazioni, vedere Panoramica dei sinonimi.
-
-
SSL/TLS viene applicato per tutte le comunicazioni che si verificano tra il server LDAP e Autonomous Database.
-
Quando l'istanza di Autonomous Database è configurata con un endpoint privato, impostare il parametro del database
ROUTE_OUTBOUND_CONNECTIONS
su '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 Database. Per ulteriori informazioni, vedere Maggiore sicurezza per le connessioni in uscita con endpoint privati. -
Per utilizzare
DBMS_LDAP
per una connessione su un endpoint privato, utilizzareDBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE
e specificare il parametroprivate_target
con valoreTRUE
.Nota
Se si impostaROUTE_OUTBOUND_CONNECTIONS
suPRIVATE_ENDPOINT
, l'impostazione del parametroprivate_target
suTRUE
non è richiesta in questa API. Per ulteriori informazioni, vedere Maggiore sicurezza per le connessioni in uscita con endpoint privati. -
DBMS_LDAP
ErroreMessaggio di errore Causa possibile ORA-31400: Missing or invalid scheduler credential
Le credenziali passate sono nulle o non valide.
Per ulteriori informazioni, vedere DBMS_LDAP in PL/SQL Packages and Types Reference.
DBMS_NETWORK_ACL_ADMIN Note del 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.
UTL_HTTP Note del package PL/SQL
Fornisce note per il pacchetto UTL_HTTP
:
-
Le connessioni tramite indirizzi IP non sono consentite.
-
È consentito solo
HTTPS
quando l'istanza di Autonomous Database si trova in un endpoint pubblico. Quando l'istanza di Autonomous Database si trova in un endpoint privato, sono consentite sia le connessioniHTTPS
cheHTTP_PROXY
(le connessioniHTTP
non sono consentite sia per gli endpoint pubblici che per quelli privati). -
L'interfaccia API
UTL_HTTP.set_proxy
è consentita quando l'istanza di Autonomous Database si trova in un endpoint privato. -
Quando l'istanza di Autonomous Database si trova in un endpoint privato e si utilizza l'interfaccia API
HTTP_PROXY
oUTL_HTTP.SET_PROXY
:-
Le richieste
DBMS_CLOUD
non soddisfano il server proxy impostato conUTL_HTTP.SET_PROXY
. Sono inclusiDBMS_CLOUD.SEND_REQUEST
e tutti gli accessi allo storage degli oggetti per le tabelle esterneDBMS_CLOUD
definite conDBMS_CLOUD.CREATE_EXTERNAL_TABLE
,DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
oDBMS_CLOUD.CREATE_HYBRID_PART_TABLE
. -
Le richieste
APEX_WEB_SERVICE
non soddisfano il server proxy impostato conUTL_HTTP.SET_PROXY
.
-
-
Tutti i Web Service devono essere protetti. L'unica porta consentita è 443 quando l'istanza di Autonomous Database si trova su un endpoint pubblico. Quando l'istanza di Autonomous Database si trova in un endpoint privato, questa limitazione non si applica.
L'istanza di Autonomous Database è preconfigurata con un Oracle Wallet che contiene più di 90 dei certificati SSL radice e intermedi più comunemente sicuri. Oracle Wallet viene gestito centralmente. È possibile configurare
UTL_HTTP
in 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_WALLET
non è consentita. -
Gli argomenti
WALLET_PATH
eWALLET_PASSWORD
per le procedureCREATE_REQUEST_CONTEXT
,REQUEST
eREQUEST_PIECES
vengono ignorati. -
L'argomento
CREDENTIAL
della proceduraSET_CREDENTIAL
viene utilizzato per passare l'oggetto credenziale come input alla procedura. Per ulteriori informazioni, vedere Specifica delle credenziali del job dello scheduler e Procedura CREATE_CREDENTIAL. -
Per creare gli oggetti delle credenziali sono richiesti i privilegi
EXECUTE
suDBMS_CLOUD
oDWROLE
. -
Le credenziali passate devono essere presenti nello schema utente corrente e nello stato abilitato.
-
Un sinonimo pubblico o privato che punta a una credenziale in un diverso schema utente può essere fornito come valore per il parametro
CREDENTIAL
a condizione che si disponga del privilegioEXECUTE
sull'oggetto della 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 della procedura
SET_WALLET
vengono ignorati. -
Quando l'istanza di Autonomous Database è configurata con un endpoint privato, impostare il parametro del database
ROUTE_OUTBOUND_CONNECTIONS
su 'PRIVATE_ENDPOINT
' per specificare che tutte le connessioniUTL_HTTP
in uscita sono soggette alle regole di uscita della VCN dell'endpoint privato dell'istanza di Autonomous Database. Per ulteriori informazioni, vedere Maggiore sicurezza per le connessioni in uscita con endpoint privati. -
UTL_HTTP
ErroriLa tabella seguente mostra i messaggi di errore e le possibili cause di questi messaggi di errore quando si utilizza
UTL_HTTP
:Messaggio di errore Causa possibile ORA-12545: Connect failed because target host or object does not exist
L'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) per l'host specificato.
ORA-29024: Certificate validation failure
Il certificato dell'host non esiste o non è incluso nei certificati supportati.
ORA-29261: Bad argument
Le credenziali passate non sono valide o sono disabilitate oppure l'utente non dispone di privilegi sufficienti per le credenziali.
Per ulteriori informazioni, vedere UTL_HTTP in PL/SQL Packages and Types Reference.
UTL_INADDR Note del package PL/SQL
Fornisce note per il pacchetto UTL_INADDR
:
-
Il package
UTL_INADDR
è disponibile per l'uso su un'istanza di Autonomous Database con un endpoint privato (PE). -
La funzione
GET_HOST_ADDRESS
è disponibile. -
La funzione
GET_HOST_NAME
non è disponibile.
Per ulteriori informazioni, vedere UTL_INADDR in PL/SQL Packages and Types Reference.
UTL_SMTP Note del 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
CREDENTIAL
della funzioneSET_CREDENTIAL
viene utilizzato per passare l'oggetto delle credenziali dello scheduler come input alla funzione. Per ulteriori informazioni, vedere Specifica delle credenziali del job dello scheduler e Procedura CREATE_CREDENTIAL. -
Per creare gli oggetti delle credenziali sono richiesti i privilegi
EXECUTE
suDBMS_CLOUD
oDWROLE
. -
L'argomento
CREDENTIAL
della proceduraSET_CREDENTIAL
viene utilizzato per passare l'oggetto degli oggetti credenziali come input alla procedura. Per ulteriori informazioni, vedere Specifica delle credenziali del job dello scheduler. -
Le credenziali passate devono essere presenti nello schema utente corrente e nello stato abilitato.
-
Un sinonimo pubblico o privato che punta a una credenziale in un diverso schema utente può essere fornito come valore per il parametro
CREDENTIAL
a condizione che si disponga del privilegioEXECUTE
sull'oggetto della credenziale di base a cui punta il sinonimo. Per ulteriori informazioni, vedere Panoramica dei sinonimi. -
Quando l'istanza di Autonomous Database è configurata con un endpoint privato, impostare il parametro del database
ROUTE_OUTBOUND_CONNECTIONS
su 'PRIVATE_ENDPOINT
' per specificare che tutte le connessioniUTL_SMTP
in uscita sono soggette alle regole di uscita della VCN dell'endpoint privato dell'istanza di Autonomous Database. Per ulteriori informazioni, vedere Maggiore sicurezza per le connessioni in uscita con endpoint privati.
-
UTL_SMTP
ErroreMessaggio di errore Causa possibile ORA-29261: Bad argument
Le credenziali passate non sono valide o sono disabilitate oppure l'utente non dispone di privilegi sufficienti per le credenziali.
Per ulteriori informazioni, vedere UTL_SMTP in PL/SQL Packages and Types Reference.
UTL_TCP Note del 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_PATH
eWALLET_PASSWORD
per la proceduraOPEN_CONNECTION
vengono ignorati. Il valore predefinito per le proprietàWALLET_PATH
eWALLET_PASSWORD
viene impostato sul wallet utilizzato daUTL_HTTP
eDBMS_CLOUD
per effettuare richieste Web in uscita su Autonomous Database. -
SSL/TLS viene applicato per tutte le comunicazioni che si verificano su connessioni TCP/IP.
-
Quando l'istanza di Autonomous Database è configurata con un endpoint privato, impostare il parametro del database
ROUTE_OUTBOUND_CONNECTIONS
su 'PRIVATE_ENDPOINT
' per specificare che tutte le connessioniUTL_TCP
in uscita sono soggette alle regole di uscita della VCN dell'endpoint privato dell'istanza di Autonomous Database. Per ulteriori informazioni, vedere Maggiore sicurezza per le connessioni in uscita con endpoint privati.
Per ulteriori informazioni, vedere UTL_TCP in PL/SQL Packages and Types Reference.