Hinweise zum PL/SQL-Package für Autonomous Database
Hinweise zu Oracle Database-PL/SQL-Packages in Autonomous Database.
Nicht verfügbare PL/SQL-Packages
-
DBMS_DEBUG_JDWP
-
DBMS_DEBUG_JDWP_CUSTOM
DBMS_LDAP Hinweise zum PL/SQL-Paket
Enthält Hinweise zum Package DBMS_LDAP
:
-
Die Angabe 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. Als Standardwert für die EigenschaftSSLWRL
ist das Wallet festgelegt, das vonUTL_HTTP
undDBMS_CLOUD
für ausgehende 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 geändert, um Zugangsdatenobjekte als Argument zu akzeptieren.Im Folgenden finden Sie die 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 privilegierte Benutzer auf sie zugreifen, und Sie können Berechtigungen auf Schemaebene konfigurieren, um auf die Zugangsdaten zuzugreifen. Das Übergeben von Scheduler-Zugangsdaten ist eine geeignete und sichere Möglichkeit zum Speichern und Verwalten von Benutzername/Kennwort/Schlüssel für die Authentifizierung. -
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.
-
Mit dem Argument
CREDENTIAL
der FunktionenSIMPLE_BIND_S
undBIND_S
wird die Authentifizierung auf Basis von Zugangsdaten für den Directory-Server ausgeführt. -
Beispiele:
-
Erstellen Sie ein Zugangsdatenobjekt:
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 mit dem LDAP-Serverldap.example.com
unter der 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. Beispiele: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 mit dem LDAP-Serverldap.example.com
unter der 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 einzige 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 Synonyme - Überblick.
-
-
SSL/TLS wird für die gesamte Kommunikation zwischen LDAP-Server und Autonomous Database erzwungen.
-
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 es in dieser API nicht erforderlich, den Parameterprivate_target
aufTRUE
zu setzen. Weitere Informationen finden Sie unter Erweiterte Sicherheit für ausgehende Verbindungen mit privaten Endpunkten. -
DBMS_LDAP
FehlerFehlermeldung Mögliche Ursache ORA-31400: Missing or invalid scheduler credential
Übergebene Zugangsdaten sind NULL oder ungültig.
Weitere Informationen finden Sie unter DBMS_LDAP in PL/SQL Packages and Types Reference.
DBMS_NETWORK_ACL_ADMIN PL/SQL-Pakethinweise
Enthält Hinweise zum Package DBMS_NETWORK_ACL_ADMIN
:
-
Das Gewähren von ACL-Berechtigungen für IP-Adressen ist nicht zulässig.
-
Die
HTTP_PROXY
-ACL ist auf privaten Endpunkten zulässig.
Weitere Informationen finden Sie unter DBMS_NETWORK_ACL_ADMIN in PL/SQL Packages and Types Reference.
UTL_HTTP PL/SQL-Pakethinweise
Enthält Hinweise zum 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:-
DBMS_CLOUD
-Anforderungen entsprechen nicht dem Proxyserver, den Sie mitUTL_HTTP.SET_PROXY
festlegen. 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 verwendeten vertrauenswürdigen Root- und SSL-Zwischenzertifikate 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 Vom Kunden verwaltetes Wallet für externe Anrufe 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 Synonyme - Überblick. -
Die 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 privaten Endpunkt-VCN 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 dafür bei Verwendung von
UTL_HTTP
angezeigt:Fehlermeldung Mögliche 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
Die übergebenen 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 Referenz zu PL/SQL-Packages und -Typen.
UTL_INADDR PL/SQL-Pakethinweise
Enthält Hinweise zum Package UTL_INADDR
:
-
Das Package
UTL_INADDR
kann in einer Autonomous Database-Instanz mit einem privaten Endpunkt (PE) verwendet werden. -
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 PL/SQL Packages and Types Reference.
UTL_SMTP PL/SQL-Pakethinweise
Enthält Hinweise zum Package UTL_SMTP
:
-
Öffentliche SMTP-Endpunkte können verwendet werden, solange das Routing über den Kunden-Reverse Connection Endpunkt (RCE) erfolgt.
-
Mails mit einer IP-Adresse im Hostnamen sind nicht zulässig.
-
Die einzigen zulässigen Ports sind 25 und 587.
-
Das Argument
CREDENTIAL
der FunktionSET_CREDENTIAL
wird verwendet, um das Scheduler-Zugangsdatenobjekt 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 Synonyme - Überblick. -
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 privaten Endpunkt-VCN der Autonomous Database-Instanz unterliegen. Weitere Informationen finden Sie unter Erweiterte Sicherheit für ausgehende Verbindungen mit privaten Endpunkten.
-
UTL_SMTP
FehlerFehlermeldung Mögliche Ursache ORA-29261: Bad argument
Die übergebenen 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 PL/SQL Packages and Types Reference.
UTL_TCP PL/SQL-Pakethinweise
Enthält Hinweise zum 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. Als Standardwert für die EigenschaftWALLET_PATH
undWALLET_PASSWORD
wird das Wallet festgelegt, das vonUTL_HTTP
undDBMS_CLOUD
für ausgehende Webanforderungen in Autonomous Database verwendet wird. -
SSL/TLS wird für die gesamte Kommunikation über TCP/IP-Verbindungen erzwungen.
-
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 privaten Endpunkt-VCN 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 PL/SQL Packages and Types Reference.
Übergeordnetes Thema: Hinweise für Benutzer, die von anderen Oracle-Datenbanken migrieren