PL/SQL-Packagehinweise für Autonomous Database
Hinweise für Oracle Database-PL/SQL-Packages in Autonomous Database.
Nicht verfügbare PL/SQL-Packages
-
DBMS_DEBUG_JDWP
-
DBMS_DEBUG_JDWP_CUSTOM
DBMS_LDAP PL/SQL-Packagehinweise
Enthält Notizen für das Package DBMS_LDAP
:
-
Das Angeben einer IP-Adresse im Hostnamen ist nicht zulässig.
-
Der einzige zulässige Port ist 636.
-
Die Argumente
SSLWRL
undSSLWALLETPASSWD
für die ProzedurOPEN_SSL
werden ignoriert. Der Standardwert für die EigenschaftSSLWRL
ist auf das Wallet gesetzt, das vonUTL_HTTP
undDBMS_CLOUD
zum Erstellen ausgehender Webanforderungen in Autonomous Database verwendet wird. -
Die Unterprogramme
DBMS_LDAP.SIMPLE_BIND_S
undDBMS_LDAP.BIND_S
führen die Authentifizierung beim Directory-Server aus.Die Unterprogramme
DBMS_LDAP.SIMPLE_BIND_S
undDBMS_LDAP.BIND_S
werden so geändert, dass Zugangsdatenobjekte als Argument akzeptiert werden.Verwendungshinweise und Beispiele für diese geänderten Unterprogramme:
-
Mit den geänderten Unterprogrammen
SIMPLE_BIND_S
undBIND_S
können Sie Zugangsdatenobjekte übergeben, um die Directory-Server-Authentifizierung festzulegen. Zugangsdatenobjekte sind Schemaobjekte. Daher können nur berechtigte Benutzer auf sie zugreifen und Sie können Berechtigungen auf Schemaebene konfigurieren, um Zugriff auf die Zugangsdaten zu kontrollieren. Das Übergeben von Scheduler-Zugangsdaten ist eine geeignete und sichere Möglichkeit, Benutzername/Kennwort/Schlüssel für die Authentifizierung zu speichern und zu verwalten. -
Die geänderten Unterprogramme
SIMPLE_BIND_S
undBIND_S
sind eine sichere und praktische Alternative zu den zuvor vorhandenen UnterprogrammenSIMPLE_BIND_S
undBIND_S
.Weitere Informationen finden Sie unter FUNCTION simple_bind_s und FUNCTION bind_s.
-
Das Argument
CREDENTIAL
der FunktionenSIMPLE_BIND_S
undBIND_S
wird verwendet, um die Zugangsdaten-basierte Authentifizierung beim Directory-Server auszuführen. -
Beispiel:
-
Zugangsdatenobjekt erstellen:
BEGIN DBMS_CLOUD.CREATE_CREDENTIAL ( credential_name => 'LDAP_CRED', username => 'web_app_user', password => 'password' ); END;
Dadurch wird ein Zugangsdatenobjekt erstellt, das ein gespeichertes Benutzername/Kennwort-Paar erstellt.
Weitere Informationen finden Sie unter Prozedur CREATE_CREDENTIAL.
Weitere Informationen finden Sie unter Zugangsdaten für Scheduler-Jobs angeben.
-
Rufen Sie
DBMS_LDAP.SIMPLE_BIND_S
auf: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;
Der Code in diesem Beispiel ruft zuerst die Funktion
DBMS_LDAP.INIT
auf, die eine Session mit einem LDAP-Server initialisiert und eine Verbindung zum LDAP-Serverldap.example.com
an Portnummer636
herstellt. Der Wertl_ldap_conn
in der FunktionSIMPLE_BIND_S
ist das LDAP-Session-Handle, undLDAP_CRED
ist der Zugangsdatenname. -
Die
function bind_s
führt eine komplexe Authentifizierung beim Directory-Server aus. Beispiel: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;
Der Code in diesem Beispiel ruft zuerst die Funktion
DBMS_LDAP.INIT
auf, die eine Session mit einem LDAP-Server initialisiert und eine Verbindung zum LDAP-Serverldap.example.com
an Portnummer636
herstellt. Der Wertl_ldap_conn
in der FunktionBIND_S
ist das LDAP-Session-Handle, undLDAP_CRED
ist der Zugangsdatenname.METH
ist die Authentifizierungsmethode. Der einzig gültige Wert istDBMS_LDAP_UTL.AUTH_SIMPLE
.
-
-
Die
EXECUTE
-Berechtigungen fürDBMS_CLOUD
oderDWROLE
sind erforderlich, um Scheduler-Zugangsdaten zu erstellen. -
Die übergebenen Zugangsdaten müssen im aktuellen Schema vorhanden sein oder ein Synonym aufweisen, das auf Zugangsdaten im Schema verweist, und den Status "Aktiviert" aufweisen.
-
Ein öffentliches oder privates Synonym, das auf Zugangsdaten in einem anderen Benutzerschema verweist, kann als Wert für den Parameter
CREDENTIAL
angegeben werden, vorausgesetzt, Sie verfügen über die BerechtigungEXECUTE
für das Basiszugangsdatenobjekt, auf das das Synonym verweist. Weitere Informationen finden Sie unter Überblick über Synonyme.
-
-
SSL/TLS wird für die gesamte Kommunikation zwischen LDAP-Server und Autonomous Database durchgesetzt.
-
Wenn Ihre Autonomous Database-Instanz mit einem privaten Endpunkt konfiguriert ist, setzen Sie den Datenbankparameter
ROUTE_OUTBOUND_CONNECTIONS
auf "PRIVATE_ENDPOINT
", um anzugeben, dass alle ausgehenden LDAP-Verbindungen den Egress-Regeln des privaten Endpunkt-VCN der Autonomous Database-Instanz unterliegen. Weitere Informationen finden Sie unter Erweiterte Sicherheit für ausgehende Verbindungen mit privaten Endpunkten. -
Um
DBMS_LDAP
für eine Verbindung auf einem privaten Endpunkt zu verwenden, verwenden SieDBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE
, und geben Sie den Parameterprivate_target
mit dem WertTRUE
an.Hinweis
Wenn SieROUTE_OUTBOUND_CONNECTIONS
aufPRIVATE_ENDPOINT
setzen, ist das Festlegen des Parametersprivate_target
aufTRUE
in dieser API nicht erforderlich. Weitere Informationen finden Sie unter Erweiterte Sicherheit für ausgehende Verbindungen mit privaten Endpunkten. -
DBMS_LDAP
FehlerFehlermeldung Potenzielle Ursache ORA-31400: Missing or invalid scheduler credential
Übergebene Zugangsdaten sind NULL oder ungültig.
Weitere Informationen finden Sie unter DBMS_LDAP in der PL/SQL-Packages and Types-Referenz.
DBMS_NETWORK_ACL_ADMIN PL/SQL-Packagehinweise
Enthält Notizen für das Package DBMS_NETWORK_ACL_ADMIN
:
-
Das Erteilen von ACL-Berechtigungen für IP-Adressen ist nicht zulässig.
-
Die ACL
HTTP_PROXY
ist für private Endpunkte zulässig.
Weitere Informationen finden Sie unter DBMS_NETWORK_ACL_ADMIN in der PL/SQL-Packages and Types-Referenz.
DBMS_SCHEDULER Packagehinweise
Stellt Notizen für das Package DBMS_SCHEDULER
bereit.
In Autonomous Database unterstützt die Prozedur DBMS_SCHEDULER.CREATE_JOB
die Jobtypen PLSQL_BLOCK
und STORED_PROCEDURE
für den Parameter job_type
.
Wenn Sie eine nicht unterstützte job_type
verwenden, werden möglicherweise Meldungen wie die folgenden angezeigt:
ORA-27399: job type EXECUTABLE requires the CREATE EXTERNAL JOB privilege
ORA-27369: JOB OF TYPE EXECUTABLE FAILED WITH EXIT CODE: OPERATION NOT PERMITTED
Weitere Informationen finden Sie unter Vordefinierte Jobklassen mit Oracle Scheduler und DBMS_SCHEDULER.
UTL_HTTP PL/SQL-Packagehinweise
Enthält Notizen für das Package UTL_HTTP
:
-
Verbindungen über IP-Adressen sind nicht zulässig.
-
Nur
HTTPS
ist zulässig, wenn sich die Autonomous Database-Instanz auf einem öffentlichen Endpunkt befindet. Wenn sich die Autonomous Database-Instanz auf einem privaten Endpunkt befindet, sind sowohlHTTPS
- als auchHTTP_PROXY
-Verbindungen zulässig (HTTP
-Verbindungen sind sowohl für öffentliche als auch für private Endpunkte nicht zulässig). -
Die
UTL_HTTP.set_proxy
-API ist zulässig, wenn sich die Autonomous Database-Instanz auf einem privaten Endpunkt befindet. -
Wenn sich die Autonomous Database-Instanz auf einem privaten Endpunkt befindet und Sie
HTTP_PROXY
oder dieUTL_HTTP.SET_PROXY
-API verwenden:-
Bei
DBMS_CLOUD
-Anforderungen wird der Proxyserver, den Sie mitUTL_HTTP.SET_PROXY
festgelegt haben, nicht berücksichtigt. Dazu gehörenDBMS_CLOUD.SEND_REQUEST
und der gesamte Objektspeicherzugriff für externeDBMS_CLOUD
-Tabellen, die Sie mitDBMS_CLOUD.CREATE_EXTERNAL_TABLE
,DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
oderDBMS_CLOUD.CREATE_HYBRID_PART_TABLE
definieren. -
Bei
APEX_WEB_SERVICE
-Anforderungen wird der Proxyserver, den Sie mitUTL_HTTP.SET_PROXY
festgelegt haben, nicht berücksichtigt.
-
-
Alle Webservices müssen gesichert werden. Der einzige zulässige Port ist 443, wenn sich die Autonomous Database-Instanz auf einem öffentlichen Endpunkt befindet. Wenn sich die Autonomous Database-Instanz auf einem privaten Endpunkt befindet, gilt diese Einschränkung nicht.
Ihre Autonomous Database-Instanz ist mit einem Oracle Wallet vorkonfiguriert, das mehr als 90 der am häufigsten vertrauenswürdigsten Root- und Zwischen-SSL-Zertifikate enthält. Oracle Wallet wird zentral verwaltet. Sie können
UTL_HTTP
so konfigurieren, dass ein Wallet für eine Site verwendet wird, die mit selbstsignierten SSL-Zertifikaten geschützt ist. Weitere Informationen finden Sie unter Von Kunden verwaltetes Wallet für externe Aufrufe mit UTL_HTTP verwenden. -
Die Prozedur
SET_AUTHENTICATION_FROM_WALLET
ist nicht zulässig. -
Die Argumente
WALLET_PATH
undWALLET_PASSWORD
für die ProzedurenCREATE_REQUEST_CONTEXT
,REQUEST
undREQUEST_PIECES
werden ignoriert. -
Das Argument
CREDENTIAL
der ProzedurSET_CREDENTIAL
wird verwendet, um das Zugangsdatenobjekt als Eingabe an die Prozedur zu übergeben. Weitere Informationen finden Sie unter Zugangsdaten für Scheduler-Jobs angeben und Prozedur CREATE_CREDENTIAL. -
Die
EXECUTE
-Berechtigungen fürDBMS_CLOUD
oderDWROLE
sind erforderlich, um Zugangsdatenobjekte zu erstellen. -
Die übergebenen Zugangsdaten müssen im aktuellen Benutzerschema vorhanden sein und den Status "Aktiviert" aufweisen.
-
Ein öffentliches oder privates Synonym, das auf Zugangsdaten in einem anderen Benutzerschema verweist, kann als Wert für den Parameter
CREDENTIAL
angegeben werden, vorausgesetzt, Sie verfügen über die BerechtigungEXECUTE
für das Basiszugangsdatenobjekt, auf das das Synonym verweist. Weitere Informationen finden Sie unter Überblick über Synonyme. -
Oracle Wallet-Konfiguration kann nicht geändert werden. Alle Argumente für die Prozedur
SET_WALLET
werden ignoriert. -
Wenn Ihre Autonomous Database-Instanz mit einem privaten Endpunkt konfiguriert ist, setzen Sie den Datenbankparameter
ROUTE_OUTBOUND_CONNECTIONS
auf "PRIVATE_ENDPOINT
", um anzugeben, dass alle ausgehendenUTL_HTTP
-Verbindungen den Egress-Regeln des VCN des privaten Endpunkts der Autonomous Database-Instanz unterliegen. Weitere Informationen finden Sie unter Erweiterte Sicherheit für ausgehende Verbindungen mit privaten Endpunkten. -
UTL_HTTP
FehlerIn der folgenden Tabelle werden Fehlermeldungen und mögliche Ursachen für diese Fehlermeldungen angezeigt, wenn
UTL_HTTP
verwendet wird:Fehlermeldung Potenzielle Ursache ORA-12545: Connect failed because target host or object does not exist
Zielhost oder -objekt ist nicht vorhanden oder privat.
ORA-24247: network access denied by access control list (ACL)
Access Control-Liste (ACL) für den angegebenen Host konnte nicht gefunden werden.
ORA-29024: Certificate validation failure
Das Zertifikat des Hosts ist nicht vorhanden oder gehört nicht zu den unterstützten Zertifikaten.
ORA-29261: Bad argument
Übergebene Zugangsdaten sind ungültig oder deaktiviert, oder der Benutzer verfügt nicht über ausreichende Berechtigungen für die Zugangsdaten.
Weitere Informationen finden Sie unter UTL_HTTP in der PL/SQL-Packages and Types-Referenz.
UTL_INADDR PL/SQL-Packagehinweise
Enthält Notizen für das Package UTL_INADDR
:
-
Das Package
UTL_INADDR
ist für die Verwendung auf einer Autonomous Database-Instanz mit einem privaten Endpunkt (PE) verfügbar. -
Die Funktion
GET_HOST_ADDRESS
ist verfügbar. -
Die Funktion
GET_HOST_NAME
ist nicht verfügbar.
Weitere Informationen finden Sie unter UTL_INADDR in der PL/SQL-Packages and Types-Referenz.
UTL_SMTP PL/SQL-Packagehinweise
Enthält Notizen für das Package UTL_SMTP
:
-
Öffentliche SMTP-Endpunkte können verwendet werden, solange das Routing über den Kunden-Reverse Connection Endpunkt (RCE) erfolgt.
-
Mail mit einer IP-Adresse im Hostnamen ist nicht zulässig.
-
Die einzigen zulässigen Ports sind 25 und 587.
-
Das Argument
CREDENTIAL
der FunktionSET_CREDENTIAL
wird verwendet, um das Zugangsdatenobjekt des Schedulers als Eingabe an die Funktion zu übergeben. Weitere Informationen finden Sie unter Zugangsdaten für Scheduler-Jobs angeben und Prozedur CREATE_CREDENTIAL. -
Die
EXECUTE
-Berechtigungen fürDBMS_CLOUD
oderDWROLE
sind erforderlich, um Zugangsdatenobjekte zu erstellen. -
Das Argument
CREDENTIAL
der ProzedurSET_CREDENTIAL
wird verwendet, um das Objekt der Zugangsdatenobjekte als Eingabe an die Prozedur zu übergeben. Weitere Informationen finden Sie unter Zugangsdaten für Scheduler-Jobs angeben. -
Die übergebenen Zugangsdaten müssen im aktuellen Benutzerschema vorhanden sein und den Status "Aktiviert" aufweisen.
-
Ein öffentliches oder privates Synonym, das auf Zugangsdaten in einem anderen Benutzerschema verweist, kann als Wert für den Parameter
CREDENTIAL
angegeben werden, vorausgesetzt, Sie verfügen über die BerechtigungEXECUTE
für das Basiszugangsdatenobjekt, auf das das Synonym verweist. Weitere Informationen finden Sie unter Überblick über Synonyme. -
Wenn Ihre Autonomous Database-Instanz mit einem privaten Endpunkt konfiguriert ist, setzen Sie den Datenbankparameter
ROUTE_OUTBOUND_CONNECTIONS
auf "PRIVATE_ENDPOINT
", um anzugeben, dass alle ausgehendenUTL_SMTP
-Verbindungen den Egress-Regeln des VCN des privaten Endpunkts der Autonomous Database-Instanz unterliegen. Weitere Informationen finden Sie unter Erweiterte Sicherheit für ausgehende Verbindungen mit privaten Endpunkten. -
UTL_SMTP
FehlerFehlermeldung Potenzielle Ursache ORA-29261: Bad argument
Übergebene Zugangsdaten sind ungültig oder deaktiviert, oder der Benutzer verfügt nicht über ausreichende Berechtigungen für die Zugangsdaten.
Weitere Informationen finden Sie unter UTL_SMTP in der PL/SQL-Packages and Types-Referenz.
UTL_TCP PL/SQL-Packagehinweise
Enthält Notizen für das Package UTL_TCP
:
-
Die IP-Adresse ist im Hostnamen nicht zulässig.
-
Die einzigen zulässigen Ports sind: 443 (HTTP) 25 und 587 (SMTP).
-
Für Port 443 sind nur HTTPS-URLs zulässig.
-
Die Argumente
WALLET_PATH
undWALLET_PASSWORD
für die ProzedurOPEN_CONNECTION
werden ignoriert. Der Standardwert für die EigenschaftenWALLET_PATH
undWALLET_PASSWORD
wird auf das Wallet gesetzt, das vonUTL_HTTP
undDBMS_CLOUD
zum Erstellen ausgehender Webanforderungen in Autonomous Database verwendet wird. -
SSL/TLS wird für die gesamte Kommunikation über TCP/IP-Verbindungen durchgesetzt.
-
Wenn Ihre Autonomous Database-Instanz mit einem privaten Endpunkt konfiguriert ist, setzen Sie den Datenbankparameter
ROUTE_OUTBOUND_CONNECTIONS
auf "PRIVATE_ENDPOINT
", um anzugeben, dass alle ausgehendenUTL_TCP
-Verbindungen den Egress-Regeln des VCN des privaten Endpunkts der Autonomous Database-Instanz unterliegen. Weitere Informationen finden Sie unter Erweiterte Sicherheit für ausgehende Verbindungen mit privaten Endpunkten.
Weitere Informationen finden Sie unter UTL_TCP in der PL/SQL-Packages and Types-Referenz.
Übergeordnetes Thema: Hinweise für Benutzer, die von anderen Oracle-Datenbanken migrieren