DBMS_CLOUD - Unterprogramme und REST-APIs
In diesem Abschnitt werden die DBMS_CLOUD
-Unterprogramme und REST-APIs behandelt, die mit Autonomous Database bereitgestellt werden.
Um
DBMS_CLOUD
-Unterprogramme mit einem anderen Benutzer als ADMIN auszuführen, müssen Sie diesem Benutzer EXECUTE
-Berechtigungen erteilen. Führen Sie den folgenden Befehl als ADMIN aus, um adb_user
Berechtigungen zu erteilen:GRANT EXECUTE ON DBMS_CLOUD TO adb_user;
Das Package DBMS_CLOUD
besteht aus:
- DBMS_CLOUD für Access Management
Die Unterprogramme für die Zugangsdatenverwaltung im Package DBMS_CLOUD, einschließlich Erstellen, Löschen und Aktualisieren von Zugangsdaten. - DBMS_CLOUD für Objekte und Dateien
Die Unterprogramme für die Objekt- und Dateiverwaltung im Package DBMS_CLOUD. - DBMS_CLOUD für Dateiverwaltung im Bulkverfahren
Die Unterprogramme für Dateiverwaltung im DBMS_CLOUD-Package. - REST-APIs DBMS_CLOUD
In diesem Abschnitt werden die REST-APIsDBMS_CLOUD
behandelt, die mit Autonomous Database bereitgestellt werden.
Übergeordnetes Thema: DBMS_CLOUD-Package
DBMS_CLOUD für Zugriffsverwaltung
Die Unterprogramme für die Zugangsdatenverwaltung im Package DBMS_CLOUD, einschließlich Erstellen, Löschen und Aktualisieren von Zugangsdaten.
Unterprogramm | Beschreibung |
---|---|
Diese Prozedur speichert Zugangsdaten für Cloud-Services in Autonomous Database. | |
Diese Prozedur entfernt vorhandene Zugangsdaten aus Autonomous Database. | |
Mit dieser Prozedur wird das Vault Secret einer Vault-Secret-Zugangsdaten sofort aktualisiert, um die neueste Version des Vault Secrets für die angegebene |
|
Diese Prozedur aktualisiert Zugangsdatenattribute für Cloud-Services in Autonomous Database. |
- Prozedur CREATE_CREDENTIAL
Diese Prozedur speichert Zugangsdaten für Cloud-Services in Autonomous Database. - Prozedur DROP_CREDENTIAL
Diese Prozedur entfernt vorhandene Zugangsdaten aus Autonomous Database. - Prozedur REFRESH_VAULT_CREDENTIAL
Mit dieser Prozedur wird das Vault Secret einer Vault-Secret-Zugangsdaten aktualisiert. - Prozedur UPDATE_CREDENTIAL
Mit dieser Prozedur wird ein Attribut mit einem neuen Wert für eine angegebenecredential_name
aktualisiert.
Übergeordnetes Thema: DBMS_CLOUD Unterprogramme und REST-APIs
Prozedur CREATE_CREDENTIAL
Diese Prozedur speichert Zugangsdaten für Cloud-Services in Autonomous Database.
Verwenden Sie gespeicherte Zugangsdaten für den Zugriff auf den Cloud-Service zum Laden von Daten, zum Abfragen externer Daten in der Cloud oder für andere Fälle, wenn Sie DBMS_CLOUD
-Prozeduren mit einem Parameter credential_name
verwenden. Diese Prozedur ist überladen:
-
Verwenden Sie die Oracle Cloud Infrastructure-bezogenen Parameter, wie
user_ocid
,tenancy_ocid
,private_key
undfingerprint
nur, wenn Sie die Oracle Cloud Infrastructure-Signaturschlüsselauthentifizierung verwenden. -
Verwenden Sie den Parameter
params
für eine der folgenden Optionen:-
Zugangsdaten für Amazon-Ressourcennamen (ARNs)
-
Google Analytics oder Google BigQuery-Zugangsdaten
-
Vault-Secret-Zugangsdaten zur Verwendung mit einem unterstützten Vault:
- Oracle Cloud Infrastructure Vault
- Azure Key Vault
- AWS Secrets Manager
- GCP-Secret Manager
-
Syntax
DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name IN VARCHAR2,
username IN VARCHAR2,
password IN VARCHAR2 DEFAULT NULL,
comments IN VARCHAR2 DEFAULT NULL);
DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name IN VARCHAR2,
user_ocid IN VARCHAR2,
tenancy_ocid IN VARCHAR2,
private_key IN VARCHAR2,
fingerprint IN VARCHAR2,
comments IN VARCHAR2 DEFAULT NULL);
DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name IN VARCHAR2,
params IN CLOB DEFAULT);
Parameter
Parameter | Beschreibung |
---|---|
|
Der Name der zu speichernden Zugangsdaten. Der Parameter |
|
Mit den Argumenten |
|
Mit den Argumenten |
|
Gibt Kommentartext für die Zugangsdaten an. Dieses Feld kann nützlich sein, um Zugangsdaten zu beschreiben und zu unterscheiden. Die maximale Kommentarlänge beträgt 3800 Zeichen. |
|
Gibt die OCID des Benutzers an. Weitere Einzelheiten zum Abrufen der OCID des Benutzers finden Sie unter Hier erhalten Sie die OCID des Mandanten und des Benutzers. |
|
Gibt die OCID des Mandanten an. Weitere Einzelheiten zum Abrufen der OCID des Mandanten finden Sie unter Hier erhalten Sie die OCID des Mandanten und des Benutzers. |
|
Gibt den generierten Private Key an. Mit einer Passphrase generierte Private Keys werden nicht unterstützt. Sie müssen den Private Key ohne Passphrase generieren. Weitere Einzelheiten zum Generieren eines Schlüsselpaares im PEM-Format finden Sie unter So generieren Sie einen API-Signaturschlüssel. |
|
Gibt einen Fingerprint an. Nachdem ein generierter Public Key in den Account des Benutzers hochgeladen wurde, wird der Fingerprint in der Konsole angezeigt. Verwenden Sie den angezeigten Fingerprint für dieses Argument. Weitere Einzelheiten finden Sie unter So rufen Sie den Fingerprint des Schlüssels ab und So generieren Sie einen API-Signaturschlüssel. |
|
Gibt Zugangsdatenparameter für einen der folgenden Parameter an:
|
Hinweise zur Verwendung
-
Dieser Vorgang speichert die Zugangsdaten in einem verschlüsselten Format in der Datenbank.
-
Sie können die Zugangsdaten in Ihrem Schema anzeigen, indem Sie die Tabelle
user_credentials
abfragen. -
Sie können die Kommentare zu den Zugangsdaten in Ihrem Schema anzeigen, indem sie die Tabelle
user_credentials
abfragen. Beispiel:SELECT comments FROM user_credentials WHERE credential_name = 'MY_CRED';
-
Der
ADMIN
-Benutzer kann alle Zugangsdaten anzeigen, indem er die Tabelledba_credentials
abfragt. -
Sie müssen Zugangsdaten nur einmal erstellen, es sei denn, Ihre Zugangsdaten für den Cloud-Service ändern sich. Nachdem Sie die Zugangsdaten gespeichert hat, können Sie denselben Zugangsdatennamen für
DBMS_CLOUD
-Prozeduren verwenden, die einencredential_name
-Parameter erfordern. -
Diese Prozedur ist überladen. Wenn Sie eines der schlüsselbasierten Authentifizierungsattribute
user_ocid
,tenancy_ocid
,private_key
oderfingerprint
angeben, wird davon ausgegangen, dass der Aufruf auf einem Oracle Cloud Infrastructure-Signaturschlüssel basierende Zugangsdaten verwendet. -
Sie können Zugangsdaten in der Ansicht
ALL_CREDENTIALS
auflisten. Beispiel: Führen Sie den folgenden Befehl aus, um Zugangsdaten aufzulisten:SELECT credential_name, username, comments FROM all_credentials;
Oracle Cloud Infrastructure-Zugangsdaten (Authentifizierungstoken)
In Oracle Cloud Infrastructure ist username
Ihr Oracle Cloud Infrastructure-Benutzername. password
ist Ihr Oracle Cloud Infrastructure-Authentifizierungstoken. Siehe Mit Authentifizierungstoken arbeiten.
Beispiel:
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name => 'DEF_CRED_NAME',
username => 'adb_user@example.com',
password => 'password' );
END;
/
Verwenden Sie Authentifizierungstoken-basierte Zugangsdaten, wenn Sie Aufrufe in OCI Object Storage authentifizieren. Bei Aufrufen eines anderen Oracle Cloud Infrastructure-Cloudservicetyps verwenden Sie schlüsselbasierte Oracle Cloud Infrastructure-Signaturzugangsdaten.
Für OCI Object Storage muss der Parameterwert username
die Identitätsdomain und den Benutzernamen aus Ihrem Profil enthalten. Die mit einem Benutzer verknüpfte Identitätsdomain finden Sie in der Oracle Cloud Infrastructure-Konsole.
Beispiel:
oracleidentitycloudservice/adb_user@example.com
Bei der Standardidentitätsdomain müssen Sie den Domainnamen Default
nicht einschließen. Beispiel:
adb_user@example.com
Schlüsselbasierte Oracle Cloud Infrastructure-Signaturzugangsdaten
Verwenden Sie die Oracle Cloud Infrastructure-Parameter für Signaturschlüssel wie user_ocid
, tenancy_ocid
, private_key
und fingerprint
mit der Oracle Cloud Infrastructure-Signaturschlüsselauthentifizierung.
Beispiel:
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL (
credential_name => ‘OCI_KEY_CRED’,
user_ocid => ‘ocid1.user.oc1..aaaaaaaauq54mi7zdyfhw33ozkwuontjceel7fok5nq3bf2vwetkpqsoa’,
tenancy_ocid => ‘ocid1.tenancy.oc1..aabbbbbbaafcue47pqmrf4vigneebgbcmmoy5r7xvoypicjqqge32ewnrcyx2a’,
private_key => ‘MIIEogIBAAKCAQEAtUnxbmrekwgVac6FdWeRzoXvIpA9+0r1.....wtnNpESQQQ0QLGPD8NM//JEBg=’,
fingerprint => ‘f2:db:f9:18:a4:aa:fc:94:f4:f6:6c:39:96:16:aa:27’);
END;
/
Mit einer Passphrase generierte Private Keys werden nicht unterstützt. Sie müssen den Private Key ohne Passphrase generieren. Weitere Informationen finden Sie unter So generieren Sie einen API-Signaturschlüssel.
Oracle Cloud Infrastructure Object Storage Classic-Zugangsdaten
Wenn sich Ihre Quelldateien in Oracle Cloud Infrastructure Object Storage Classic befinden, ist username
Ihr Oracle Cloud Infrastructure Classic-Benutzername und password
Ihr Oracle Cloud Infrastructure Classic-Kennwort.
Zugangsdaten für Amazon Web Services (AWS)
Wenn sich Ihre Quelldateien in Amazon S3 befinden oder Sie eine AWS-API aufrufen, ist username
die AWS-Zugriffsschlüssel-ID und password
der AWS-Secret-Zugriffsschlüssel. Siehe AWS Identity and Access Management.
Microsoft Azure-Zugangsdaten
Wenn sich Ihre Quelldateien in Azure Blob Storage oder Azure Data Lake Storage befinden oder Sie eine Azure-API aufrufen, ist die username
der Name Ihres Azure-Speicheraccounts und die password
ein Zugriffsschlüssel für einen Azure-Speicheraccount. Siehe Azure-Speicheraccounts.
Amazon S3-kompatible Zugangsdaten
Service | Zugangsdateninformationen |
---|---|
Oracle Cloud Infrastructure (Kunden-Secret Keys) |
Wenn sich Ihre Quelldateien in Oracle Cloud Infrastructure befinden, müssen Sie Kunden-Secret Keys mit S3-kompatiblen URLs verwenden. Weitere Informationen finden Sie unter Mit Kunden-Secret Keys arbeiten. |
Google Cloud Storage |
Wenn sich Ihre Quelldateien in Google Cloud Storage befinden oder Sie Google Cloud Storage-APIs aufrufen, müssen Sie ein Google-Standardprojekt festlegen und einen HMAC-Schlüssel abrufen, um Zugangsdaten für die Angabe mit S3-kompatiblen Google Cloud Storage-URLs zu erstellen. Verwenden Sie die HMAC-Schlüssel-ID als Benutzernamen und das HMAC-Secret als Kennwort. Weitere Informationen finden Sie unter Projekte und HMAC-Schlüssel. |
Wasabi Hot Cloud Storage |
Wenn sich Ihre Quelldateien in Wasabi Hot Cloud Storage befinden oder Sie Wasabi Hot Cloud Storage-APIs aufrufen, müssen Sie Zugriffsschlüssel erstellen, um Zugangsdaten für die Angabe mit S3-kompatiblen URLs zu erstellen. Verwenden Sie den Wasabi Hot Cloud Storage-Zugriffsschlüssel als Benutzernamen und den Wasabi Hot Cloud Storage-Secret Key als Kennwort. Weitere Informationen finden Sie unter Wasabi-API-Zugriffsschlüsselset erstellen. |
AWS Amazon-Ressourcennamen (ARN)-Zugangsdaten
Wenn Ihre Quelldateien in Amazon S3 gespeichert sind oder Sie eine AWS-API aufrufen, geben Sie mit params
die Parameter für die Amazon-Ressourcennamen (ARN) an.
Parameter | Wert |
---|---|
aws_role_arn |
Gibt den Amazon-Ressourcennamen (ARN) an, der die AWS-Rolle identifiziert. Wenn dieser Parameter beim Erstellen der Zugangsdaten nicht angegeben wird, wird |
external_id_type |
Legen Sie optional die Wenn dieser Parameter beim Erstellen der Zugangsdaten nicht angegeben wird, lautet der Standardwert |
Beispiel:
BEGIN DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name => 'MY_CRED',
params => JSON_OBJECT(
'aws_role_arn' value 'arn:aws:iam::123456:role/AWS_ROLE_ARN',
'external_id_type' value 'database_ocid'));
END;
/
Persönliches GitHub-Zugriffstoken
Wenn sich Ihre Quelldateien in einem GitHub-Repository befinden oder Sie eine GitHub-API aufrufen, ist username
Ihre GitHub-E-Mail, und password
ist Ihr persönliches Zugriffstoken GitHub. Weitere Informationen finden Sie unter Personal Access Token erstellen.
Beispiel:
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name => 'MY_GITHUB_CRED',
username => 'user@example.com',
password => 'your_personal_access_token' );
END;
/
Google Analytics oder Google BigQuery Zugangsdaten
Wenn Sie auf Google Analytics oder Google BigQuery zugreifen, geben Sie mit dem Parameter params
die Zugangsdatenparameter für Google OAuth 2.0 an.
Parameter | Wert |
---|---|
gcp_oauth2 |
Gibt den OAuth 2.0-Zugriff für Google Analytics oder Google BigQuery mit einem JSON-Objekt an, das die folgenden Parameter und deren Werte enthält:
Weitere Informationen zu Google OAuth-Zugangsdaten finden Sie unter OAuth 2.0 für den Zugriff auf Google-APIs verwenden. |
Beispiel:
BEGIN DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name => 'GOOGLE_BIGQUERY_CRED',
params => JSON_OBJECT('gcp_oauth2' value
JSON_OBJECT(
'client_id' value 'client_id',
'client_secret' value 'client_secret',
'refresh_token' value 'refresh_token' )));
END;
/
Vault-Secret-Zugangsdaten mit Oracle Cloud Infrastructure Vault
Um Vault-Secret-Zugangsdaten mit Oracle Cloud Infrastructure Vault zu erstellen, geben Sie mit dem Parameter params
die erforderlichen Parameter an:
-
username
: Gibt den Benutzernamen eines beliebigen Typs von Zugangsdaten für Benutzername/Kennwort an, wie z.B. den Benutzernamen des OCI Swift-Kennworts. Beispiel: Wenn Sie Swift-Zugangsdaten mit dem Benutzernamen "scott" und dem Kennwort "password" haben, geben Sie "scott" als Parameterusername
an. -
secret_id
: Ist die Vault-Secret-ID. Geben Sie den Wertsecret_id
als Vault-Secret-OCID an. Weitere Informationen finden Sie unter Überblick über Vault. -
region
: Ist ein optionaler Parameter, der die oracle-Cloud-Regions-ID angibt. Die Region gibt an, wo sich das Oracle Cloud Infrastructure Vault Secret befindet, sofern angegeben.Standardmäßig verwendet
CREATE_CREDENTIAL
dieregion
, die aus dem Regionsschlüssel in dersecret_id
zugeordnet ist. Ein Beispiel für eine Region istus-ashburn-1
.Eine komplette Liste der Regionen finden Sie unter Regionen und Availability-Domains.
Beispiel:
BEGIN DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name => 'OCI_SECRET_CRED',
params => JSON_OBJECT(
'username' value 'scott',
'region' value 'us-ashburn-1',
'secret_id' value 'ocid1.vaultsecret.co1.ap-mumbai-1.example..aaaaaaaauq5ok5nq3bf2vwetkpqsoa'));
END;
/
Hinweise zur Verwendung eines Oracle Cloud Infrastructure Vault-Secrets zum Speichern von Vault Secrets:
- Wenn Sie einen Oracle Cloud Infrastructure Vault verwenden, müssen Sie in der Autonomous Database-Instanz die Principal-Authentifizierung mit
DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL
aktivieren. -
In Oracle Cloud Infrastructure müssen Sie eine Policy für den Resource Principal angeben, um auf das Secret zuzugreifen.
Um Vault-Secret-Zugangsdaten zu erstellen, benötigen Sie die Berechtigung EXECUTE
für das Package DBMS_CLOUD
.
Vault-Secret-Zugangsdaten mit Azure Key Vault
Um Azure Key Vault-Zugangsdaten zu erstellen, geben Sie mit dem Parameter params
die erforderlichen Parameter an:
-
username
: Gibt den Benutzernamen an, der mit dem Schlüssel verknüpft ist. -
secret_id
: Gibt den Secret-Namen an. -
azure_vault_name
: Gibt den Namen des Vaults an, in dem sich das Secret befindet.
Weitere Informationen finden Sie unter Key Vault erstellen.
Um Vault-Secret-Zugangsdaten zu erstellen, benötigen Sie die Berechtigung EXECUTE
für das Package DBMS_CLOUD
.
Vault-Secret-Zugangsdaten mit AWS Secrets Manager
Um Vault Secret-Zugangsdaten mit AWS Secrets Manager zu erstellen, geben Sie mit dem Parameter params
die erforderlichen Parameter an:
-
username
: Gibt den Zugriffsschlüssel für AWS Secrets Manager an. -
secret_id
: Ist AWS Secrets Manager AWS ARN. -
region
: (Optional) Gibt die AWS-Serviceregion an, in der sich der Vault und das Secret befinden. Ein Beispiel für die AWS-Region ist "us-east-2". Der Standardwertregion
ist die Region, die mit der ARN im Parametersecret_id
angegeben ist.Weitere Informationen finden Sie unter AWS-Regionen verwalten.
Um Vault-Secret-Zugangsdaten zu erstellen, benötigen Sie die Berechtigung
EXECUTE
für das PackageDBMS_CLOUD
.
Vault-Secret-Zugangsdaten mit GCP Secret Manager
Um GCP Secret Manager-Zugangsdaten zu erstellen, geben Sie mit dem Parameter params
die erforderlichen Parameter an:
-
username
: Gibt den mit dem Secret verknüpften Benutzernamen an. -
secret_id
: Ist der Secret-Name. -
gcp_project_id
: Gibt die ID des Projekts an, in dem sich das Secret befindet.
Weitere Informationen finden Sie unter Secret Manager.
Um Vault-Secret-Zugangsdaten zu erstellen, benötigen Sie die Berechtigung EXECUTE
für das Package DBMS_CLOUD
.
Übergeordnetes Thema: DBMS_CLOUD für Zugriffsverwaltung
Prozedur DROP_CREDENTIAL
Diese Prozedur entfernt vorhandene Zugangsdaten aus Autonomous Database.
Syntax
DBMS_CLOUD.DROP_CREDENTIAL
(
credential_name IN VARCHAR2);
Parameter
Parameter | Beschreibung |
---|---|
|
Der Name der zu entfernenden Zugangsdaten. |
Übergeordnetes Thema: DBMS_CLOUD für Zugriffsverwaltung
Prozedur REFRESH_VAULT_CREDENTIAL
Mit dieser Prozedur wird das Vault Secret einer Vault Secret-Zugangsdaten aktualisiert.
Mit dieser Prozedur können Sie das Vault Secret einer Vault-Secret-Zugangsdaten sofort aktualisieren, um die neueste Version des Vault Secrets für die angegebene credential_name
abzurufen.
Syntax
DBMS_CLOUD.REFRESH_VAULT_CREDENTIAL
(
credential_name IN VARCHAR2);
Parameter
Parameter | Beschreibung |
---|---|
|
Der Name der zu aktualisierenden Zugangsdaten. |
Hinweise zur Verwendung
-
Der
ADMIN
-Benutzer kann alle Zugangsdaten anzeigen, indem er die Tabelledba_credentials
abfragt. -
Sie können Zugangsdaten in der Ansicht
ALL_CREDENTIALS
auflisten. Beispiel: Führen Sie den folgenden Befehl aus, um Zugangsdaten aufzulisten:SELECT credential_name, username, comments FROM all_credentials;
Beispiel
BEGIN
DBMS_CLOUD.REFRESH_VAULT_CREDENTIAL
(
credential_name => 'AZURE_SECRET_CRED');
END;
/
Übergeordnetes Thema: DBMS_CLOUD für Zugriffsverwaltung
Prozedur UPDATE_CREDENTIAL
Mit dieser Prozedur werden Attribute mit einem neuen Wert für einen angegebenen credential_name
aktualisiert.
Verwenden Sie gespeicherte Zugangsdaten zum Laden von Daten, zum Abfragen externer Daten in der Cloud oder überall, wo Sie DBMS_CLOUD
-Prozeduren mit einem credential_name
-Parameter verwenden.
Syntax
DBMS_CLOUD.UPDATE_CREDENTIAL
(
credential_name IN VARCHAR2,
attribute IN VARCHAR2,
value IN VARCHAR2);
Parameter
Parameter | Beschreibung |
---|---|
|
Der Name der zu aktualisierenden Zugangsdaten. |
|
Name des zu aktualisierenden Attributs. Für Zugangsdaten des Typs "Benutzername/Kennwort" sind die gültigen Werte für Für Zugangsdaten für eine Amazon-ARN sind die gültigen Für Zugangsdaten für Google BigQuery oder Google Analytics sind die gültigen Je nach verwendetem Vault lauten für Vault-Secret-Zugangsdaten die gültigen
attribute -Werte wie folgt:
Weitere Informationen finden Sie unter Prozedur CREATE_CREDENTIAL. |
|
Neuer Wert für das angegebene Attribut. |
Hinweise zur Verwendung
-
Beim Wert des Benutzernamens muss die Groß-/Kleinschreibung beachtet werden. Er darf keine doppelten Anführungszeichen oder Leerzeichen enthalten.
-
Der
ADMIN
-Benutzer kann alle Zugangsdaten anzeigen, indem erdba_credentials
abfragt. -
Sie müssen Zugangsdaten nur einmal erstellen, es sei denn, Ihre Zugangsdaten für den Cloud-Service ändern sich. Nachdem Sie die Zugangsdaten gespeichert hat, können Sie denselben Zugangsdatennamen für
DBMS_CLOUD
-Prozeduren verwenden, die einencredential_name
-Parameter erfordern. -
Sie können Zugangsdaten in der Ansicht
ALL_CREDENTIALS
auflisten. Beispiel: Führen Sie den folgenden Befehl aus, um Zugangsdaten aufzulisten:SELECT credential_name, username, comments FROM all_credentials;
Beispiele
BEGIN
DBMS_CLOUD.UPDATE_CREDENTIAL
(
credential_name => 'OBJ_STORE_CRED',
attribute => 'PASSWORD',
value => 'password');
END;
/
BEGIN
DBMS_CLOUD.UPDATE_CREDENTIAL
(
credential_name => 'ARN_CRED',
attribute => 'aws_role_arn',
value => 'NEW_AWS_ARN');
END;
/
Übergeordnetes Thema: DBMS_CLOUD für Zugriffsverwaltung
DBMS_CLOUD für Objekte und Dateien
Die Unterprogramme für das Objekt- und Dateiverwaltung im Package DBMS_CLOUD.
Unterprogramm | Beschreibung |
---|---|
Diese Prozedur lädt Daten aus Cloud Object Storage oder aus Dateien in einem Verzeichnis in eine vorhandene SODA-Collection. | |
Mit dieser Prozedur werden Daten aus Cloud Object Storage oder aus Dateien in einem Verzeichnis in vorhandene Autonomous Database-Tabellen geladen. | |
Bei dieser Prozedur mit dem format -Parameter type , der auf den Wert orc , parquet oder avro gesetzt ist, werden Daten aus ORC-, Parquet- oder Avro-Dateien in der Cloud oder aus ORC-, Parquet- oder Avro-Dateien in einem Verzeichnis in vorhandene Autonomous Database-Tabellen geladen.
Ähnlich wie Textdateien werden die Daten aus der Quelldatei ORC, Parquet oder Avro in die bereits vorhandene interne Tabelle kopiert. |
|
Bei dieser Prozedur werden Dateien von einem Cloud-Objektspeicher-Bucket in einen anderen kopiert. | |
Diese Prozedur erstellt eine externe Tabelle in Dateien in der Cloud oder in Dateien in einem Verzeichnis. So können Sie Abfragen für externe Daten aus Autonomous Database ausführen. | |
Prozedur CREATE_CLOUD_TABLE |
Mit dieser Prozedur wird eine Cloud-Tabelle erstellt, in der alle persistenten Daten in Oracle-Managed Object Storage gespeichert werden. |
CREATE_EXTERNAL_TABLE-Prozedur für Apache Iceberg |
Mit diesem Verfahren werden externe Tabellen für Apache Iceberg-Tabellen in den unterstützten Konfigurationen erstellt. |
CREATE_EXTERNAL_TABLE Prozedur für Avro-, ORC- oder Parquet-Dateien |
Diese Prozedur, bei der der Parameter format type auf den Wert parquet , orc oder avro gesetzt ist, erstellt eine externe Tabelle mit Dateien im Parquet-, ORC- oder Avro-Format in der Cloud oder in einem Verzeichnis.
So können Sie Abfragen für externe Daten aus Autonomous Database ausführen. |
Diese Prozedur erstellt eine externe partitionierte Tabelle mit Dateien in der Cloud. So können Sie Abfragen für externe Daten aus Autonomous Database ausführen. | |
Mit dieser Prozedur wird ein Textindex für die Objektspeicherdateien erstellt. |
|
Mit diesem Verfahren wird eine hybride partitionierte Tabelle erstellt. So können Sie Abfragen für hybride partitionierte Daten aus Autonomous Database ausführen. | |
Diese Prozedur löscht entweder alle in der Tabelle user_load_operations in Ihrem Schema protokollierten Dataload-Vorgänge oder alle Dataload-Vorgänge des angegebenen Typs, wie mit dem Parameter type angegeben.
|
|
Diese Prozedur entfernt die angegebene Datei aus dem angegebenen Verzeichnis in Autonomous Database | |
Diese Prozedur löscht das angegebene Objekt im Objektspeicher. | |
Diese Prozedur akzeptiert eine |
|
Bei dieser Prozedur wird der Textindex für die Objektspeicherdateien gelöscht. |
|
Diese Prozedur exportiert Daten aus Autonomous Database basierend auf dem Ergebnis einer Abfrage in Dateien in der Cloud. Mit dem überladenen Formular können Sie den Parameter operation_id verwenden. Abhängig von der angegebenen Option für den format -Parameter type exportiert die Prozedur Zeilen in den Cloud-Objektspeicher als Text mit den Optionen CSV, JSON, Parquet oder XML oder mit dem Zugriffstreiber ORACLE_DATAPUMP, um Daten in eine Dumpdatei zu schreiben. |
|
Diese Prozedur ist überladen. Das Prozedurformular liest ein Objekt aus dem Cloud-Objektspeicher und kopiert es in Autonomous Database. Das Funktionsformular liest ein Objekt aus Cloud Object Storage und gibt eine BLOB an Autonomous Database zurück.
|
|
Diese Funktion listet die Dateien im angegebenen Verzeichnis auf. Die Ergebnisse umfassen die Dateinamen und zusätzliche Metadaten zu den Dateien, wie die Dateigröße in Byte sowie die Zeitstempel der Erstellung und der letzten Änderung. | |
Diese Funktion listet Objekte am angegebenen Speicherort im Objektspeicher auf. Die Ergebnisse umfassen die Objektnamen und zusätzliche Metadaten zu den Objekten, wie Größe, Prüfsumme sowie Zeitstempel der Erstellung und der letzten Änderung. | |
Mit dieser Prozedur wird ein Objekt von einem Cloud-Objektspeicher-Bucket in einen anderen verschoben. | |
Diese Prozedur ist überladen. In einem Formular kopiert die Prozedur eine Datei aus Autonomous Database in den Cloud-Objektspeicher. In einer anderen Form kopiert die Prozedur eine BLOB aus Autonomous Database in den Cloud Object Storage.
|
|
Mit diesem Verfahren wird das Aktualisieren einer externen partitionierten Tabelle aus Dateien in der Cloud vereinfacht. Führen Sie diese Prozedur aus, wenn neue Partitionen hinzugefügt werden oder wenn Partitionen aus der Objektspeicherquelle für die externe partitionierte Tabelle entfernt werden. |
|
Diese Prozedur validiert die Quelldateien für eine externe Tabelle, generiert Loginformationen und speichert die Zeilen, die den für die externe Tabelle angegebenen Formatoptionen in einer Badfile-Tabelle in Autonomous Database nicht entsprechen. | |
Diese Prozedur validiert die Quelldateien für eine externe partitionierte Tabelle, generiert Loginformationen und speichert die Zeilen, die den für diese externe Tabelle angegebenen Formatoptionen in einer Badfile-Tabelle in Autonomous Database nicht entsprechen. | |
Diese Prozedur validiert die Quelldateien für eine hybride partitionierte Tabelle, generiert Loginformationen und speichert die Zeilen, die den für die mobile Tabelle angegebenen Formatoptionen in einer Badfile-Tabelle in Autonomous Database nicht entsprechen. |
- Prozedur COPY_COLLECTION
Diese Prozedur lädt Daten aus dem Cloud-Objektspeicher in eine SODA-Collection oder aus einem Verzeichnis. Wenn die angegebene SODA-Collection nicht vorhanden ist, wird sie von der Prozedur erstellt. Mit dem überladenen Formular können Sie den Parameteroperation_id
verwenden. - Prozedur COPY_DATA
Diese Prozedur lädt Daten aus Dateien aus der Cloud in vorhandene Autonomous Database-Tabellen oder aus Dateien aus einem Verzeichnis. Mit dem überladenen Formular können Sie den Parameteroperation_id
verwenden. - COPY_DATA Prozedur für Avro-, ORC- oder Parquet-Dateien
Bei dieser Prozedur wird der Parameterformat
type
auf den Wertavro
,orc
oderparquet
gesetzt, um Daten aus Avro-, ORC- oder Parquet-Dateien in der Cloud oder aus Dateien in einem Verzeichnis in vorhandene Autonomous Database-Tabellen zu laden. - Prozedur COPY_OBJECT
Mit dieser Prozedur wird ein Objekt aus einem Cloud-Objektspeicher-Bucket oder -Ordner in einen anderen kopiert. - Prozedur CREATE_CLOUD_TABLE
Mit dieser Prozedur wird eine Cloud-Tabelle erstellt. Alle Cloud-Tabellendaten werden im von Oracle verwalteten Object Storage gespeichert (Cloud-Tabellen speichern nur ihre Metadaten in der Datenbank). - Prozedur CREATE_EXTERNAL_PART_TABLE
Diese Prozedur erstellt eine externe partitionierte Tabelle in Dateien in der Cloud oder aus Dateien in einem Verzeichnis. So können Sie Abfragen für externe Daten aus Autonomous Database ausführen. - Prozedur CREATE_EXTERNAL_TABLE
Diese Prozedur erstellt eine externe Tabelle in Dateien in der Cloud oder aus Dateien in einem Verzeichnis. So können Sie Abfragen für externe Daten aus Autonomous Database ausführen. - Prozedur CREATE_EXTERNAL_TABLE für Apache Iceberg
Mit dieser Prozedur werden externe Tabellen für Apache Iceberg-Tabellen in den unterstützten Konfigurationen erstellt. - CREATE_EXTERNAL_TABLE Prozedur für Avro-, ORC- oder Parquet-Dateien
Bei dieser Prozedur wird mit dem Parameterformat
type
auf den Wertavro
,orc
oderparquet
eine externe Tabelle erstellt, die Dateien im Avro-, ORC- oder Parquet-Format in der Cloud oder in einem Verzeichnis enthält. - Prozedur CREATE_EXTERNAL_TEXT_INDEX
Mit dieser Prozedur wird ein Textindex für Object Storage-Dateien erstellt. - Prozedur CREATE_HYBRID_PART_TABLE
Mit dieser Prozedur wird eine hybride partitionierte Tabelle erstellt. Auf diese Weise können Sie Abfragen für hybride partitionierte Daten aus Autonomous Database mit Datenbankobjekten und -dateien in der Cloud oder Datenbankobjekten und -dateien in einem Verzeichnis ausführen. - Prozedur DELETE_ALL_OPERATIONS
Diese Prozedur löscht entweder alle in der Tabelleuser_load_operations
in Ihrem Schema protokollierten Dataload-Vorgänge oder alle Dataload-Vorgänge des angegebenen Typs, wie mit dem Parametertype
angegeben. - Prozedur DELETE_FILE
Diese Prozedur entfernt die angegebene Datei aus dem angegebenen Verzeichnis in Autonomous Database. - Prozedur DELETE_OBJECT
Diese Prozedur löscht das angegebene Objekt im Objektspeicher. - Prozedur DELETE_OPERATION
Diese Prozedur löscht die Dataload-Einträge für die angegebene Vorgangs-ID, die in den Tabellenuser_load_operations
oderdba_load_operations
in Ihrem Schema protokolliert wurde. - Prozedur DROP_EXTERNAL_TEXT_INDEX
Mit dieser Prozedur wird der Textindex für die Object Storage-Dateien gelöscht. - Prozedur EXPORT_DATA
Diese Prozedur exportiert Daten aus Autonomous Database basierend auf dem Ergebnis einer Abfrage. Dieses Verfahren ist überlastet und unterstützt das Schreiben von Dateien in die Cloud oder in ein Verzeichnis. - Prozedur und Funktion GET_OBJECT
Dieses Verfahren ist überladen. Dieses Prozedurformular liest ein Objekt aus dem Cloud-Objektspeicher und kopiert es in Autonomous Database. Das Funktionsformular liest ein Objekt aus Cloud Object Storage und gibt eineBLOB
an Autonomous Database zurück. - Funktion LIST_FILES
Diese Funktion listet die Dateien im angegebenen Verzeichnis auf. Die Ergebnisse umfassen die Dateinamen und zusätzliche Metadaten zu den Dateien, wie die Dateigröße in Byte sowie die Zeitstempel der Erstellung und der letzten Änderung. - Funktion LIST_OBJECTS
Diese Funktion listet Objekte am angegebenen Speicherort im Objektspeicher auf. Die Ergebnisse umfassen die Objektnamen und zusätzliche Metadaten zu den Objekten, wie Größe, Prüfsumme sowie Zeitstempel der Erstellung und der letzten Änderung. - Prozedur MOVE_OBJECT
Mit dieser Prozedur wird ein Objekt von einem Cloud-Objektspeicher-Bucket oder -Ordner in einen anderen verschoben. - Prozedur PUT_OBJECT
Dieses Verfahren ist überladen. In einem Formular kopiert die Prozedur eine Datei aus Autonomous Database in den Cloud-Objektspeicher. In einer anderen Form kopiert die Prozedur eineBLOB
aus Autonomous Database in den Cloud Object Storage. - Prozedur SYNC_EXTERNAL_PART_TABLE
Mit dieser Prozedur wird das Aktualisieren einer externen partitionierten Tabelle aus Dateien in der Cloud vereinfacht. Führen Sie diese Prozedur aus, wenn neue Partitionen hinzugefügt werden oder wenn Partitionen aus der Objektspeicherquelle für die externe partitionierte Tabelle entfernt werden. - Prozedur VALIDATE_EXTERNAL_PART_TABLE
Diese Prozedur validiert die Quelldateien für eine externe Tabelle, generiert Loginformationen und speichert die Zeilen, die den für diese externe Tabelle angegebenen Formatoptionen in einer Badfile-Tabelle in Autonomous Database nicht entsprechen. Mit dem überladenen Formular können Sie den Parameteroperation_id
verwenden. - Prozedur VALIDATE_EXTERNAL_TABLE
Diese Prozedur validiert die Quelldateien für eine externe Tabelle, generiert Loginformationen und speichert die Zeilen, die den für die externe Tabelle angegebenen Formatoptionen in einer Badfile-Tabelle in Autonomous Database nicht entsprechen. Mit dem überladenen Formular können Sie den Parameteroperation_id
verwenden. - Prozedur VALIDATE_HYBRID_PART_TABLE
Diese Prozedur validiert die Quelldateien für eine hybride partitionierte Tabelle, generiert Loginformationen und speichert die Zeilen, die den für die Hybridtabelle angegebenen Formatoptionen in einer Badfile-Tabelle in Autonomous Database nicht entsprechen. Mit dem überladenen Formular können Sie den Parameteroperation_id
verwenden.
Übergeordnetes Thema: DBMS_CLOUD Unterprogramme und REST-APIs
Prozedur COPY_COLLECTION
Diese Prozedur lädt Daten aus dem Cloud-Objektspeicher in eine SODA-Collection oder aus einem Verzeichnis. Wenn die angegebene SODA-Collection nicht vorhanden ist, wird sie von der Prozedur erstellt. Mit dem überladenen Formular können Sie den Parameter operation_id
verwenden.
Syntax
DBMS_CLOUD.COPY_COLLECTION
(
collection_name IN VARCHAR2,
credential_name IN VARCHAR2 DEFAULT NULL,
file_uri_list IN CLOB,
format IN CLOB DEFAULT NULL
);
DBMS_CLOUD.COPY_COLLECTION
(
collection_name IN VARCHAR2,
credential_name IN VARCHAR2 DEFAULT NULL,
file_uri_list IN CLOB,
format IN CLOB DEFAULT NULL,
operation_id OUT NOCOPY NUMBER
);
Parameter
Parameter | Beschreibung |
---|---|
|
Der Name der SODA-Collection, in die Daten geladen werden. Wenn bereits eine Collection mit diesem Namen vorhanden ist, werden die angegebenen Daten geladen. Andernfalls wird eine neue Collection erstellt. |
|
Der Name der Zugangsdaten für den Zugriff auf den Cloud-Objektspeicher. Sie können Dieser Parameter wird nicht verwendet, wenn Sie ein Verzeichnis mit |
|
Dieser Parameter gibt entweder eine durch Komma getrennte Liste mit Quelldatei-URIs oder ein oder mehrere Verzeichnisse und Quelldateien an. URIs für Cloud-Quelldatei Sie können Platzhalter sowie reguläre Ausdrücke in den Dateinamen in den Cloud-Quelldatei-URIs verwenden. Reguläre Ausdrücke können nur verwendet werden, wenn der Parameter Die Zeichen "*" und "?" gelten als Platzhalterzeichen, wenn der Parameter Muster regulärer Ausdrücke werden nur für den Dateinamen oder Unterordnerpfad in Ihren URIs unterstützt, und der Musterabgleich ist mit dem Musterabgleich identisch, der von der Funktion Beispiel:
Das Format der URIs ist vom benutzten Cloud-Objektspeichersystem abhängig. Weitere Einzelheiten finden Sie unter URI-Formate für DBMS_CLOUD. Weitere Informationen zur Bedingung Verzeichnis Sie können ein Verzeichnis und einen oder mehrere Dateinamen angeben oder eine durch Komma getrennte Liste von Verzeichnissen und Dateinamen verwenden. Das Format für die Angabe eines Verzeichnisses lautet: Reguläre Ausdrücke werden nicht unterstützt, wenn die Dateinamen in einem Verzeichnis angegeben werden. Sie können nur Platzhalter verwenden, um Dateinamen in einem Verzeichnis anzugeben. Das Zeichen "*" kann als Platzhalter für mehrere Zeichen verwendet werden. Das Zeichen "?" kann als Platzhalter für ein einzelnes Zeichen verwendet werden. Beispiel: Um mehrere Verzeichnisse anzugeben, verwenden Sie eine kommagetrennte Verzeichnisliste: Beispiel: Verwenden Sie doppelte Anführungszeichen, um einen Verzeichnisnamen anzugeben, bei dem die Groß-/Kleinschreibung beachtet wird. Beispiel: Um ein Anführungszeichen einzuschließen, verwenden Sie zwei Anführungszeichen. Beispiel: |
|
Die Optionen, die das Format der Quelldateien beschreiben. Diese Optionen werden als JSON-Zeichenfolge angegeben. Unterstützte Formate sind: Neben den genannten Formaten für JSON-Daten unterstützt Autonomous Database auch andere Formate. Eine Liste der Formatargumente, die von Autonomous Database unterstützt werden, finden Sie unter DBMS_CLOUD Packageformatoptionen. |
|
Mit diesem Parameter können Sie den Fortschritt und den endgültigen Status des Ladevorgangs als entsprechende ID in der View |
Beispiel
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name => 'OBJ_STORE_CRED',
username => 'user_name@oracle.com',
password => 'password'
);
DBMS_CLOUD.COPY_COLLECTION
(
collection_name => 'myCollection',
credential_name => 'OBJ_STORE_CRED',
file_uri_list => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/adbexample/b/json/o/myCollection.json'
);
END;
/
Übergeordnetes Thema: DBMS_CLOUD für Objekte und Dateien
Prozedur COPY_DATA
Diese Prozedur lädt Daten aus Dateien der Cloud in vorhandene Autonomous Database-Tabellen oder aus Dateien eines Verzeichnisses. Mit dem überladenen Formular können Sie den Parameter operation_id
verwenden.
Syntax
DBMS_CLOUD.COPY_DATA
(
table_name IN VARCHAR2,
credential_name IN VARCHAR2 DEFAULT NULL,
file_uri_list IN CLOB,
schema_name IN VARCHAR2,
field_list IN CLOB,
format IN CLOB);
DBMS_CLOUD.COPY_DATA
(
table_name IN VARCHAR2,
credential_name IN VARCHAR2 DEFAULT NULL,
file_uri_list IN CLOB DEFAULT NULL,
schema_name IN VARCHAR2 DEFAULT NULL,
field_list IN CLOB DEFAULT NULL,
format IN CLOB DEFAULT NULL
operation_id OUT NOCOPY NUMBER);
Parameter
Parameter | Beschreibung |
---|---|
|
Der Name der Zieltabelle in der Datenbank. Die Zieltabelle muss erstellt werden, bevor Sie |
|
Der Name der Zugangsdaten für den Zugriff auf den Cloud-Objektspeicher. Sie können Dieser Parameter wird nicht verwendet, wenn Sie ein Verzeichnis oder eine Tabellen-Hyperlink-URL mit |
|
Dieser Parameter gibt eine der folgenden Optionen an:
Sie können Platzhalter sowie reguläre Ausdrücke in den Dateinamen in den Cloud-Quelldatei-URIs verwenden. URIs für Cloud-Quelldatei Dieser Parameter gibt entweder eine durch Komma getrennte Liste mit Quelldatei-URIs oder ein oder mehrere Verzeichnisse und Quelldateien an. Reguläre Ausdrücke können nur verwendet werden, wenn der Parameter Die Zeichen "*" und "?" gelten als Platzhalterzeichen, wenn der Parameter Muster regulärer Ausdrücke werden nur für den Dateinamen oder Unterordnerpfad in Ihren URIs unterstützt, und der Musterabgleich ist mit dem Musterabgleich identisch, der von der Funktion Beispiel:
Das Format der URIs ist vom benutzten Cloud-Objektspeichersystem abhängig. Weitere Einzelheiten finden Sie unter URI-Formate für DBMS_CLOUD. Weitere Informationen zur Bedingung URL für Tabellen-Hyperlink Sie können einen Tabellen-Hyperlink wie folgt verwenden:
Verzeichnis Sie können ein Verzeichnis und einen oder mehrere Dateinamen angeben oder eine durch Komma getrennte Liste von Verzeichnissen und Dateinamen verwenden. Das Format für die Angabe eines Verzeichnisses lautet: Reguläre Ausdrücke werden nicht unterstützt, wenn die Dateinamen in einem Verzeichnis angegeben werden. Sie können nur Platzhalter verwenden, um Dateinamen in einem Verzeichnis anzugeben. Das Zeichen "*" kann als Platzhalter für mehrere Zeichen verwendet werden. Das Zeichen "?" kann als Platzhalter für ein einzelnes Zeichen verwendet werden. Beispiel: Um mehrere Verzeichnisse anzugeben, verwenden Sie eine kommagetrennte Verzeichnisliste: Beispiel: Verwenden Sie doppelte Anführungszeichen, um einen Verzeichnisnamen anzugeben, bei dem die Groß-/Kleinschreibung beachtet wird. Beispiel: Um ein Anführungszeichen einzuschließen, verwenden Sie zwei Anführungszeichen. Beispiel: |
|
Der Name des Schemas, in dem sich die Zieltabelle befindet. Der Standardwert ist NULL, d.h. die Zieltabelle befindet sich im selben Schema wie der Benutzer, der die Prozedur ausführt. |
|
Gibt die Felder in den Quelldateien und deren Datentypen an. Der Standardwert ist NULL, d.h. die Felder und ihre Datentypen werden durch die Zieltabellendefinition bestimmt. Die Syntax dieses Arguments entspricht der Wenn der Wert der Option Ein Beispiel mit |
|
Die Optionen, die das Format der Quell-, Log- und fehlerhaften Dateien beschreiben. Die Liste der Optionen und die Angabe der Werte finden sie unter DBMS_CLOUD Optionen für das Packageformat. Optionen für das Avro-, ORC- oder Parquet-Dateiformat finden Sie unter DBMS_CLOUD Package Format Options for Avro, ORC, or Parquet. |
|
Mit diesem Parameter können Sie den Fortschritt und den endgültigen Status des Ladevorgangs als entsprechende ID in der View |
Hinweis zur Verwendung
Das Standard-Datensatztrennzeichen ist detected newline
. Mit detected newline
versucht DBMS_CLOUD
automatisch, das richtige Zeilenvorschubzeichen zu finden, das als Datensatzbegrenzungszeichen verwendet werden soll. DBMS_CLOUD
sucht zuerst nach dem Windows-Neuzeilenzeichen \r\n
. Wird das Windows-Zeilenvorschubzeichen ermittelt, wird es als Datensatz-Begrenzungszeichen für alle Dateien in der Prozedur verwendet. If a Windows newline character is not found, DBMS_CLOUD
searches for the UNIX/Linux newline character \n
, and if it finds one it uses \n
as the record delimiter for all files in the procedure. Wenn die Quelldateien eine Kombination verschiedener Datensatzbegrenzungszeichen verwenden, kann ein Fehler wie "KUP-04020: found record longer than buffer size supported
" auftreten. In diesem Fall müssen Sie entweder die Quelldateien ändern, um dasselbe Datensatzbegrenzungszeichen zu verwenden, oder nur die Quelldateien angeben, die dasselbe Datensatzbegrenzungszeichen verwenden.
Informationen zur Formatoption recorddelmiter
finden Sie unter DBMS_CLOUD Packageformatoptionen.
Beispiele
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name => 'DEF_CRED_NAME',
username => 'user_name@oracle.com',
password => 'password'
);
END;
/
BEGIN
DBMS_CLOUD.COPY_DATA
(
table_name =>'CHANNELS',
credential_name =>'DEF_CRED_NAME',
file_uri_list =>'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/channels.txt',
format => json_object('delimiter' value ',')
);
END;
/
BEGIN
DBMS_CLOUD.COPY_DATA
(
table_name => 'ORDERS',
schema_name => 'TEST_SCHEMA',
credential_name => 'DEF_CRED_NAME',
file_uri_list => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/adbexample/b/json/o/orde[r]s.tbl.1'
format => json_object('ignoreblanklines' value TRUE,
'rejectlimit' value '0',
'dateformat' value 'yyyy-mm-dd',
'regexuri' value TRUE)
);
END;
/
Übergeordnetes Thema: DBMS_CLOUD für Objekte und Dateien
COPY_DATA Prozedur für Avro-, ORC- oder Parquet-Dateien
format
-Parameter type
, der auf den Wert avro
, orc
oder parquet
gesetzt ist, werden Daten aus Avro-, ORC- oder Parquet-Dateien in der Cloud oder aus Dateien in einem Verzeichnis in vorhandene Autonomous Database-Tabellen geladen.
Ähnlich wie Textdateien werden die Daten aus der Quelldatei Avro, ORC oder Parquet in die bereits vorhandene interne Tabelle kopiert.
Syntax
DBMS_CLOUD.COPY_DATA
(
table_name IN VARCHAR2,
credential_name IN VARCHAR2 DEFAULT NULL,
file_uri_list IN CLOB,
schema_name IN VARCHAR2 DEFAULT,
field_list IN CLOB DEFAULT,
format IN CLOB DEFAULT);
Parameter
Parameter | Beschreibung |
---|---|
|
Der Name der Zieltabelle in der Datenbank. Die Zieltabelle muss erstellt werden, bevor Sie |
|
Der Name der Zugangsdaten für den Zugriff auf den Cloud-Objektspeicher. Sie können Dieser Parameter wird nicht verwendet, wenn Sie ein Verzeichnis mit |
|
Dieser Parameter gibt entweder eine durch Komma getrennte Liste mit Quelldatei-URIs oder ein oder mehrere Verzeichnisse und Quelldateien an. URIs für Cloud-Quelldatei Sie können Platzhalter sowie reguläre Ausdrücke in den Dateinamen in den Cloud-Quelldatei-URIs verwenden. Reguläre Ausdrücke können nur verwendet werden, wenn der Parameter Die Zeichen "*" und "?" gelten als Platzhalterzeichen, wenn der Parameter Muster regulärer Ausdrücke werden nur für den Dateinamen oder Unterordnerpfad in Ihren URIs unterstützt, und der Musterabgleich ist mit dem Musterabgleich identisch, der von der Funktion Beispiel:
Das Format der URIs ist vom benutzten Cloud-Objektspeichersystem abhängig. Weitere Einzelheiten finden Sie unter URI-Formate für DBMS_CLOUD. Weitere Informationen zur Bedingung Verzeichnis Sie können ein Verzeichnis und einen oder mehrere Dateinamen angeben oder eine durch Komma getrennte Liste von Verzeichnissen und Dateinamen verwenden. Das Format für die Angabe eines Verzeichnisses lautet: Reguläre Ausdrücke werden nicht unterstützt, wenn die Dateinamen in einem Verzeichnis angegeben werden. Sie können nur Platzhalter verwenden, um Dateinamen in einem Verzeichnis anzugeben. Das Zeichen "*" kann als Platzhalter für mehrere Zeichen verwendet werden. Das Zeichen "?" kann als Platzhalter für ein einzelnes Zeichen verwendet werden. Beispiel: Um mehrere Verzeichnisse anzugeben, verwenden Sie eine kommagetrennte Verzeichnisliste: Beispiel: Verwenden Sie doppelte Anführungszeichen, um einen Verzeichnisnamen anzugeben, bei dem die Groß-/Kleinschreibung beachtet wird. Beispiel: Um ein Anführungszeichen einzuschließen, verwenden Sie zwei Anführungszeichen. Beispiel: |
|
Der Name des Schemas, in dem sich die Zieltabelle befindet. Der Standardwert ist NULL, d.h. die Zieltabelle befindet sich im selben Schema wie der Benutzer, der die Prozedur ausführt. |
|
Wird für Avro-, ORC- oder Parquet-Dateien ignoriert. Die Felder in der Quelle stimmen mit den Spalten der externen Tabelle nach Name überein. Quelldatentypen werden in den Datentyp der externen Tabellenspalte konvertiert. Informationen zu ORC-Dateien finden Sie unter DBMS_CLOUD Package ORC to Oracle Data Type Mapping. Weitere Informationen zur Zuordnung von Parquet-Dateien finden Sie unter DBMS_CLOUD Package Parquet to Oracle Data Type Mapping. Einzelheiten zum Mapping finden Sie unter DBMS_CLOUD Package Avro zu Oracle-Datentypzuordnung. |
|
Die Optionen, die das Format der Quelldateien beschreiben. Für Avro-, ORC- oder Parquet-Dateien werden nur zwei Optionen unterstützt: siehe DBMS_CLOUD Package Format Options for Avro, ORC, or Parquet. |
Hinweise zur Verwendung
-
Wie bei anderen Datendateien generieren Avro-, ORC- und Parquet-Dataloads Logs, die in den Tabellen
dba_load_operations
unduser_load_operations
angezeigt werden können. Jeder Ladevorgang fügt einen Datensatz zudba
[user]_load_operations
hinzu, der die Tabelle mit den Logs angibt.Die Logtabelle enthält zusammenfassende Informationen über den Ladevorgang.
-
Wenn für Avro, ORC oder Parquet der Parameter
format
type
auf den Wertavro
,orc
oderparquet
gesetzt ist, ist die TabelleBADFILE_TABLE
immer leer.-
Bei Parquet-Dateien lösen
PRIMARY KEY
-Constraint-Fehler einenORA
-Fehler aus. -
Wenn Daten für eine Spalte einen Konvertierungsfehler feststellen. Beispiel: Die Zielspalte ist nicht groß genug, um den konvertierten Wert aufzunehmen, wird der Wert für die Spalte auf
NULL
gesetzt. Dies führt nicht zu einem abgelehnten Datensatz.
-
Übergeordnetes Thema: DBMS_CLOUD für Objekte und Dateien
Prozedur COPY_OBJECT
Mit dieser Prozedur wird ein Objekt aus einem Cloud-Objektspeicher-Bucket oder -Ordner in einen anderen kopiert.
Der Quell- und Ziel-Bucket oder -Ordner kann sich im selben oder einem anderen Cloud-Objektspeicherprovider befinden.
Wenn sich Quelle und Ziel in unterschiedlichen Objektspeichern befinden oder unterschiedliche Accounts mit demselben Cloud-Provider haben, können Sie separate Zugangsdatennamen für die Quell- und Zielspeicherorte angeben.
Der Name der Quellzugangsdaten wird standardmäßig auch vom Zielspeicherort verwendet, wenn kein Zielzugangsdatenname angegeben ist.
Syntax
DBMS_CLOUD.COPY_OBJECT
(
source_credential_name IN VARCHAR2 DEFAULT NULL,
source_object_uri IN VARCHAR2,
target_object_uri IN VARCHAR2,
target_credential_name IN VARCHAR2 DEFAULT NULL
);
Parameter
Parameter | Beschreibung |
---|---|
|
Der Name der Zugangsdaten für den Zugriff auf den Cloud-Quellobjektspeicher. Sie können Wenn Sie keinen |
|
Gibt den URI an, der auf den Quell-Object Storage-Bucket oder den Quellordner verweist. Dieser Parameter ist obligatorisch. Das Format der URIs ist vom Cloud-Objektspeicherservice abhängig. Weitere Informationen finden Sie unter DBMS_CLOUD URI-Formate. |
|
Gibt die URI für den Zielobjektspeicher an. Dieser Parameter ist obligatorisch. Das Format der URIs ist vom Cloud-Objektspeicherservice abhängig. Weitere Informationen finden Sie unter DBMS_CLOUD URI-Formate. |
|
Der Name der Zugangsdaten für den Zugriff auf den Cloud-Objektspeicherort des Ziels. Sie können Wenn Sie keinen |
Beispiel
BEGIN
DBMS_CLOUD.COPY_OBJECT
(
source_credential_name => 'OCI_CRED',
source_object_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname1/bgfile.csv',
target_object_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname2/myfile.csv'
);
END;
/
Übergeordnetes Thema: DBMS_CLOUD für Objekte und Dateien
Prozedur CREATE_CLOUD_TABLE
Mit diesem Verfahren wird eine Cloud-Tabelle erstellt. Alle Cloud-Tabellendaten werden im von Oracle verwalteten Object Storage gespeichert (Cloud-Tabellen speichern nur ihre Metadaten in der Datenbank).
Syntax
DBMS_CLOUD.CREATE_CLOUD_TABLE
(
table_name IN VARCHAR2,
column_list IN CLOB,
params IN CLOB);
Parameter
Parameter | Beschreibung |
---|---|
|
Der Name der Cloud-Tabelle. |
|
Durch Komma getrennte Liste der Spaltennamen und Datentypen für die Cloud-Tabelle. |
Hinweise zur Verwendung
-
DEFAULT
-Attribute: Diecolumn_list
kann dieDEFAULT
-Klausel enthalten, die wie dieDEFAULT
-Klausel in einer normalenCREATE TABLE
-Klausel funktioniert. Informationen zum Verhalten derDEFAULT
-Klausel finden Sie unter CREATE TABLE. -
Mit
DROP TABLE
können Sie eine Cloud-Tabelle löschen. Cloud-Tabellen unterstützen den Papierkorb nicht.Beispiel:
DROP TABLE CLOUD_TAB1;
-
Sie können
SELECT
-,INSERT
- undUPDATE
-Berechtigungen für eine Cloud-Tabelle erteilen. Einer Cloud-Tabelle können keine anderen Berechtigungen erteilt werden.Weitere Informationen finden Sie unter Konfigurieren von Berechtigungen und Rollenautorisierung.
Beispiele
EXEC DBMS_CLOUD.CREATE_CLOUD_TABLE
( 'CLOUD_TAB1', 'I INTEGER, J INTEGER' );
BEGIN
DBMS_CLOUD.CREATE_CLOUD_TABLE
(
table_name => 'CLOUD_TABLE_WITH_DEFAULT',
column_list => 'I INTEGER,
A VARCHAR2(32) DEFAULT ''ABC''' );
END;
/
Übergeordnetes Thema: DBMS_CLOUD für Objekte und Dateien
Prozedur CREATE_EXTERNAL_PART_TABLE
Diese Prozedur erstellt eine externe partitionierte Tabelle auf Dateien in der Cloud oder aus Dateien in einem Verzeichnis. So können Sie Abfragen für externe Daten aus Autonomous Database ausführen.
Syntax
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
(
table_name IN VARCHAR2,
credential_name IN VARCHAR2,
partitioning_clause IN CLOB,
column_list IN CLOB,
field_list IN CLOB DEFAULT,
format IN CLOB DEFAULT);
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
(
table_name IN VARCHAR2,
credential_name IN VARCHAR2,
file_uri_list IN VARCHAR2,
column_list IN CLOB,
field_list IN CLOB DEFAULT,
format IN CLOB DEFAULT);
Parameter
Parameter | Beschreibung |
---|---|
|
Der Name der externen Tabelle |
|
Der Name der Zugangsdaten für den Zugriff auf den Cloud-Objektspeicher. Sie können |
|
Gibt die vollständige Partitionierungsklausel an, einschließlich der Speicherortinformationen für einzelne Partitionen. Wenn Sie den Parameter |
|
Dieser Parameter gibt entweder eine durch Komma getrennte Liste mit Quelldatei-URIs oder ein oder mehrere Verzeichnisse und Quelldateien an. URIs für Cloud-Quelldatei Sie können Platzhalter sowie reguläre Ausdrücke in den Dateinamen in den Cloud-Quelldatei-URIs verwenden. Reguläre Ausdrücke können nur verwendet werden, wenn der Parameter Die Zeichen "*" und "?" gelten als Platzhalterzeichen, wenn der Parameter Muster regulärer Ausdrücke werden nur für den Dateinamen oder Unterordnerpfad in Ihren URIs unterstützt, und der Musterabgleich ist mit dem Musterabgleich identisch, der von der Funktion Diese Option wird nur bei externen Tabellen unterstützt, die für eine Datei in Object Storage erstellt werden. Beispiel:
Wenn Sie den Parameter Das Format der URIs ist vom Cloud-Objektspeicherservice abhängig. Weitere Informationen finden Sie unter DBMS_CLOUD URI-Formate. Weitere Informationen zur Bedingung |
|
Durch Komma getrennte Liste der Spaltennamen und Datentypen für die externe Tabelle. Dieser Parameter hat die folgenden Anforderungen, je nach Typ der mit dem Parameter
|
|
Gibt die Felder in den Quelldateien und deren Datentypen an. Der Standardwert ist NULL, d.h. die Felder und ihre Datentypen werden durch den Parameter column_list bestimmt. Die Syntax dieses Arguments entspricht der |
|
Die Formatoption
Wenn die Datendateien unstrukturiert sind und die Unterklausel Bei Objektnamen, die nicht auf dem Hive-Format basieren, muss die Reihenfolge der angegebenen Alle Parameteroptionen für |
Hinweise zur Verwendung
-
Sie können diese Prozedur nicht mit den Parametern
partitioning_clause
undfile_uri_list
aufrufen. -
Die Angabe des Parameters
column_list
ist bei strukturierten Datendateien, einschließlich Avro-, Parquet- oder ORC-Datendateien, optional. Wenncolumn_list
nicht angegeben ist, muss die Optionformat
-Parameterpartition_columns
sowohlname
als auchtype
enthalten. -
Der Parameter
column_list
ist für unstrukturierte Datendateien erforderlich, wie CSV-Textdateien. -
Die Prozedur
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
unterstützt externe partitionierte Dateien in den unterstützten Cloud-Objektspeicherservices, einschließlich:-
Oracle Cloud Infrastructure Object Storage
-
Azure Blob Storage oder Azure Data Lake Storage
-
Amazon S3
-
Amazon S3-kompatibel, einschließlich: Oracle Cloud Infrastructure Object Storage, Google Cloud Storage und Wasabi Hot Cloud Storage.
-
GitHub-Repository
Weitere Informationen finden Sie unter DBMS_CLOUD URI-Formate.
-
-
Das Verfahren
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
unterstützt externe partitionierte Dateien in Verzeichnissen, entweder in einem lokalen Dateisystem oder in einem Netzwerkdateisystem. -
Wenn Sie
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
mit dem Parameterfile_uri_list
aufrufen, müssen die im Dateinamen des Cloud-Objektspeichers angegebenen Spaltentypen einen der folgenden Typen aufweisen:VARCHAR2(n) NUMBER(n) NUMBER(p,s) NUMBER DATE TIMESTAMP(9)
-
Das Standard-Datensatztrennzeichen ist
detected newline
. Mitdetected newline
versuchtDBMS_CLOUD
automatisch, das richtige Zeilenvorschubzeichen zu finden, das als Datensatzbegrenzungszeichen verwendet werden soll.DBMS_CLOUD
sucht zuerst nach dem Windows-Neuzeilenzeichen\r\n
. Wird das Windows-Zeilenvorschubzeichen ermittelt, wird es als Datensatz-Begrenzungszeichen für alle Dateien in der Prozedur verwendet. If a Windows newline character is not found,DBMS_CLOUD
searches for the UNIX/Linux newline character\n
, and if it finds one it uses\n
as the record delimiter for all files in the procedure. Wenn die Quelldateien eine Kombination verschiedener Datensatzbegrenzungszeichen verwenden, kann ein Fehler wie "KUP-04020: found record longer than buffer size supported
" auftreten. In diesem Fall müssen Sie entweder die Quelldateien ändern, um dasselbe Datensatzbegrenzungszeichen zu verwenden, oder nur die Quelldateien angeben, die dasselbe Datensatzbegrenzungszeichen verwenden.Informationen zur Formatoption
recorddelmiter
finden Sie unter DBMS_CLOUD Packageformatoptionen. -
Die externen partitionierten Tabellen, die Sie mit
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
erstellen, enthalten zwei unsichtbare Spaltenfile$path
undfile$name
. Mit diesen Spalten können Sie ermitteln, aus welcher Datei ein Datensatz stammt.-
file$path
: Gibt den Dateipfadtext bis zum Anfang des Objektnamens an. -
file$name
: Gibt den Objektnamen an, einschließlich des gesamten Textes, der dem Bucket-Namen folgt.
-
Beispiele
Beispiel mit dem Parameter partitioning_clause
:
BEGIN
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
(
table_name =>'PET1',
credential_name =>'OBJ_STORE_CRED',
format => json_object('delimiter' value ',', 'recorddelimiter' value 'newline', 'characterset' value 'us7ascii'),
column_list => 'col1 number, col2 number, col3 number',
partitioning_clause => 'partition by range (col1)
(partition p1 values less than (1000) location
( ''&base_URL//file_11.txt'')
,
partition p2 values less than (2000) location
( ''&base_URL/file_21.txt'')
,
partition p3 values less than (3000) location
( ''&base_URL/file_31.txt'')
)'
);
END;
/
BEGIN
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
(
table_name => 'PET',
format => json_object('delimiter'value ','),
column_list => 'name varchar2(20), gender varchar2(10), salary number',
partitioning_clause => 'partition by range (salary)
( -- Use test1.csv in the DEFAULT DIRECTORY DATA_PUMP_DIR
partition p1 values less than (100) LOCATION (''test1.csv''),
-- Use test2.csv in a specified directory MY_DIR
partition p2 values less than (300) DEFAULT DIRECTORY MY_DIR LOCATION (''test2.csv'') )' );
END;
/
Beispiel für die Parameter file_uri_list
und column_list
mit unstrukturierten Datendateien:
BEGIN
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
(
table_name => 'MYSALES',
credential_name => 'DEF_CRED_NAME',
file_uri_list => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/*.csv',
column_list => 'product varchar2(100), units number, country varchar2(100), year number, month varchar2(2)',
field_list => 'product, units', --[Because country, year and month are not in the file, they are not listed in the field list]
format => '{"type":"csv", "partition_columns":["country","year","month"]}');
END;
/
Beispiel mit dem Parameter file_uri_list
ohne den Parameter column_list
mit strukturierten Datendateien:
BEGIN
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
(
table_name => 'MYSALES',
credential_name => 'DEF_CRED_NAME',
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
(
table_name => 'MYSALES',
credential_name => 'DEF_CRED_NAME',
file_uri_list => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/*.parquet',
format =>
json_object('type' value 'parquet', 'schema' value 'first',
'partition_columns' value
json_array(
json_object('name' value 'country', 'type' value 'varchar2(100)'),
json_object('name' value 'year', 'type' value 'number'),
json_object('name' value 'month', 'type' value 'varchar2(2)')
)
)
);
END;
/
Übergeordnetes Thema: DBMS_CLOUD für Objekte und Dateien
Prozedur CREATE_EXTERNAL_TABLE
Diese Prozedur erstellt eine externe Tabelle in Dateien in der Cloud oder aus Dateien in einem Verzeichnis. So können Sie Abfragen für externe Daten aus Autonomous Database ausführen.
Syntax
DBMS_CLOUD.CREATE_EXTERNAL_TABLE
(
table_name IN VARCHAR2,
credential_name IN VARCHAR2 DEFAULT NULL,
file_uri_list IN CLOB,
column_list IN CLOB,
field_list IN CLOB DEFAULT,
format IN CLOB DEFAULT);
Parameter
Parameter | Beschreibung |
---|---|
|
Der Name der externen Tabelle |
|
Der Name der Zugangsdaten für den Zugriff auf den Cloud-Objektspeicher. Sie können Dieser Parameter wird nicht verwendet, wenn Sie ein Verzeichnis oder eine Tabellen-Hyperlink-URL mit |
|
Dieser Parameter gibt eine der folgenden Optionen an:
URIs für Cloud-Quelldatei Sie können Platzhalter sowie reguläre Ausdrücke in den Dateinamen in den Cloud-Quelldatei-URIs verwenden. Reguläre Ausdrücke können nur verwendet werden, wenn der Parameter Die Zeichen "*" und "?" gelten als Platzhalterzeichen, wenn der Parameter Muster regulärer Ausdrücke werden nur für den Dateinamen oder Unterordnerpfad in Ihren URIs unterstützt, und der Musterabgleich ist mit dem Musterabgleich identisch, der von der Funktion Diese Option wird nur bei externen Tabellen unterstützt, die für eine Datei in Object Storage erstellt werden. Beispiel:
Das Format der URIs ist vom benutzten Cloud-Objektspeichersystem abhängig. Weitere Einzelheiten finden Sie unter URI-Formate für DBMS_CLOUD. Weitere Informationen zur Bedingung URL für Tabellen-Hyperlink Mit einem Tabellen-Hyperlink-URL können Sie eine externe Tabelle wie folgt erstellen:
Verzeichnis
Hinweis Weitere Informationen finden Sie unter Info zu Tabellenhyperlinks in Autonomous Database und Prozedur CREATE_URL.
Tabellen-Hyperlink-URLs unterstützen keine Platzhalter. Sie können ein Verzeichnis und einen oder mehrere Dateinamen angeben oder eine durch Komma getrennte Liste von Verzeichnissen und Dateinamen verwenden. Das Format für die Angabe eines Verzeichnisses lautet: Reguläre Ausdrücke werden nicht unterstützt, wenn die Dateinamen in einem Verzeichnis angegeben werden. Sie können nur Platzhalter verwenden, um Dateinamen in einem Verzeichnis anzugeben. Das Zeichen "*" kann als Platzhalter für mehrere Zeichen verwendet werden. Das Zeichen "?" kann als Platzhalter für ein einzelnes Zeichen verwendet werden. Beispiel: Um mehrere Verzeichnisse anzugeben, verwenden Sie eine kommagetrennte Verzeichnisliste: Beispiel: Verwenden Sie doppelte Anführungszeichen, um einen Verzeichnisnamen anzugeben, bei dem die Groß-/Kleinschreibung beachtet wird. Beispiel: Um ein Anführungszeichen einzuschließen, verwenden Sie zwei Anführungszeichen. Beispiel: |
|
Durch Komma getrennte Liste der Spaltennamen und Datentypen für die externe Tabelle. |
|
Gibt die Felder in den Quelldateien und deren Datentypen an. Der Standardwert ist NULL, d.h. die Felder und ihre Datentypen werden durch den Parameter |
|
Die Optionen, die das Format der Quelldateien beschreiben. Die Liste der Optionen und die Angabe der Werte finden sie unter DBMS_CLOUD Optionen für das Packageformat. Dateien im Avro-, ORC- oder Parquet-Format finden Sie unter CREATE_EXTERNAL_TABLE Procedure for Avro, ORC, or Parquet Files. |
Hinweise zur Verwendung
-
Die Prozedur
DBMS_CLOUD.CREATE_EXTERNAL_TABLE
unterstützt externe partitionierte Dateien in den unterstützten Cloud-Objektspeichermedien. Dazu gehören:-
Oracle Cloud Infrastructure Object Storage
-
Azure Blob Storage oder Azure Data Lake Storage
-
Amazon S3
-
Amazon S3-kompatibel, einschließlich: Oracle Cloud Infrastructure Object Storage, Google Cloud Storage und Wasabi Hot Cloud Storage.
-
GitHub-Repository
-
Oracle Cloud Infrastructure Object Storage mit Tabellen-Hyperlink-URLs
Die Zugangsdaten stellen eine Eigenschaft auf Tabellenebene dar. Daher müssen sich die externen Dateien in demselben Objektspeicher befinden.
Weitere Informationen finden Sie unter DBMS_CLOUD URI-Formate.
-
-
Das Standard-Datensatztrennzeichen ist
detected newline
. Mitdetected newline
versuchtDBMS_CLOUD
automatisch, das richtige Zeilenvorschubzeichen zu finden, das als Datensatzbegrenzungszeichen verwendet werden soll.DBMS_CLOUD
sucht zuerst nach dem Windows-Neuzeilenzeichen\r\n
. Wird das Windows-Zeilenvorschubzeichen ermittelt, wird es als Datensatz-Begrenzungszeichen für alle Dateien in der Prozedur verwendet. If a Windows newline character is not found,DBMS_CLOUD
searches for the UNIX/Linux newline character\n
, and if it finds one it uses\n
as the record delimiter for all files in the procedure. Wenn die Quelldateien eine Kombination verschiedener Datensatzbegrenzungszeichen verwenden, kann ein Fehler wie "KUP-04020: found record longer than buffer size supported
" auftreten. In diesem Fall müssen Sie entweder die Quelldateien ändern, um dasselbe Datensatzbegrenzungszeichen zu verwenden, oder nur die Quelldateien angeben, die dasselbe Datensatzbegrenzungszeichen verwenden.Informationen zur Formatoption
recorddelimiter
finden Sie unter DBMS_CLOUD Packageformatoptionen.
Beispiel
BEGIN
DBMS_CLOUD.CREATE_EXTERNAL_TABLE
(
table_name =>'WEATHER_REPORT_DOUBLE_DATE',
credential_name =>'OBJ_STORE_CRED',
file_uri_list =>'&base_URL/Charlotte_NC_Weather_History_Double_Dates.csv',
format => json_object('type' value 'csv', 'skipheaders' value '1'),
field_list => 'REPORT_DATE DATE''mm/dd/yy'',
REPORT_DATE_COPY DATE ''yyyy-mm-dd'',
ACTUAL_MEAN_TEMP,
ACTUAL_MIN_TEMP,
ACTUAL_MAX_TEMP,
AVERAGE_MIN_TEMP,
AVERAGE_MAX_TEMP,
AVERAGE_PRECIPITATION',
column_list => 'REPORT_DATE DATE,
REPORT_DATE_COPY DATE,
ACTUAL_MEAN_TEMP NUMBER,
ACTUAL_MIN_TEMP NUMBER,
ACTUAL_MAX_TEMP NUMBER,
AVERAGE_MIN_TEMP NUMBER,
AVERAGE_MAX_TEMP NUMBER,
AVERAGE_PRECIPITATION NUMBER');
END;
/
SELECT * FROM WEATHER_REPORT_DOUBLE_DATE where
actual_mean_temp > 69 and actual_mean_temp < 74
Übergeordnetes Thema: DBMS_CLOUD für Objekte und Dateien
CREATE_EXTERNAL_TABLE-Prozedur für Apache Iceberg
Mit diesem Verfahren werden externe Tabellen für Apache Iceberg-Tabellen in den unterstützten Konfigurationen erstellt.
- Iceberg-Tabellen auf AWS:
- Bei AWS Glue Data Catalog registrierte Iceberg-Tabellen, die mit Spark oder Athena erstellt wurden.
Weitere Informationen finden Sie unter Mit dem AWS Glue-Connector können Sie Apache Iceberg-Tabellen mit ACID-Transaktionen lesen und schreiben sowie Zeitreisen durchführen und Eisberg-Tabellen verwenden.
- Iceberg-Tabellen, die auf AWS S3 gespeichert sind, indem Sie direkt die URL für die Root-Metadatendatei angeben.
- Bei AWS Glue Data Catalog registrierte Iceberg-Tabellen, die mit Spark oder Athena erstellt wurden.
- Iceberg-Tabellen auf OCI:
- Iceberg-Tabellen, die mit OCI Data Flow mit einem Hadoop-Katalog generiert wurden.
Weitere Informationen finden Sie unter Oracle Data Flow-Beispiele und Hadoop-Katalog verwenden.
- In OCI Object Storage gespeicherte Iceberg-Tabellen, indem die URL für die Root-Metadatendatei direkt angegeben wird.
- Iceberg-Tabellen, die mit OCI Data Flow mit einem Hadoop-Katalog generiert wurden.
Syntax
DBMS_CLOUD.CREATE_EXTERNAL_TABLE (
table_name IN VARCHAR2,
credential_name IN VARCHAR2 DEFAULT NULL,
file_uri_list IN CLOB,
column_list IN CLOB DEFAULT NULL,
field_list IN CLOB DEFAULT NULL,
format IN CLOB DEFAULT NULL
);
Parameter
Parameter | Beschreibung |
---|---|
|
Der Name der externen Tabelle |
|
Der Name der Zugangsdaten, die für den Zugriff auf die Datendateien, die Metadatendateien und den Iceberg-Katalog verwendet werden (sofern verwendet). Bei AWS- und OCI-Konfigurationen müssen die Zugangsdaten wie unter Prozedur CREATE_CREDENTIAL beschrieben erstellt werden. AWS Amazon Resource Names-(ARN-)Zugangsdaten werden derzeit nicht unterstützt. |
|
Muss NULL sein, wenn ein Iceberg-Katalog angegeben ist (siehe Parameter format unten). Wenn kein Eisbergkatalog verwendet wird, muss die file_uri_list die URI für die Eisberg-Metadatendatei enthalten.
|
|
Muss NULL sein, da die Spaltennamen und -typen automatisch aus Iceberg-Metadaten abgeleitet werden. Die Spaltennamen entsprechen den Namen in den zugrunde liegenden Datendateien (Parquet, Avro, ORC). Die Oracle-Datentypen werden anhand der Parquet-/Avro-/ORC-Zuordnungen zwischen Iceberg und den Datentypen Parquet, Avro und ORC abgeleitet. Daher können Benutzer die |
|
Muss NULL sein, da Spaltennamen und Datentypen automatisch aus den Iceberg-Metadaten abgeleitet werden. |
|
Der Parameter Weitere Informationen finden Sie unter Iceberg-Unterstützung für OCI Data Flow-Beispiele und DBMS_CLOUD URI-Formate. |
Beispielformatparameter für AWS Iceberg-Tabellen mit einem AWS Glue-Katalog
Ein Beispielparameter format
beim Erstellen von Tabellen über eine AWS Iceberg-Tabelle mit einem AWS Glue-Katalog lautet wie folgt:
format => json_object('access_protocol' value
json_object('protocol_type' value 'iceberg',
'protocol_config' value
json_object('iceberg_catalog_type' value 'aws_glue',
'iceberg_glue_region' value 'glue region',
'iceberg_table_path' value 'database_name.table_name')));
access_protocol
ein JSON-Objekt mit zwei Elementen wie folgt:
protocol_type
: Muss "iceberg" seinprotocol_config
: Ein verschachteltes JSON-Objekt, das die Iceberg-Katalogdetails angibt.iceberg_catalog_type
: Muss'aws_glue'
seiniceberg_glue_region
: Die Katalogregion, z.B.'us-west-1'
iceberg_table_path
: Einglue database.glue table name
-Pfad.
Beispielformatparameter für AWS Iceberg-Tabelle mit einer Metadatendatei-URI
format
beim Erstellen von Tabellen über eine AWS Iceberg-Tabelle mit einer Metadatendatei-URI lautet wie folgt:format => json_object('access_protocol' value
json_object('protocol_type' value 'iceberg')
Beispielformatparameter für OCI Iceberg-Tabelle mit HadoopCatalog-Katalog
format
beim Erstellen von Tabellen über eine OCI Iceberg-Tabelle, die von OCI Data Flow mit dem HadoopCatalog-Katalog erstellt wurde, lautet wie folgt:format => json_object('access_protocol' value
json_object('protocol_type' value 'iceberg',
'protocol_config' value
json_object('iceberg_catalog_type' value 'hadoop',
'iceberg_warehouse' value '<OCI folder URI>',
'iceberg_table_path' value 'database_name.table_name')));
access_protocol
ein JSON-Objekt mit zwei Elementen wie folgt:
protocol_type
: Muss'iceberg'
seinprotocol_config
: Ein verschachteltes JSON-Objekt, das die Iceberg-Katalogdetails angibt.iceberg_catalog_type
: Muss'hadoop'
seiniceberg_warehouse
: Der Warehouse-Verzeichnispfad, der beim Generieren der Tabelle im nativen URI-Format verwendet wird.iceberg_table_path
: Der Pfaddatabase_name.table name
, der beim Erstellen der Tabelle verwendet wird.
Beispielformatparameter für OCI Iceberg-Tabelle mit der URI der Metadatendatei
format
beim Erstellen von Tabellen über eine OCI Iceberg-Tabelle mit der URI der Metadatendatei lautet wie folgt:format => json_object('access_protocol' value
json_object('protocol_type' value 'iceberg')
access_protocol
ein JSON-Objekt mit einem Element wie folgt:
protocol_type
: Muss'iceberg'
sein
Übergeordnetes Thema: DBMS_CLOUD für Objekte und Dateien
CREATE_EXTERNAL_TABLE Prozedur für Avro-, ORC- oder Parquet-Dateien
format
type
, der auf den Wert avro
, orc
oder parquet
gesetzt ist, wird eine externe Tabelle mit Dateien im Avro-, ORC- oder Parquet-Format in der Cloud oder in einem Verzeichnis erstellt.
So können Sie Abfragen für externe Daten aus Autonomous Database ausführen.
Syntax
DBMS_CLOUD.CREATE_EXTERNAL_TABLE
(
table_name IN VARCHAR2,
credential_name IN VARCHAR2 DEFAULT NULL,
file_uri_list IN CLOB,
column_list IN CLOB,
field_list IN CLOB DEFAULT,
format IN CLOB DEFAULT);
Parameter
Parameter | Beschreibung |
---|---|
|
Der Name der externen Tabelle |
|
Der Name der Zugangsdaten für den Zugriff auf den Cloud-Objektspeicher. Sie können Dieser Parameter wird nicht verwendet, wenn Sie ein Verzeichnis mit |
|
Dieser Parameter gibt entweder eine durch Komma getrennte Liste mit Quelldatei-URIs oder ein oder mehrere Verzeichnisse und Quelldateien an. URIs für Cloud-Quelldatei Sie können Platzhalter sowie reguläre Ausdrücke in den Dateinamen in den Cloud-Quelldatei-URIs verwenden. Reguläre Ausdrücke können nur verwendet werden, wenn der Parameter Die Zeichen "*" und "?" gelten als Platzhalterzeichen, wenn der Parameter Muster regulärer Ausdrücke werden nur für den Dateinamen oder Unterordnerpfad in Ihren URIs unterstützt, und der Musterabgleich ist mit dem Musterabgleich identisch, der von der Funktion Diese Option wird nur bei externen Tabellen unterstützt, die für eine Datei in Object Storage erstellt werden. Beispiel:
Das Format der URIs ist vom benutzten Cloud-Objektspeichersystem abhängig. Weitere Einzelheiten finden Sie unter URI-Formate für DBMS_CLOUD. Weitere Informationen zur Bedingung Verzeichnis Sie können ein Verzeichnis und einen oder mehrere Dateinamen angeben oder eine durch Komma getrennte Liste von Verzeichnissen und Dateinamen verwenden. Das Format für die Angabe eines Verzeichnisses lautet: Reguläre Ausdrücke werden nicht unterstützt, wenn die Dateinamen in einem Verzeichnis angegeben werden. Sie können nur Platzhalter verwenden, um Dateinamen in einem Verzeichnis anzugeben. Das Zeichen "*" kann als Platzhalter für mehrere Zeichen verwendet werden. Das Zeichen "?" kann als Platzhalter für ein einzelnes Zeichen verwendet werden. Beispiel: Um mehrere Verzeichnisse anzugeben, verwenden Sie eine kommagetrennte Verzeichnisliste: Beispiel: Verwenden Sie doppelte Anführungszeichen, um einen Verzeichnisnamen anzugeben, bei dem die Groß-/Kleinschreibung beachtet wird. Beispiel: Um ein Anführungszeichen einzuschließen, verwenden Sie zwei Anführungszeichen. Beispiel: |
|
(Optional) Wenn dieses Feld angegeben wird, wird der Parameter Wenn die Weitere Informationen zu Parquet-Dateien finden Sie unter DBMS_CLOUD Package Parquet to Oracle Data Type Mapping. Weitere Informationen zu ORC-Dateien finden Sie unter DBMS_CLOUD Package ORC to Oracle Data Type Mapping. Weitere Informationen zu Avro-Dateien finden Sie unter DBMS_CLOUD Package Avro to Oracle Data Type Mapping. |
|
Wird für Avro-, ORC- oder Parquet-Dateien ignoriert. Die Felder in der Quelle stimmen mit den Spalten der externen Tabelle nach Name überein. Quelldatentypen werden in den Datentyp der externen Tabellenspalte konvertiert. Informationen zu ORC-Dateien finden Sie unter DBMS_CLOUD Package ORC to Oracle Data Type Mapping Weitere Informationen zu Parquet-Dateien finden Sie unter DBMS_CLOUD Package Parquet to Oracle Data Type Mapping. Weitere Informationen zu Avro-Dateien finden Sie unter DBMS_CLOUD Package Avro to Oracle Data Type Mapping. |
|
For Avro, ORC, or Parquet |
Beispiele ORC
format => '{"type":"orc", "schema": "all"}'
format => json_object('type' value 'orc', 'schema' value 'first')
Beispiele Avro
format => '{"type":"avro", "schema": "all"}'
format => json_object('type' value 'avro', 'schema' value 'first')
Beispiele Parkett
format => '{"type":"parquet", "schema": "all"}'
format => json_object('type' value 'parquet', 'schema' value 'first')
Zuordnung von Avro-, ORC- oder Parquet-Spaltennamen zu Oracle-Spaltennamen
Informationen zur Zuordnung von Spaltennamen und zur Konvertierung von Spaltennamen in Oracle SQL finden Sie unter DBMS_CLOUD Package Avro, ORC und Parquet to Oracle Column Name Mapping.
Übergeordnetes Thema: DBMS_CLOUD für Objekte und Dateien
Prozedur CREATE_EXTERNAL_TEXT_INDEX
Mit dieser Prozedur wird ein Textindex für Object Storage-Dateien erstellt.
Die Prozedur CREATE_EXTERNAL_TEXT_INDEX
erstellt einen Textindex für die Object Storage-Dateien, die im Verzeichnis location_uri
angegeben sind. Der Index wird in regelmäßigen Abständen aktualisiert, für alle neuen Ergänzungen oder Löschungen, die mit Dateien auf der URI des Standorts vorgenommen werden.
Syntax
DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
(
credential_name IN VARCHAR2 DEFAULT NULL,
location_uri IN VARCHAR2,
index_name IN VARCHAR2,
format IN CLOB DEFAULT NULL
);
Parameter
Parameter | Beschreibung |
---|---|
|
Der Name der Zugangsdaten für den Zugriff auf den Cloud-Objektspeicherort. Bei öffentlichen, vorab authentifizierten oder vorab signierten Bucket-URIs kann ein NULL-Wert angegeben werden. Weitere Informationen finden Sie unter Policys und Rollen zum Zugriff auf Ressourcen konfigurieren. Wenn Sie keinen |
location_uri |
Gibt den Objektspeicher-Bucket oder die Ordner-URI an. Dieser Parameter ist obligatorisch. Das Format der URIs ist vom Cloud-Objektspeicherservice abhängig. Weitere Informationen finden Sie unter DBMS_CLOUD URI-Formate. |
index_name |
Gibt den Namen des Index an, den Sie für die Dateien am Speicherort location_uri erstellen.
Dieser Parameter ist obligatorisch. |
|
Gibt zusätzliche Konfigurationsoptionen an. Optionen werden als JSON-Zeichenfolge angegeben. Folgende Formatoptionen werden unterstützt:
Der Wert Sie können Stoppwörter mit den folgenden Methoden angeben:
Wenn Sie keinen Parameter |
Beispiel
BEGIN
DBMS_CLOUD.CREATE_EXTERNAL_TEXT_INDEX
(
credential_name => 'DEFAULT_CREDENTIAL',
location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/ts_data/'
index_name => 'EMP',
format => JSON_OBJECT ('refresh_rate' value 10)
);
END;
/
Übergeordnetes Thema: DBMS_CLOUD für Objekte und Dateien
Prozedur CREATE_HYBRID_PART_TABLE
Mit diesem Verfahren wird eine hybride partitionierte Tabelle erstellt. Auf diese Weise können Sie Abfragen für hybride partitionierte Daten aus Autonomous Database mit Datenbankobjekten und -dateien in der Cloud oder Datenbankobjekten und -dateien in einem Verzeichnis ausführen.
Syntax
DBMS_CLOUD.CREATE_HYBRID_PART_TABLE
(
table_name IN VARCHAR2,
credential_name IN VARCHAR2,
partitioning_clause IN CLOB,
column_list IN CLOB,
field_list IN CLOB DEFAULT,
format IN CLOB DEFAULT);
Parameter
Parameter | Beschreibung |
---|---|
|
Der Name der externen Tabelle |
|
Der Name der Zugangsdaten für den Zugriff auf den Cloud-Objektspeicher. Sie können |
|
Gibt die vollständige Partitionierungsklausel an, einschließlich der Speicherortinformationen für einzelne Partitionen. Um Verzeichnisse zu verwenden, unterstützt die Partitionierungsklausel die Werte Sie können Platzhalter sowie reguläre Ausdrücke in den Dateinamen in den Cloud-Quelldatei-URIs verwenden. Reguläre Ausdrücke können nur verwendet werden, wenn der Parameter Die Zeichen "*" und "?" gelten als Platzhalterzeichen, wenn der Parameter Muster regulärer Ausdrücke werden nur für den Dateinamen oder Unterordnerpfad in Ihren URIs unterstützt, und der Musterabgleich ist mit dem Musterabgleich identisch, der von der Funktion Beispiel:
Weitere Informationen zur Bedingung |
|
Durch Komma getrennte Liste der Spaltennamen und Datentypen für die externe Tabelle. |
|
Gibt die Felder in den Quelldateien und deren Datentypen an. Der Standardwert ist NULL, d.h. die Felder und ihre Datentypen werden durch den Parameter column_list bestimmt. Die Syntax dieses Arguments entspricht der |
|
Die Optionen, die das Format der Quelldateien beschreiben. Die Liste der Optionen und die Angabe der Werte finden sie unter DBMS_CLOUD Optionen für das Packageformat. |
Hinweise zur Verwendung
-
Die Prozedur
DBMS_CLOUD.CREATE_HYBRID_PART_TABLE
unterstützt externe partitionierte Dateien in den unterstützten Cloud-Objektspeicherservices, einschließlich:-
Oracle Cloud Infrastructure Object Storage
-
Azure Blob Storage oder Azure Data Lake Storage
-
Amazon S3
-
Amazon S3-kompatibel, einschließlich: Oracle Cloud Infrastructure Object Storage, Google Cloud Storage und Wasabi Hot Cloud Storage.
-
GitHub-Repository
Die Zugangsdaten stellen eine Eigenschaft auf Tabellenebene dar. Daher müssen sich die externen Dateien in demselben Objektspeicher befinden.
Weitere Informationen finden Sie unter DBMS_CLOUD URI-Formate.
-
-
Die Prozedur
DBMS_CLOUD.CREATE_HYBRID_PART_TABLE
unterstützt hybride partitionierte Dateien in Verzeichnissen, entweder in einem lokalen Dateisystem oder in einem Netzwerkdateisystem. -
Die externen partitionierten Tabellen, die Sie mit
DBMS_CLOUD.CREATE_HYBRID_PART_TABLE
erstellen, enthalten zwei unsichtbare Spaltenfile$path
undfile$name
. Mit diesen Spalten können Sie ermitteln, aus welcher Datei ein Datensatz stammt.-
file$path
: Gibt den Dateipfadtext bis zum Anfang des Objektnamens an. -
file$name
: Gibt den Objektnamen an, einschließlich des gesamten Textes, der dem Bucket-Namen folgt.
-
Beispiele
BEGIN
DBMS_CLOUD.CREATE_HYBRID_PART_TABLE
(
table_name =>'HPT1',
credential_name =>'OBJ_STORE_CRED',
format => json_object('delimiter' value ',', 'recorddelimiter' value 'newline', 'characterset' value 'us7ascii'),
column_list => 'col1 number, col2 number, col3 number',
partitioning_clause => 'partition by range (col1)
(partition p1 values less than (1000) external location
( ''&base_URL/file_11.txt'')
,
partition p2 values less than (2000) external location
( ''&base_URL/file_21.txt'')
,
partition p3 values less than (3000)
)'
);
END;
/
BEGIN
DBMS_CLOUD.CREATE_HYBRID_PART_TABLE
(
table_name => 'HPT1',
format => json_object('delimiter'value ',', 'recorddelimiter'value 'newline'),
column_list => 'NAME VARCHAR2(30), GENDER VARCHAR2(10), BALANCE number',
partitioning_clause => 'partition by range (B 2 ALANCE)
(partition p1 values less than (1000) external DEFAULT DIRECTORY DATA_PUMP_DIR LOCATION (''Scott_male_1000.csv''),
partition p2 values less than (2000) external DEFAULT DIRECTORY DATA_PUMP_DIR LOCATION (''Mary_female_3000.csv''),
partition p3 values less than (3000))' );
END;
/
Übergeordnetes Thema: DBMS_CLOUD für Objekte und Dateien
Prozedur DELETE_ALL_OPERATIONS
Diese Prozedur löscht entweder alle in der Tabelle user_load_operations
in Ihrem Schema protokollierten Dataload-Vorgänge oder alle Dataload-Vorgänge des angegebenen Typs, wie mit dem Parameter type
angegeben.
Syntax
DBMS_CLOUD.DELETE_ALL_OPERATIONS
(
type IN VARCHAR DEFAULT NULL);
Parameter
Parameter | Beschreibung |
---|---|
|
Gibt den zu löschenden Vorgangstyp an. Typwerte finden Sie in der Spalte Wenn kein |
Hinweise zur Verwendung
-
Mit diesem Verfahren werden derzeit ausgeführte Vorgänge (Vorgänge mit dem Status "Wird ausgeführt") nicht gelöscht.
-
Mit diesem Verfahren werden alle Logging-Tabellen und Logdateien gelöscht, die mit den Vorgängen verknüpft sind.
Übergeordnetes Thema: DBMS_CLOUD für Objekte und Dateien
Prozedur DELETE_FILE
Diese Prozedur entfernt die angegebene Datei aus dem angegebenen Verzeichnis in Autonomous Database.
Syntax
DBMS_CLOUD.DELETE_FILE
(
directory_name IN VARCHAR2,
file_name IN VARCHAR2,
force IN BOOLEAN DEFAULT FALSE);
Parameter
Parameter | Beschreibung |
---|---|
|
Der Name des Verzeichnisses in der Autonomous Database-Instanz. |
|
Der Name der zu entfernenden Datei. |
force |
Fehler ignorieren und nicht melden, wenn die Datei nicht vorhanden ist. Gültige Werte sind: |
Um
DBMS_CLOUD.DELETE_FILE
mit einem anderen Benutzer als ADMIN auszuführen, müssen Sie diesem Benutzer Schreibberechtigungen auf das Verzeichnis erteilen, in dem die Datei enthalten ist. Beispiel: Führen Sie als ADMIN den folgenden Befehl aus, um adb_user
Schreibberechtigungen zu erteilen:GRANT WRITE ON DIRECTORY data_pump_dir TO adb_user;
Beispiel
BEGIN
DBMS_CLOUD.DELETE_FILE
(
directory_name => 'DATA_PUMP_DIR',
file_name => 'exp1.dmp' );
END;
/
Übergeordnetes Thema: DBMS_CLOUD für Objekte und Dateien
Prozedur DELETE_OBJECT
Diese Prozedur löscht das angegebene Objekt im Objektspeicher.
Syntax
DBMS_CLOUD.DELETE_OBJECT
(
credential_name IN VARCHAR2,
object_uri IN VARCHAR2,
force IN BOOLEAN DEFAULT FALSE);
Parameter
Parameter | Beschreibung |
---|---|
|
Der Name der Zugangsdaten für den Zugriff auf den Cloud-Objektspeicher. Sie können |
object_uri |
Objekt- oder Datei-URI des zu löschenden Objekts. Das Format der URI ist vom eingesetzten Cloud-Objektspeichersystem abhängig. Weitere Einzelheiten finden Sie unter URI-Formate für DBMS_CLOUD. |
force |
Fehler ignorieren und nicht melden, wenn das Objekt nicht vorhanden ist. Gültige Werte sind: |
Beispiel
BEGIN
DBMS_CLOUD.DELETE_OBJECT
(
credential_name => 'DEF_CRED_NAME',
object_uri => 'https://objectstorage.us-ashburn-1.oraclecloud.com/n/namespace-string/b/bucketname/o/exp1.dmp' );
END;
/
Übergeordnetes Thema: DBMS_CLOUD für Objekte und Dateien
Prozedur DELETE_OPERATION
Diese Prozedur löscht die Dataload-Einträge für die angegebene Vorgangs-ID, die in den Tabellen user_load_operations
oder dba_load_operations
in Ihrem Schema angemeldet ist.
Syntax
DBMS_CLOUD.DELETE_OPERATION
(
id IN NUMBER);
Parameter
Parameter | Beschreibung |
---|---|
|
Gibt die Vorgangs-ID an, die mit den zu löschenden Logdateieinträgen verknüpft ist. |
Hinweis zur Verwendung
-
Mit dieser Prozedur werden alle Logging-Tabellen und Logdateien gelöscht, die mit der in der Eingabe angegebenen Vorgangs-ID verknüpft sind.
Beispiel
SELECT id FROM user_load_operations WHERE type LIKE '%BAD%';
EXEC DBMS_CLOUD.DELETE_OPERATION
(id);
Übergeordnetes Thema: DBMS_CLOUD für Objekte und Dateien
Prozedur DROP_EXTERNAL_TEXT_INDEX
Bei dieser Prozedur wird der Textindex für die Object Storage-Dateien gelöscht.
Die Prozedur DROP_EXTERNAL_TEXT_INDEX
löscht den angegebenen Index, der mit der Prozedur CREATE_EXTERNAL_TEXT_INDEX
erstellt wurde.
Syntax
DBMS_CLOUD.DROP_EXTERNAL_TEXT_INDEX
(
index_name IN VARCHAR2,
);
Parameter
Parameter | Beschreibung |
---|---|
index_name |
Gibt den Namen des Index an, den Sie löschen. Der Indexname muss mit dem Namen übereinstimmen, der zum Zeitpunkt der Indexerstellung angegeben wurde. Dieser Parameter ist obligatorisch. |
Beispiel
BEGIN
DBMS_CLOUD.DROP_EXTERNAL_TEXT_INDEX
(
index_name => 'EMP',
);
END;
/
Übergeordnetes Thema: DBMS_CLOUD für Objekte und Dateien
Prozedur EXPORT_DATA
Basierend auf dem Parameter format
type
exportiert die Prozedur Dateien in die Cloud oder in ein Verzeichnisverzeichnis als Textdateien im CSV-, JSON-, Parquet- oder XML-Format oder mit dem Zugriffstreiber ORACLE_DATAPUMP, um Daten in eine Oracle Datapump-Dumpdatei zu schreiben.
Syntax
DBMS_CLOUD.EXPORT_DATA
(
credential_name IN VARCHAR2 DEFAULT NULL,
file_uri_list IN CLOB,
format IN CLOB,
query IN CLOB);
DBMS_CLOUD.EXPORT_DATA
(
credential_name IN VARCHAR2 DEFAULT NULL,
file_uri_list IN CLOB DEFAULT NULL,
format IN CLOB DEFAULT NULL,
query IN CLOB DEFAULT NULL,
operation_id OUT NOCOPY NUMBER);
Parameter
Parameter | Beschreibung |
---|---|
|
Der Name der Zugangsdaten für den Zugriff auf den Cloud-Objektspeicher. Sie können Wenn der Parameter für Zugangsdaten nicht enthalten ist, gibt dies die Ausgabe in ein Verzeichnis an. |
|
Je nach Wert des Formatparameters und je nachdem, ob Sie einen Parameter für Zugangsdaten einschließen, gibt es verschiedene Formen:
Das Format der URIs ist vom genutzten Cloud-Objektspeichersystem abhängig. Weitere Einzelheiten finden Sie unter URI-Formate für DBMS_CLOUD. |
|
Eine JSON-Zeichenfolge, die Exportformatoptionen bereitstellt. Folgende Option wird unterstützt:
|
|
Verwenden Sie diesen Parameter, um eine SELECT warehouse_id, quantity FROM inventories Weitere Informationen mit dem Format Wenn der Wert für Beispiel: SELECT JSON_OBJECT(* RETURNING CLOB) from(SELECT warehouse_id, quantity FROM inventories) |
|
Mit diesem Parameter kann der Fortschritt und der endgültige Status des Exportvorgangs als entsprechende ID in der |
Hinweise zur Verwendung:
-
Der angegebene Parameterwert
query
kann bei Bedarf eine erweiterte Abfrage sein, z.B. eine Abfrage, die Joins oder Unterabfragen enthält. -
Je nach angegebenem Formatparameter gibt
DBMS_CLOUD.EXPORT_DATA
die Ergebnisse der angegebenen Abfrage im Cloud-Objektspeicher oder an einen Verzeichnisspeicher in einem der folgenden Formate aus:-
CSV-, JSON-, Parquet- oder XML-Dateien.
Weitere Informationen zur Verwendung von
DBMS_CLOUD.EXPORT_DATA
mit CSV-, JSON-, Parkett- oder XML-Ausgabedateien finden Sie unter Daten als Text in Objektspeicher exportieren und Daten in ein Verzeichnis exportieren. -
Daten mit dem Zugriffstreiber ORACLE_DATAPUMP in eine Dumpdatei schreiben
-
-
Bei einer CSV-, JSON- oder XML-Ausgabe wird standardmäßig eine neue Ausgabedatei erstellt, wenn eine generierte Datei 10 MB Daten enthält. Wenn Sie jedoch weniger als 10 MB an Ergebnisdaten haben, können mehrere Ausgabedateien vorhanden sein, abhängig vom Datenbankservice und der Anzahl der ECPUs (OCPUs, wenn Ihre Datenbank OCPUs verwendet) für die Autonomous Database-Instanz.
Weitere Informationen finden Sie unter Dateibenennung für Textausgabe (CSV, JSON, Parquet oder XML).
Die standardmäßige Chunk-Größe der Ausgabedatei beträgt 10 MB für CSV, JSON oder XML. Sie können diesen Wert mit der Option
format
-Parametermaxfilesize
ändern. Weitere Informationen finden Sie unter DBMS_CLOUD Package Format Options for EXPORT_DATA. -
Bei der Parquet-Ausgabe ist jede generierte Datei kleiner als 128 MB, und es können mehrere Ausgabedateien generiert werden. Wenn Sie jedoch weniger als 128 MB Ergebnisdaten haben, können mehrere Ausgabedateien vorhanden sein, abhängig vom Datenbankservice und der Anzahl der ECPUs (OCPUs, wenn Ihre Datenbank OCPUs verwendet) für die Autonomous Database-Instanz.
Weitere Informationen finden Sie unter Dateibenennung für Textausgabe (CSV, JSON, Parquet oder XML).
Verwendungshinweise für ORACLE_DATAPUMP-Ausgabe (DBMS_CLOUD.EXPORT_DATA
mit format
-Parameter type
-Option datapump
):
-
EXPORT_DATA
verwendetDATA_PUMP_DIR
als Standardloggingverzeichnis. Daher ist die Schreibberechtigung fürDATA_PUMP_DIR
erforderlich, wenn dieORACLE_DATAPUMP
-Ausgabe verwendet wird. -
Autonomous Database-Export mit
DBMS_CLOUD.EXPORT_DATA
undformat
-Parametertype
-Optiondatapump
unterstützt nur Oracle Cloud Infrastructure Object Storage, Oracle Cloud Infrastructure Object Storage Classic-Objektspeicher oder Verzeichnisausgabe. -
Wenn Sie
DBMS_CLOUD.EXPORT_DATA
mit dem Parameterformat
der Optiontype
der Optiondatapump
angeben, kann der Parameterwertcredential_name
kein OCI-Resource Principal sein. -
Oracle Data Pump unterteilt jeden Teil der Dumpdatei in kleinere Chunks, um schnellere Uploads zu ermöglichen. In der Oracle Cloud Infrastructure Object Storage-Konsole werden für jeden exportierten Teil der Dumpdatei mehrere Dateien angezeigt. Die Größe der tatsächlichen Dumpdateien wird als null (0) angezeigt und die Größe der zugehörigen Datei-Chunks als 10 MB oder weniger. Beispiel:
Wenn Sie die Null-Byte-Dumpdatei aus der Oracle Cloud Infrastructure-Konsole oder mit der Oracle Cloud Infrastructure-CLI herunterladen, erhalten Sie nicht die vollständigen Dumpdateien. Um die vollständigen Dumpdateien aus dem Objektspeicher herunterzuladen, verwenden Sie ein Tool wie cURL, das Swift unterstützt. Geben Sie Ihre Benutzeranmeldung und Ihr Swift-Authentifizierungstoken an.exp01.dmp exp01.dmp_aaaaaa exp02.dmp exp02.dmp_aaaaaa
curl -O -v -X GET -u 'user1@example.com:auth_token' \ https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/namespace-string/bucketname/exp01.dmp
Wenn Sie eine Datei mit den
DBMS_CLOUD
-Prozeduren importieren, die den Parameterformat
type
mit dem Wert "datapump
" unterstützen, müssen Sie nur den Namen der primären Datei angeben. Die Prozeduren, die den Formattyp "datapump
" unterstützen, ermitteln die Chunks und laden Sie sie automatisch herunter.Wenn Sie
DBMS_CLOUD.DELETE_OBJECT
verwenden, erkennt und löscht die Prozedur automatisch die Chunks, wenn die Prozedur die primäre Datei löscht. -
Die Prozedur
DBMS_CLOUD.EXPORT_DATA
erstellt die Dumpdatei(en) aus den von Ihnen angegebenenfile_uri_list
-Werten wie folgt:-
Da weitere Dateien benötigt werden, erstellt die Prozedur zusätzliche Dateien aus der
file_uri_list
. -
Die Prozedur überschreibt keine Dateien. Wenn eine Dumpdatei in der Datei
file_uri_list
vorhanden ist, meldetDBMS_CLOUD.EXPORT_DATA
einen Fehler. -
DBMS_CLOUD.EXPORT_DATA
erstellt keine Buckets.
-
-
Die Anzahl der Dumpdateien, die
DBMS_CLOUD.EXPORT_DATA
generiert, wird bei der Ausführung der Prozedur bestimmt. Die Anzahl der generierten Dumpdateien hängt von der Anzahl der Dateinamen ab, die Sie im Parameterfile_uri_list
angeben, sowie von der Anzahl der Autonomous Database-OCPUs, die für die Instanz verfügbar sind, der Serviceebene und der Größe der Daten.Beispiel: Wenn Sie eine 1 OCPU-Autonomous Database-Instanz oder den
low
-Service verwenden, wird eine einzelne Dumpdatei ohne Parallelität exportiert, selbst wenn Sie mehrere Dateinamen angeben. Wenn Sie eine 4-OCPU-Autonomous Database-Instanz mit dem Servicemedium
oderhigh
verwenden, können die Jobs parallel ausgeführt werden, und mehrere Dumpdateien werden exportiert, wenn Sie mehrere Dateinamen angeben. -
Die Dumpdateien, die Sie mit
DBMS_CLOUD.EXPORT_DATA
erstellen, können nicht mit Oracle Data Pumpimpdp
importiert werden. Je nach Datenbank können Sie diese Dateien wie folgt verwenden:-
In einer Autonomous Database können Sie die Dumpdateien mit den
DBMS_CLOUD
-Prozeduren verwenden, die den Parameterformat
type
mit dem Wert "datapump
" unterstützen. Sie können die Dumpdateien mitDBMS_CLOUD.COPY_DATA
importieren, oder Sie könnenDBMS_CLOUD.CREATE_EXTERNAL_TABLE
aufrufen, um eine externe Tabelle zu erstellen. -
In jeder anderen Oracle Database, wie Oracle Database 19c On-Premise, können Sie die mit der Prozedur
DBMS_CLOUD.EXPORT_DATA
erstellten Dumpdateien mit dem ZugriffstreiberORACLE_DATAPUMP
importieren. Weitere Informationen finden Sie unter Daten mit dem Zugriffstreiber ORACLE_DATAPUMP entladen und laden.
-
-
Der angegebene Parameterwert
query
kann bei Bedarf eine erweiterte Abfrage sein, z.B. eine Abfrage, die Joins oder Unterabfragen enthält.
Verwendungshinweise für DBMS_CLOUD.EXPORT_DATA
mit Ausgabe in ein Verzeichnis
-
Das angegebene Verzeichnis muss vorhanden sein, und Sie müssen als Benutzer
ADMIN
angemeldet sein oderWRITE
-Zugriff auf das Verzeichnis haben. -
DBMS_CLOUD.EXPORT_DATA
erstellt keine Verzeichnisse. -
Die Prozedur überschreibt keine Dateien. Beispiel: Wenn eine Dumpdatei in
file_uri_list
vorhanden ist, meldetDBMS_CLOUD.EXPORT_DATA
einen Fehler wie:ORA-31641: unable to create dump file "/u02/exports/123.dmp" ORA-27038: created file already exists
Beispiele
Das folgende Beispiel zeigt DBMS_CLOUD.EXPORT_DATA
mit dem Parameter type
im Format mit dem Wert datapump
:
BEGIN
DBMS_CLOUD.EXPORT_DATA
(
credential_name =>'OBJ_STORE_CRED',
file_uri_list =>'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/exp1.dmp',
format => json_object('type' value 'datapump', 'compression' value 'basic', 'version' value 'latest'),
query => 'SELECT warehouse_id, quantity FROM inventories'
);
END;
/
In diesem Beispiel ist namespace-string
der Oracle Cloud Infrastructure-Objektspeicher-Namespace und bucketname
der Bucket-Name. Weitere Informationen finden Sie unter Object Storage-Namespaces.
Das folgende Beispiel zeigt DBMS_CLOUD.EXPORT_DATA
mit dem Parameter type
im Format mit dem Wert json
:
BEGIN
DBMS_CLOUD.EXPORT_DATA
(
credential_name => 'OBJ_STORE_CRED',
file_uri_list => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/exp1.json',
query => 'SELECT * FROM DEPT',
format => JSON_OBJECT('type' value 'json', 'compression' value 'gzip'));
);
END;
/
Das folgende Beispiel zeigt DBMS_CLOUD.EXPORT_DATA
mit dem Parameter type
im Format mit dem Wert xml
:
BEGIN
DBMS_CLOUD.EXPORT_DATA
(
credential_name => 'OBJ_STORE_CRED',
file_uri_list => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/exp1.xml',
query => 'SELECT * FROM DEPT',
format => JSON_OBJECT('type' value 'xml', 'compression' value 'gzip'));
);
END;
/
Das folgende Beispiel zeigt DBMS_CLOUD.EXPORT_DATA
mit dem Parameter type
im Format mit dem Wert csv
:
BEGIN
DBMS_CLOUD.EXPORT_DATA
(
credential_name => 'OBJ_STORE_CRED',
file_uri_list => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/exp.csv',
query => 'SELECT * FROM DEPT',
format => JSON_OBJECT('type' value 'csv', 'delimiter' value '|', 'compression' value 'gzip', 'header' value true, 'encryption' value ('user_defined_function' value 'ADMIN.decryption_callback')));
);
END;
/
Das folgende Beispiel zeigt, wie DBMS_CLOUD.EXPORT_DATA
Daten mit dem Parameter type
und dem Wert datapump
in ein Verzeichnis exportiert:
BEGIN
DBMS_CLOUD.EXPORT_DATA
(
file_uri_list => 'export_dir:sales.dmp',
format => json_object('type' value 'datapump'),
query => 'SELECT * FROM sales'
);
END;
/
Übergeordnetes Thema: DBMS_CLOUD für Objekte und Dateien
GET_OBJECT Prozedur und Funktion
Diese Prozedur ist überladen. Das Prozedurformular liest ein Objekt aus dem Cloud-Objektspeicher und kopiert es in Autonomous Database. Das Funktionsformular liest ein Objekt aus Cloud Object Storage und gibt eine BLOB
an Autonomous Database zurück.
Syntax
DBMS_CLOUD.GET_OBJECT
(
credential_name IN VARCHAR2,
object_uri IN VARCHAR2,
directory_name IN VARCHAR2,
file_name IN VARCHAR2 DEFAULT NULL,
startoffset IN NUMBER DEFAULT 0,
endoffset IN NUMBER DEFAULT 0,
compression IN VARCHAR2 DEFAULT NULL);
DBMS_CLOUD.GET_OBJECT
(
credential_name IN VARCHAR2 DEFAULT NULL,
object_uri IN VARCHAR2,
startoffset IN NUMBER DEFAULT 0,
endoffset IN NUMBER DEFAULT 0,
compression IN VARCHAR2 DEFAULT NULL)
RETURN BLOB;
Parameter
Parameter | Beschreibung |
---|---|
|
Der Name der Zugangsdaten für den Zugriff auf den Cloud-Objektspeicher. Sie können |
|
Objekt- oder Datei-URI. Das Format der URI ist vom eingesetzten Cloud-Objektspeichersystem abhängig. Weitere Einzelheiten finden Sie unter URI-Formate für DBMS_CLOUD. |
|
Der Name des Verzeichnisses in der Datenbank. Fußnote 1Sie können einen Tabellen-Hyperlink-URL wie folgt verwenden:
|
|
Gibt den Namen der zu erstellenden Datei an. Wenn kein Dateiname angegeben wird, wird der Dateiname nach dem letzten Schrägstrich im Parameter |
startoffset |
Der Offset in Byte, ab dem die Prozedur mit dem Lesen beginnt. |
endoffset |
Der Offset in Byte, bei dem die Prozedur den Lesevorgang beendet. |
|
Gibt die Komprimierung an, mit der das Objekt gespeichert wird. Wenn |
Fußnote 1
Um DBMS_CLOUD.GET_OBJECT
mit einem anderen Benutzer als ADMIN auszuführen, müssen Sie diesem Benutzer WRITE
-Berechtigungen für das Verzeichnis erteilen. Beispiel: Führen Sie den folgenden Befehl als ADMIN aus, um adb_user
Schreibberechtigungen zu erteilen:
GRANT WRITE ON DIRECTORY data_pump_dir TO adb_user;
Rückgabewerte
Das Funktionsformular liest aus dem Objektspeicher, und DBMS_CLOUD.GET_OBJECT
gibt einen BLOB
zurück.
Beispiele
BEGIN
DBMS_CLOUD.GET_OBJECT
(
credential_name => 'OBJ_STORE_CRED',
object_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/file.txt',
directory_name => 'DATA_PUMP_DIR');
END;
/
So lesen Sie Zeichendaten aus einer Datei im Objektspeicher:
SELECT to_clob(
DBMS_CLOUD.GET_OBJECT
(
credential_name => 'OBJ_STORE_CRED',
object_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/file.txt'))
FROM DUAL;
So fügen Sie ein Bild hinzu, das im Objektspeicher in einem BLOB
in der Datenbank gespeichert ist:
DECLARE
l_blob BLOB := NULL;
BEGIN
l_blob := DBMS_CLOUD.GET_OBJECT
(
credential_name => 'OBJ_STORE_CRED',
object_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/MyImage.gif' );
END;
/
In diesem Beispiel ist namespace-string
der Oracle Cloud Infrastructure-Objektspeicher-Namespace und bucketname
der Bucket-Name. Weitere Informationen finden Sie unter Object Storage-Namespaces.
Übergeordnetes Thema: DBMS_CLOUD für Objekte und Dateien
Funktion LIST_FILES
Diese Funktion listet die Dateien im angegebenen Verzeichnis auf. Die Ergebnisse umfassen die Dateinamen und zusätzliche Metadaten zu den Dateien, wie die Dateigröße in Byte sowie die Zeitstempel der Erstellung und der letzten Änderung.
Syntax
DBMS_CLOUD.LIST_FILES
(
directory_name IN VARCHAR2)
RETURN TABLE;
Parameter
Parameter | Beschreibung |
---|---|
|
Der Name des Verzeichnisses in der Datenbank. |
Hinweise zur Verwendung
-
Um
DBMS_CLOUD.LIST_FILES
mit einem anderen Benutzer als ADMIN auszuführen, müssen Sie diesem Benutzer Lesezugriffsberechtigungen für das Verzeichnis erteilen. Beispiel: Führen Sie den folgenden Befehl als ADMIN aus und erteilen Sieadb_user
Leseberechtigungen:GRANT READ ON DIRECTORY data_pump_dir TO adb_user;
-
Dies ist eine Pipelined-Tabellenfunktion mit dem Rückgabetyp
DBMS_CLOUD_TYPES.list_object_ret_t
. -
DBMS_CLOUD.LIST_FILES
ruft den Prüfsummenwert nicht ab und gibtNULL
für dieses Feld zurück.
Beispiel
Dies ist eine Pipelined-Funktion, die eine Zeile für jede Datei zurückgibt. Beispiel: Verwenden Sie die folgende Abfrage, um diese Funktion zu verwenden:
SELECT * FROM DBMS_CLOUD.LIST_FILES
('DATA_PUMP_DIR');
OBJECT_NAME BYTES CHECKSUM CREATED LAST_MODIFIED
------------ ---------- ---------- --------------------- ---------------------
cwallet.sso 2965 2018-12-12T18:10:47Z 2019-11-23T06:36:54Z
Übergeordnetes Thema: DBMS_CLOUD für Objekte und Dateien
Funktion LIST_OBJECTS
Diese Funktion listet Objekte am angegebenen Speicherort im Objektspeicher auf. Die Ergebnisse umfassen die Objektnamen und zusätzliche Metadaten zu den Objekten, wie Größe, Prüfsumme sowie Zeitstempel der Erstellung und der letzten Änderung.
Syntax
DBMS_CLOUD.LIST_OBJECTS
(
credential_name IN VARCHAR2,
location_uri IN VARCHAR2)
RETURN TABLE;
Parameter
Parameter | Beschreibung |
---|---|
|
Der Name der Zugangsdaten für den Zugriff auf den Cloud-Objektspeicher. Sie können |
location_uri |
Objekt- oder Datei-URI. Das Format der URI ist vom eingesetzten Cloud-Objektspeichersystem abhängig. Weitere Einzelheiten finden Sie unter URI-Formate für DBMS_CLOUD. |
Hinweise zur Verwendung
-
Je nach den Funktionen des Objektspeichers gibt
DBMS_CLOUD.LIST_OBJECTS
keine Werte für bestimmte Attribute zurück, und der Rückgabewert für das Feld lautet in diesem FallNULL
.Alle unterstützten Objektspeicher geben Werte für die Felder
OBJECT_NAME
,BYTES
undCHECKSUM
zurück.In der folgenden Tabelle wird die Unterstützung für die Felder
CREATED
undLAST_MODIFIED
nach Objektspeicher angezeigt:Objektspeicher CREATED
LAST_MODIFIED
Oracle Cloud Infrastructure-nativ Gibt den Zeitstempel zurück Gibt den Zeitstempel zurück Oracle Cloud Infrastructure – Swift Gibt NULL
zurückGibt den Zeitstempel zurück Oracle Cloud Infrastructure Classic Gibt NULL
zurückGibt den Zeitstempel zurück Amazon S3 Gibt NULL
zurückGibt den Zeitstempel zurück Amazon S3-kompatibel Gibt NULL
zurückGibt den Zeitstempel zurück Azure Gibt den Zeitstempel zurück Gibt den Zeitstempel zurück GitHub-Repository -
Der Prüfsummenwert ist die Prüfsumme MD5. Dies ist eine Hexadezimalzahl mit 32 Zeichen, die für den Objektinhalt berechnet wird. Wenn
OCI$RESOURCE_PRINCIPAL
-Zugangsdaten verwendet werden, wird ein anderer Prüfsummenwert erwartet. -
Dies ist eine Pipelined-Tabellenfunktion mit dem Rückgabetyp
DBMS_CLOUD_TYPES.list_object_ret_t
.
Beispiel
Dies ist eine Pipelined-Funktion, die eine Zeile für jedes Objekt zurückgibt. Beispiel: Verwenden Sie die folgende Abfrage, um diese Funktion zu verwenden:
SELECT * FROM DBMS_CLOUD.LIST_OBJECTS
('OBJ_STORE_CRED',
'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/');
OBJECT_NAME BYTES CHECKSUM CREATED LAST_MODIFIED
------------ ---------- -------------------------------- --------------------- --------------------
cwallet.sso 2965 2339a2731ba24a837b26d344d643dc07 2019-11-23T06:36:54Z
In diesem Beispiel ist namespace-string
der Oracle Cloud Infrastructure-Objektspeicher-Namespace und bucketname
der Bucket-Name. Weitere Informationen finden Sie unter Object Storage-Namespaces.
Übergeordnetes Thema: DBMS_CLOUD für Objekte und Dateien
Prozedur MOVE_OBJECT
Mit dieser Prozedur wird ein Objekt aus einem Cloud-Objektspeicher-Bucket oder -Ordner in einen anderen verschoben.
Der Quell- und Ziel-Bucket oder -Ordner kann sich im selben oder einem anderen Cloud-Objektspeicherprovider befinden.
Wenn sich Quelle und Ziel in unterschiedlichen Objektspeichern befinden oder unterschiedliche Accounts mit demselben Cloud-Provider haben, können Sie separate Zugangsdatennamen für die Quell- und Zielspeicherorte angeben.
Der Name der Quellzugangsdaten wird standardmäßig auch vom Zielspeicherort verwendet, wenn kein Zielzugangsdatenname angegeben ist.
Syntax
DBMS_CLOUD.MOVE_OBJECT
(
source_credential_name IN VARCHAR2 DEFAULT NULL,
source_object_uri IN VARCHAR2,
target_object_uri IN VARCHAR2,
target_credential_name IN VARCHAR2 DEFAULT NULL
);
Parameter
Parameter | Beschreibung |
---|---|
|
Der Name der Zugangsdaten für den Zugriff auf den Cloud-Quellobjektspeicher. Sie können Wenn Sie keinen |
|
Gibt den URI an, der auf den Quell-Object Storage-Bucket oder den Quellordner verweist. Dieser Parameter ist obligatorisch. Das Format der URIs ist vom Cloud-Objektspeicherservice abhängig. Weitere Informationen finden Sie unter DBMS_CLOUD URI-Formate. |
|
Gibt die URI für den Object Storage-Ziel-Bucket oder -Ordner an, in den die Dateien verschoben werden müssen. Dieser Parameter ist obligatorisch. Das Format der URIs ist vom Cloud-Objektspeicherservice abhängig. Weitere Informationen finden Sie unter DBMS_CLOUD URI-Formate. |
|
Der Name der Zugangsdaten für den Zugriff auf den Cloud-Objektspeicherort des Ziels. Sie können Wenn Sie keinen |
Beispiel
BEGIN
DBMS_CLOUD.MOVE_OBJECT
(
source_credential_name => 'OCI_CRED',
source_object_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname1/bgfile.csv',
target_object_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname2/myfile.csv'
);
END;
/
Übergeordnetes Thema: DBMS_CLOUD für Objekte und Dateien
Prozedur PUT_OBJECT
Diese Prozedur ist überladen. In einem Formular kopiert die Prozedur eine Datei aus Autonomous Database in den Cloud-Objektspeicher. In einer anderen Form kopiert die Prozedur eine BLOB
aus Autonomous Database in den Cloud Object Storage.
Syntax
DBMS_CLOUD.PUT_OBJECT
(
credential_name IN VARCHAR2,
object_uri IN VARCHAR2,
directory_name IN VARCHAR2,
file_name IN VARCHAR2
compression IN VARCHAR2 DEFAULT NULL);
DBMS_CLOUD.PUT_OBJECT
(
credential_name IN VARCHAR2,
object_uri IN VARCHAR2,
contents IN BLOB
compression IN VARCHAR2 DEFAULT NULL);
Parameter
Parameter | Beschreibung |
---|---|
|
Der Name der Zugangsdaten für den Zugriff auf den Cloud-Objektspeicher. Sie können |
|
Objekt- oder Datei-URI. Das Format der URI ist vom eingesetzten Cloud-Objektspeichersystem abhängig. Weitere Einzelheiten finden Sie unter URI-Formate für DBMS_CLOUD. |
|
Der Name des Verzeichnisses in Autonomous Database. Fußnote 2 |
|
Gibt die |
|
Der Name der Datei im angegebenen Verzeichnis. |
|
Gibt die Komprimierung an, mit der das Objekt gespeichert wird. Standardwert: |
Fußnote 2
Um DBMS_CLOUD.PUT_OBJECT
mit einem anderen Benutzer als ADMIN auszuführen, müssen Sie diesem Benutzer Leseberechtigungen auf dem Verzeichnis erteilen. Beispiel: Führen Sie den folgenden Befehl als ADMIN aus, um adb_user
Leseberechtigungen zu erteilen:
GRANT READ ON DIRECTORY data_pump_dir TO adb_user;
Beispiel
So verarbeiten Sie BLOB
-Daten nach der datenbankinternen Verarbeitung und speichern die Daten dann direkt in einer Datei im Objektspeicher:
DECLARE
my_blob_data BLOB;
BEGIN
/* Some processing producing BLOB data and populating my_blob_data */
DBMS_CLOUD.PUT_OBJECT
(
credential_name => 'OBJ_STORE_CRED',
object_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o/my_new_file',
contents => my_blob_data));
END;
/
Hinweise zur Verwendung
Je nach Cloud-Objektspeicher ist die Größe des Objekts, das Sie übertragen, wie folgt begrenzt:
Cloud Object Storage-Service | Limit für Objektübertragungsgröße |
---|---|
Oracle Cloud Infrastructure Object Storage |
50 GB |
Amazon S3 |
5 GB |
Azure Blob Storage oder Azure Data Lake Storage |
256 MB |
Amazon S3-kompatibel |
Vom Objektspeicherprovider festgelegt. Weitere Informationen entnehmen Sie bitte der entsprechenden Dokumentation. |
Der Oracle Cloud Infrastructure-Objektspeicher lässt das Schreiben von Dateien in einen öffentlichen Bucket ohne Angabe von Zugangsdaten nicht zu (mit Oracle Cloud Infrastructure können Benutzer Objekte aus öffentlichen Buckets herunterladen). Daher müssen Sie einen Zugangsdatennamen mit gültigen Zugangsdaten angeben, um ein Objekt in einem öffentlichen Oracle Cloud Infrastructure-Bucket mit PUT_OBJECT
zu speichern.
Weitere Informationen finden Sie unter DBMS_CLOUD URI-Formate.
Übergeordnetes Thema: DBMS_CLOUD für Objekte und Dateien
Prozedur SYNC_EXTERNAL_PART_TABLE
Mit diesem Verfahren wird das Aktualisieren einer externen partitionierten Tabelle aus Dateien in der Cloud vereinfacht. Führen Sie diese Prozedur aus, wenn neue Partitionen hinzugefügt werden oder wenn Partitionen aus der Objektspeicherquelle für die externe partitionierte Tabelle entfernt werden.
Syntax
DBMS_CLOUD.SYNC_EXTERNAL_PART_TABLE
(
table_name IN VARCHAR2,
schema_name IN VARCHAR2 DEFAULT,
update_columns IN BOOLEAN DEFAULT);
Parameter
Parameter | Beschreibung |
---|---|
|
Der Name der Zieltabelle. Die Zieltabelle muss erstellt werden, bevor Sie |
|
Der Name des Schemas, in dem sich die Zieltabelle befindet. Der Standardwert ist NULL, d.h. die Zieltabelle befindet sich im selben Schema wie der Benutzer, der die Prozedur ausführt. |
|
Die neuen Dateien können eine Änderung am Schema bewirken. Folgende Aktualisierungen werden unterstützt: neue Spalten, gelöschte Spalten. Aktualisierungen vorhandener Spalten, z.B. eine Änderung des Datentyps, werfen Fehler aus. Standardwert: False |
Übergeordnetes Thema: DBMS_CLOUD für Objekte und Dateien
Prozedur VALIDATE_EXTERNAL_PART_TABLE
Diese Prozedur validiert die Quelldateien für eine externe partitionierte Tabelle, generiert Loginformationen und speichert die Zeilen, die den für diese externe Tabelle angegebenen Formatoptionen in einer Badfile-Tabelle in Autonomous Database nicht entsprechen. Mit dem überladenen Formular können Sie den Parameter operation_id
verwenden.
Syntax
DBMS_CLOUD.VALIDATE_EXTERNAL_PART_TABLE
(
table_name IN VARCHAR2,
partition_name IN CLOB DEFAULT,
subpartition_name IN CLOB DEFAULT,
schema_name IN VARCHAR2 DEFAULT,
rowcount IN NUMBER DEFAULT,
partition_key_validation IN BOOLEAN DEFAULT,
stop_on_error IN BOOLEAN DEFAULT);
DBMS_CLOUD.VALIDATE_EXTERNAL_PART_TABLE
(
table_name IN VARCHAR2,
operation_id OUT NUMBER,
partition_name IN CLOB DEFAULT,
subpartition_name IN CLOB DEFAULT,
schema_name IN VARCHAR2 DEFAULT,
rowcount IN NUMBER DEFAULT,
partition_key_validation IN BOOLEAN DEFAULT,
stop_on_error IN BOOLEAN DEFAULT);
Parameter
Parameter | Beschreibung |
---|---|
|
Der Name der externen Tabelle |
|
Mit diesem Parameter können Sie den Fortschritt und den endgültigen Status des Ladevorgangs als entsprechende ID in der View |
|
Wenn definiert, wird nur eine bestimmte Partition validiert. Wenn keine Angabe gemacht wird, lesen Sie alle Partitionen sequenziell, bis |
|
Wenn definiert, wird nur eine bestimmte Unterpartition validiert. Wenn keine Angabe gemacht wird, werden alle externen Partitionen oder Unterpartitionen sequenziell gelesen, bis |
|
Der Name des Schemas, in dem sich die externe Tabelle befindet. Der Standardwert ist NULL, d.h. die externe Tabelle befindet sich im selben Schema wie der Benutzer, der die Prozedur ausführt. |
|
Anzahl der zu scannenden Zeilen. Der Standardwert ist NULL, d.h. alle Zeilen in den Quelldateien werden gescannt. |
|
Nur für interne Verwendung. Verwenden Sie diesen Parameter nicht. |
|
Bestimmt, ob die Validierung gestoppt werden soll, wenn eine Zeile abgelehnt wird. Der Standardwert ist |
Übergeordnetes Thema: DBMS_CLOUD für Objekte und Dateien
Prozedur VALIDATE_EXTERNAL_TABLE
Diese Prozedur validiert die Quelldateien für eine externe Tabelle, generiert Loginformationen und speichert die Zeilen, die den für die externe Tabelle angegebenen Formatoptionen in einer Badfile-Tabelle in Autonomous Database nicht entsprechen. Mit dem überladenen Formular können Sie den Parameter operation_id
verwenden.
Syntax
DBMS_CLOUD.VALIDATE_EXTERNAL_TABLE
(
table_name IN VARCHAR2,
schema_name IN VARCHAR2 DEFAULT,
rowcount IN NUMBER DEFAULT,
stop_on_error IN BOOLEAN DEFAULT);
DBMS_CLOUD.VALIDATE_EXTERNAL_TABLE
(
table_name IN VARCHAR2,
operation_id OUT NOCOPY NUMBER,
schema_name IN VARCHAR2 DEFAULT NULL,
rowcount IN NUMBER DEFAULT 0,
stop_on_error IN BOOLEAN DEFAULT TRUE);
Parameter
Parameter | Beschreibung |
---|---|
|
Der Name der externen Tabelle |
|
Mit diesem Parameter können Sie den Fortschritt und den endgültigen Status des Ladevorgangs als entsprechende ID in der View |
|
Der Name des Schemas, in dem sich die externe Tabelle befindet. Der Standardwert ist NULL, d.h. die externe Tabelle befindet sich im selben Schema wie der Benutzer, der die Prozedur ausführt. |
|
Anzahl der zu scannenden Zeilen. Der Standardwert ist NULL, d.h. alle Zeilen in den Quelldateien werden gescannt. |
|
Bestimmt, ob die Validierung gestoppt werden soll, wenn eine Zeile abgelehnt wird. Der Standardwert ist Wenn sich die externe Tabelle auf Avro-, ORC- oder Parquet-Dateien bezieht, wird die Validierung bei der ersten abgelehnten Zeile gestoppt. Wenn die externe Tabelle den Parameter |
Hinweise zur Verwendung
-
DBMS_CLOUD.VALIDATE_EXTERNAL_TABLE
funktioniert sowohl mit partitionierten externen Tabellen als auch mit hybriden partitionierten Tabellen. Dadurch werden möglicherweise Daten aus allen externen Partitionen gelesen, bisrowcount
erreicht ist oderstop_on_error
angewendet wird. Sie haben keine Kontrolle darüber, welche Partition oder Teile einer Partition in welcher Reihenfolge gelesen werden.
Übergeordnetes Thema: DBMS_CLOUD für Objekte und Dateien
Prozedur VALIDATE_HYBRID_PART_TABLE
Diese Prozedur validiert die Quelldateien für eine hybride partitionierte Tabelle, generiert Loginformationen und speichert die Zeilen, die den für die mobile Tabelle angegebenen Formatoptionen in einer Badfile-Tabelle in Autonomous Database nicht entsprechen. Mit dem überladenen Formular können Sie den Parameter operation_id
verwenden.
Syntax
DBMS_CLOUD.VALIDATE_HYBRID_PART_TABLE
(
table_name IN VARCHAR2,
partition_name IN CLOB DEFAULT,
subpartition_name IN CLOB DEFAULT,
schema_name IN VARCHAR2 DEFAULT,
rowcount IN NUMBER DEFAULT,
partition_key_validation IN BOOLEAN DEFAULT,
stop_on_error IN BOOLEAN DEFAULT);
DBMS_CLOUD.VALIDATE_HYBRID_PART_TABLE
(
table_name IN VARCHAR2,
operation_id OUT NUMBER,
partition_name IN CLOB DEFAULT,
subpartition_name IN CLOB DEFAULT,
schema_name IN VARCHAR2 DEFAULT,
rowcount IN NUMBER DEFAULT,
partition_key_validation IN BOOLEAN DEFAULT,
stop_on_error IN BOOLEAN DEFAULT);
Parameter
Parameter | Beschreibung |
---|---|
|
Der Name der externen Tabelle |
|
Mit diesem Parameter können Sie den Fortschritt und den endgültigen Status des Ladevorgangs als entsprechende ID in der View |
|
Wenn definiert, wird nur eine bestimmte Partition validiert. Wenn keine Angabe gemacht wird, lesen Sie von allen externen Partitionen sequenziell, bis |
|
Wenn definiert, wird nur eine bestimmte Unterpartition validiert. Wenn keine Angabe gemacht wird, werden alle externen Partitionen oder Unterpartitionen sequenziell gelesen, bis |
|
Der Name des Schemas, in dem sich die externe Tabelle befindet. Der Standardwert ist NULL, d.h. die externe Tabelle befindet sich im selben Schema wie der Benutzer, der die Prozedur ausführt. |
|
Anzahl der zu scannenden Zeilen. Der Standardwert ist NULL, d.h. alle Zeilen in den Quelldateien werden gescannt. |
|
Nur für interne Verwendung. Verwenden Sie diesen Parameter nicht. |
|
Bestimmt, ob die Validierung gestoppt werden soll, wenn eine Zeile abgelehnt wird. Der Standardwert ist |
Übergeordnetes Thema: DBMS_CLOUD für Objekte und Dateien
DBMS_CLOUD für Dateiverwaltung im Bulkverfahren
Die Unterprogramme für Bulkdateivorgänge im Package DBMS_CLOUD.
Unterprogramm | Beschreibung |
---|---|
Prozedur BULK_COPY |
Bei dieser Prozedur werden Dateien von einem Cloud-Objektspeicher-Bucket in einen anderen kopiert. |
Prozedur BULK_DELETE |
Mit dieser Prozedur werden Dateien aus dem Cloud-Objektspeicher-Bucket oder -Ordner gelöscht. |
Prozedur BULK_DOWNLOAD |
Mit dieser Prozedur werden Dateien aus dem Cloud-Objektspeicher-Bucket in ein Verzeichnis in Autonomous Database heruntergeladen. |
Prozedur BULK_MOVE |
Mit diesem Verfahren werden Dateien von einem Cloud-Objektspeicher-Bucket in einen anderen verschoben. |
Prozedur BULK_UPLOAD |
Mit dieser Prozedur werden Dateien aus einem Verzeichnis in Autonomous Database in den Cloud-Objektspeicher hochgeladen. |
- Prozedur BULK_COPY
Diese Prozedur kopiert Dateien per Bulkvorgang von einem Cloud-Objektspeicher-Bucket in einen anderen. Mit dem überladenen Formular können Sie den Parameteroperation_id
verwenden. - Prozedur BULK_DELETE
Mit dieser Prozedur werden Dateien im Bulkverfahren aus dem Cloud-Objektspeicher gelöscht. Mit dem überladenen Formular können Sie den Parameteroperation_id
verwenden. Sie können die Liste der zu löschenden Dateien mit einem regulären Ausdrucksmuster filtern, das mit dem OperatorREGEXP_LIKE
kompatibel ist. - Prozedur BULK_DOWNLOAD
Mit dieser Prozedur werden Dateien aus Cloud Object Storage in ein Autonomous Database-Verzeichnis heruntergeladen. Mit dem überladenen Formular können Sie den Parameteroperation_id
verwenden. Sie können die Liste der herunterzuladenden Dateien mit einem regulären Ausdrucksmuster filtern, das mit dem OperatorREGEXP_LIKE
kompatibel ist. - Prozedur BULK_MOVE
Mit dieser Prozedur werden Dateien per Bulkvorgang von einem Cloud-Objektspeicher-Bucket oder -Ordner in einen anderen verschoben. Mit dem überladenen Formular können Sie den Parameteroperation_id
verwenden. - Prozedur BULK_UPLOAD
Mit dieser Prozedur werden Dateien aus einem Autonomous Database-Verzeichnis in Cloud Object Storage kopiert. Mit dem überladenen Formular können Sie den Parameteroperation_id
verwenden.
Übergeordnetes Thema: DBMS_CLOUD Unterprogramme und REST-APIs
Prozedur BULK_COPY
Mit dieser Prozedur werden Dateien von einem Cloud-Objektspeicher-Bucket in einen anderen kopiert. Mit dem überladenen Formular können Sie den Parameter operation_id
verwenden.
Sie können die Liste der zu löschenden Dateien mit einem regulären Ausdrucksmuster filtern, das mit dem Operator REGEXP_LIKE
kompatibel ist.
Der Quell- und Ziel-Bucket oder -Ordner kann sich im selben oder einem anderen Cloud-Objektspeicherprovider befinden.
Wenn sich Quelle und Ziel in unterschiedlichen Objektspeichern befinden oder unterschiedliche Accounts mit demselben Cloud-Provider haben, können Sie separate Zugangsdatennamen für die Quell- und Zielspeicherorte angeben.
Der Name der Quellzugangsdaten wird standardmäßig auch vom Zielspeicherort verwendet.
Syntax
DBMS_CLOUD.BULK_COPY
(
source_credential_name IN VARCHAR2 DEFAULT NULL,
source_location_uri IN VARCHAR2,
target_location_uri IN VARCHAR2,
target_credential_name IN VARCHAR2 DEFAULT NULL,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL
);
DBMS_CLOUD.BULK_COPY
(
source_credential_name IN VARCHAR2 DEFAULT NULL,
source_location_uri IN VARCHAR2,
target_location_uri IN VARCHAR2,
target_credential_name IN VARCHAR2 DEFAULT NULL,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL,
operation_id OUT NUMBER
);
Parameter
Parameter | Beschreibung |
---|---|
|
Der Name der Zugangsdaten für den Zugriff auf den Cloud-Objektspeicher. Sie können Wenn Sie keinen |
|
Gibt den URI an, der auf den Quell-Object Storage-Bucket oder den Quellordner verweist. Dieser Parameter ist obligatorisch. Das Format der URIs ist vom Cloud-Objektspeicherservice abhängig. Weitere Informationen finden Sie unter DBMS_CLOUD URI-Formate. |
|
Gibt die URI für den Ziel-Object Storage-Bucket oder -Ordner an, in den die Dateien kopiert werden müssen. Dieser Parameter ist obligatorisch. Das Format der URIs ist vom Cloud-Objektspeicherservice abhängig. Weitere Informationen finden Sie unter DBMS_CLOUD URI-Formate. |
|
Der Name der Zugangsdaten für den Zugriff auf den Cloud-Objektspeicherort des Ziels. Sie können Wenn Sie keinen |
|
Gibt den REGEX-Ausdruck zum Filtern von Dateien an. Das REGEX-Ausdrucksmuster muss mit dem Operator Wenn Sie keinen Weitere Informationen finden Sie unter REGEXP_LIKE Bedingung. |
|
Gibt die zusätzlichen Konfigurationsoptionen für den Dateivorgang an. Diese Optionen werden als JSON-Zeichenfolge angegeben. Folgende Formatoptionen werden unterstützt:
Wenn Sie keinen |
|
Mit diesem Parameter können Sie den Fortschritt und den endgültigen Status des Ladevorgangs als entsprechende ID in der View |
Hinweise zur Verwendung
-
Ein Fehler wird zurückgegeben, wenn die Quell- und Ziel-URI auf denselben Objektspeicher-Bucket oder -Ordner verweisen.
Beispiel
BEGIN
DBMS_CLOUD.BULK_COPY
(
source_credential_name => 'OCI_CRED',
source_location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname1/o',
target_location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname2/o',
format => JSON_OBJECT ('logretention' value 7, 'logprefix' value 'BULKOP')
);
END;
/
Übergeordnetes Thema: DBMS_CLOUD für Dateiverwaltung im Bulkverfahren
Prozedur BULK_DELETE
Mit dieser Prozedur werden Dateien im Bulkverfahren aus dem Cloud Object Storage gelöscht. Mit dem überladenen Formular können Sie den Parameter operation_id
verwenden. Sie können die Liste der zu löschenden Dateien mit einem regulären Ausdrucksmuster filtern, das mit dem Operator REGEXP_LIKE
kompatibel ist.
Syntax
DBMS_CLOUD.BULK_DELETE
(
credential_name IN VARCHAR2 DEFAULT NULL,
location_uri IN VARCHAR2,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL
);
DBMS_CLOUD.BULK_DELETE
(
credential_name IN VARCHAR2 DEFAULT NULL,
location_uri IN VARCHAR2,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL,
operation_id OUT NUMBER
);
Parameter
Parameter | Beschreibung |
---|---|
|
Der Name der Zugangsdaten für den Zugriff auf den Cloud-Objektspeicher. Sie können Wenn Sie keinen |
|
Gibt einen URI an, der auf einen Object Storage-Speicherort in Autonomous Database verweist. Dieser Parameter ist obligatorisch. Das Format der URIs ist vom Cloud-Objektspeicherservice abhängig. Weitere Informationen finden Sie unter DBMS_CLOUD URI-Formate. |
|
Gibt den REGEX-Ausdruck zum Filtern von Dateien an. Das REGEX-Ausdrucksmuster muss mit dem Operator Wenn Sie keinen Weitere Informationen finden Sie unter REGEXP_LIKE Bedingung. |
|
Gibt die zusätzlichen Konfigurationsoptionen für den Dateivorgang an. Diese Optionen werden als JSON-Zeichenfolge angegeben. Folgende Formatoptionen werden unterstützt:
Wenn Sie keinen |
|
Mit diesem Parameter können Sie den Fortschritt und den endgültigen Status des Ladevorgangs als entsprechende ID in der View |
Beispiel
BEGIN
DBMS_CLOUD.BULK_DELETE
(
credential_name => 'OCI_CRED',
location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
format => JSON_OBJECT ('logretention' value 5, 'logprefix' value 'BULKDEL')
);
END;
/
Übergeordnetes Thema: DBMS_CLOUD für Dateiverwaltung im Bulkverfahren
Prozedur BULK_DOWNLOAD
Mit dieser Prozedur werden Dateien aus Cloud Object Storage in ein Autonomous Database-Verzeichnis heruntergeladen. Mit dem überladenen Formular können Sie den Parameter operation_id
verwenden. Sie können die Liste der herunterzuladenden Dateien mit einem regulären Ausdrucksmuster filtern, das mit dem Operator REGEXP_LIKE
kompatibel ist.
Syntax
DBMS_CLOUD.BULK_DOWNLOAD
(
credential_name IN VARCHAR2 DEFAULT NULL,
location_uri IN VARCHAR2,
directory_name IN VARCHAR2,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL
);
DBMS_CLOUD.BULK_DOWNLOAD
(
credential_name IN VARCHAR2 DEFAULT NULL,
location_uri IN VARCHAR2,
directory_name IN VARCHAR2,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL,
operation_id OUT NUMBER
);
Parameter
Parameter | Beschreibung |
---|---|
|
Der Name der Zugangsdaten für den Zugriff auf den Cloud-Objektspeicher. Sie können Wenn Sie keinen |
|
Gibt einen URI an, der auf einen Object Storage-Speicherort in Autonomous Database verweist. Dieser Parameter ist obligatorisch. Das Format der URIs ist vom Cloud-Objektspeicherservice abhängig. Weitere Informationen finden Sie unter DBMS_CLOUD URI-Formate. |
|
Der Name des Verzeichnisses in der Autonomous Database, aus dem Sie die Dateien herunterladen möchten. Dieser Parameter ist obligatorisch. |
|
Gibt den REGEX-Ausdruck zum Filtern von Dateien an. Das REGEX-Ausdrucksmuster muss mit dem Operator Wenn Sie keinen Weitere Informationen finden Sie unter REGEXP_LIKE Bedingung. |
|
Gibt die zusätzlichen Konfigurationsoptionen für den Dateivorgang an. Diese Optionen werden als JSON-Zeichenfolge angegeben. Folgende Formatoptionen werden unterstützt:
Wenn Sie keinen |
|
Mit diesem Parameter können Sie den Fortschritt und den endgültigen Status des Ladevorgangs als entsprechende ID in der View |
Beispiel
BEGIN
DBMS_CLOUD.BULK_DOWNLOAD
(
credential_name => 'OCI_CRED',
location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
directory_name => 'BULK_TEST',
format => JSON_OBJECT ('logretention' value 7, 'logprefix' value 'BULKOP')
);
END;
/
Übergeordnetes Thema: DBMS_CLOUD für Dateiverwaltung im Bulkverfahren
Prozedur BULK_MOVE
Mit dieser Prozedur werden Dateien per Bulkvorgang von einem Cloud Object Storage-Bucket oder -Ordner in einen anderen verschoben. Mit dem überladenen Formular können Sie den Parameter operation_id
verwenden.
Sie können die Liste der zu löschenden Dateien mit einem regulären Ausdrucksmuster filtern, das mit dem Operator REGEXP_LIKE
kompatibel ist.
Der Quell- und Ziel-Bucket oder -Ordner kann sich im selben oder einem anderen Cloud-Objektspeicherprovider befinden.
Wenn sich Quelle und Ziel in unterschiedlichen Objektspeichern befinden oder unterschiedliche Accounts mit demselben Cloud-Provider haben, können Sie separate Zugangsdatennamen für die Quell- und Zielspeicherorte angeben.
Der Name der Quellzugangsdaten wird standardmäßig auch vom Zielspeicherort verwendet, wenn kein Zielzugangsdatenname angegeben ist.
Der erste Schritt beim Verschieben von Dateien besteht darin, sie in den Zielspeicherort zu kopieren und dann die Quelldateien zu löschen, sobald sie erfolgreich kopiert wurden.
Das Objekt wird umbenannt und nicht verschoben, wenn der Objektspeicher Umbenennungsvorgänge zwischen Quell- und Zielspeicherorten zulässt.
Syntax
DBMS_CLOUD.BULK_MOVE
(
source_credential_name IN VARCHAR2 DEFAULT NULL,
source_location_uri IN VARCHAR2,
target_location_uri IN VARCHAR2,
target_credential_name IN VARCHAR2 DEFAULT NULL,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL
);
DBMS_CLOUD.BULK_MOVE
(
source_credential_name IN VARCHAR2 DEFAULT NULL,
source_location_uri IN VARCHAR2,
target_location_uri IN VARCHAR2,
target_credential_name IN VARCHAR2 DEFAULT NULL,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL,
operation_id OUT NUMBER
);
Parameter
Parameter | Beschreibung |
---|---|
|
Der Name der Zugangsdaten für den Zugriff auf den Cloud-Quellobjektspeicher. Sie können Wenn Sie keinen |
|
Gibt den URI an, der auf den Quell-Object Storage-Bucket oder den Quellordner verweist. Dieser Parameter ist obligatorisch. Das Format der URIs ist vom Cloud-Objektspeicherservice abhängig. Weitere Informationen finden Sie unter DBMS_CLOUD URI-Formate. |
|
Gibt die URI für den Object Storage-Ziel-Bucket oder -Ordner an, in den die Dateien verschoben werden müssen. Dieser Parameter ist obligatorisch. Das Format der URIs ist vom Cloud-Objektspeicherservice abhängig. Weitere Informationen finden Sie unter DBMS_CLOUD URI-Formate. |
|
Der Name der Zugangsdaten für den Zugriff auf den Cloud-Objektspeicherort des Ziels. Sie können Wenn Sie keinen |
|
Gibt den REGEX-Ausdruck zum Filtern von Dateien an. Das REGEX-Ausdrucksmuster muss mit dem Operator Wenn Sie keinen Weitere Informationen finden Sie unter REGEXP_LIKE Bedingung. |
|
Gibt die zusätzlichen Konfigurationsoptionen für den Dateivorgang an. Diese Optionen werden als JSON-Zeichenfolge angegeben. Folgende Formatoptionen werden unterstützt:
Wenn Sie keinen |
|
Mit diesem Parameter können Sie den Fortschritt und den endgültigen Status des Ladevorgangs als entsprechende ID in der View |
Beispiel
BEGIN
DBMS_CLOUD.BULK_MOVE
(
source_credential_name => 'OCI_CRED',
source_location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname1/o',
target_location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname2/o',
format => JSON_OBJECT ('logretention' value 7, 'logprefix' value 'BULKMOVE')
);
END;
/
Ein Fehler wird zurückgegeben, wenn die Quell- und Ziel-URI auf denselben Objektspeicher-Bucket oder -Ordner verweisen.
Übergeordnetes Thema: DBMS_CLOUD für Dateiverwaltung im Bulkverfahren
Prozedur BULK_UPLOAD
Mit dieser Prozedur werden Dateien aus einem Autonomous Database-Verzeichnis in Cloud Object Storage kopiert. Mit dem überladenen Formular können Sie den Parameter operation_id
verwenden.
Syntax
DBMS_CLOUD.BULK_UPLOAD
(
credential_name IN VARCHAR2 DEFAULT NULL,
location_uri IN VARCHAR2,
directory_name IN VARCHAR2,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL
);
DBMS_CLOUD.BULK_UPLOAD
(
credential_name IN VARCHAR2 DEFAULT NULL,
location_uri IN VARCHAR2,
directory_name IN VARCHAR2,
regex_filter IN VARCHAR2 DEFAULT NULL,
format IN CLOB DEFAULT NULL,
operation_id OUT NUMBER
);
Parameter
Parameter | Beschreibung |
---|---|
|
Der Name der Zugangsdaten für den Zugriff auf den Cloud-Objektspeicher. Sie können Wenn Sie keinen |
|
Gibt einen URI an, der auf einen Object Storage-Speicherort verweist, um Dateien hochzuladen. Dieser Parameter ist obligatorisch. Das Format der URIs ist vom Cloud-Objektspeicherservice abhängig. Weitere Informationen finden Sie unter DBMS_CLOUD URI-Formate. |
|
Der Name des Verzeichnisses in der Autonomous Database, aus dem Sie Dateien hochladen. Dieser Parameter ist obligatorisch. |
regex_filter |
Gibt den REGEX-Ausdruck zum Filtern von Dateien an. Das REGEX-Ausdrucksmuster muss mit dem Operator Wenn Sie keinen Weitere Informationen finden Sie unter REGEXP_LIKE Bedingung. |
|
Gibt die zusätzlichen Konfigurationsoptionen für den Dateivorgang an. Diese Optionen werden als JSON-Zeichenfolge angegeben. Folgende Formatoptionen werden unterstützt:
Wenn Sie keinen |
|
Mit diesem Parameter können Sie den Fortschritt und den endgültigen Status des Ladevorgangs als entsprechende ID in der View |
Beispiel
BEGIN
DBMS_CLOUD.BULK_UPLOAD
(
credential_name => 'OCI_CRED',
location_uri => 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
directory_name => 'BULK_TEST',
format => JSON_OBJECT ('logretention' value 5, 'logprefix' value 'BULKUPLOAD')
);
END;
/
Übergeordnetes Thema: DBMS_CLOUD für Dateiverwaltung im Bulkverfahren
DBMS_CLOUD-REST-APIs
In diesem Abschnitt werden die REST-APIs DBMS_CLOUD
beschrieben, die mit Autonomous Database bereitgestellt werden.
REST-API | Beschreibung |
---|---|
Diese Funktion gibt die HTTP-Antwortheader als JSON-Daten in einem JSON-Objekt in Autonomous Database zurück. | |
Diese Funktion gibt die HTTP-Antwort im RAW-Format Autonomous Database zurück. Dies ist nützlich, wenn die HTTP-Antwort als Binärformat erwartet wird. | |
Diese Funktion gibt den HTTP-Antwortstatuscode als Ganzzahl in Autonomous Database zurück. Mit dem Statuscode können Sie feststellen, ob die Anforderung erfolgreich war. | |
Diese Funktion gibt die HTTP-Antwort im TEXT-Format (VARCHAR2 oder CLOB ) in Autonomous Database zurück. Normalerweise geben die meisten Cloud-REST-APIs eine JSON-Antwort im Textformat zurück. Diese Funktion ist nützlich, wenn Sie erwarten, dass die HTTP-Antwort im Textformat vorliegt.
|
|
Diese Funktion gibt die konfigurierte Ergebniscachegröße zurück. |
|
Diese Funktion startet eine HTTP-Anforderung, ruft die Antwort ab und beendet die Antwort in Autonomous Database. Diese Funktion bietet einen Workflow zum Senden einer Cloud-REST-API-Anforderung mit Argumenten sowie einem Antwortcode und einer Payload für die Rückgabe. | |
Diese Prozedur legt die maximale Cachegröße für die aktuelle Session fest. |
- DBMS_CLOUD REST-API - Überblick
Wenn Sie PL/SQL in Ihrer Anwendung verwenden und Cloud-REST-APIs aufrufen müssen, können SieDBMS_CLOUD.SEND_REQUEST
verwenden, um die REST-API-Anforderungen zu senden. - DBMS_CLOUD REST-API-Konstanten
Beschreibt dieDBMS_CLOUD
-Konstanten zum Erstellen vonHTTP
-Anforderungen mitDBMS_CLOUD.SEND_REQUEST
. - DBMS_CLOUD REST-API-Ergebniscache
Sie können die REST-API-ErgebnisseDBMS_CLOUD
speichern, wenn Sie den Parametercache
mitDBMS_CLOUD.SEND_REQUEST
auf "true" setzen. Die AnsichtSESSION_CLOUD_API_RESULTS
beschreibt die Spalten, die Sie verwenden können, wenn REST-API-Ergebnisse gespeichert werden. - GET_RESPONSE_HEADERS-Funktion
Diese Funktion gibt die HTTP-Antwortheader als JSON-Daten in einem JSON-Objekt zurück. - GET_RESPONSE_RAW-Funktion
Diese Funktion gibt die HTTP-Antwort im RAW-Format zurück. Dies ist nützlich, wenn die HTTP-Antwort als Binärformat erwartet wird. - GET_RESPONSE_STATUS_CODE-Funktion
Diese Funktion gibt den HTTP-Antwortstatuscode als Ganzzahl zurück. Mit dem Statuscode können Sie feststellen, ob die Anforderung erfolgreich war. - GET_RESPONSE_TEXT-Funktion
Diese Funktion gibt die HTTP-Antwort imTEXT
-Format (VARCHAR2
oderCLOB
) zurück. Normalerweise geben die meisten Cloud-REST-APIs eine JSON-Antwort im Textformat zurück. Diese Funktion ist nützlich, wenn Sie erwarten, dass die HTTP-Antwort im Textformat vorliegt. - GET_API_RESULT_CACHE_SIZE-Funktion
Diese Funktion gibt die konfigurierte Ergebniscachegröße zurück. Der Wert für die Cachegröße gilt nur für die aktuelle Session. - SEND_REQUEST Funktion und Prozedur
Diese Funktion und Prozedur startet eine HTTP-Anforderung, ruft die Antwort ab und beendet die Antwort. Diese Funktion bietet einen Workflow zum Senden einer Cloud-REST-API-Anforderung mit Argumenten. Die Funktion gibt einen Antwortcode und eine Payload zurück. Wenn Sie die Prozedur verwenden, können Sie Ergebnisse und Antwortdetails aus den gespeicherten Ergebnissen mit der AnsichtSESSION_CLOUD_API_RESULTS
anzeigen. - Prozedur SET_API_RESULT_CACHE_SIZE
Diese Prozedur legt die maximale Cachegröße für die aktuelle Session fest. Der Wert für die Cachegröße gilt nur für die aktuelle Session. - Beispiele für die REST-API DBMS_CLOUD
Zeigt Beispiele mitDBMS_CLOUD.SEND_REQUEST
an, um einen Oracle Cloud Infrastructure Object Storage-Bucket zu erstellen und zu löschen, und ein Beispiel, um alle Compartments im Mandanten aufzulisten.
Übergeordnetes Thema: DBMS_CLOUD Unterprogramme und REST-APIs
DBMS_CLOUD REST-APIs - Überblick
Wenn Sie PL/SQL in Ihrer Anwendung verwenden und Cloud-REST-APIs aufrufen müssen, können Sie DBMS_CLOUD.SEND_REQUEST
verwenden, um die REST-API-Anforderungen zu senden.
Mit den REST-API-Funktionen DBMS_CLOUD
können Sie HTTP
-Anforderungen mit DBMS_CLOUD.SEND_REQUEST
ausführen und Ergebnisse abrufen und speichern. Diese Funktionen stellen eine generische API bereit, mit der Sie jede REST-API mit den folgenden unterstützten Cloud-Services aufrufen können:
- Oracle Cloud Infrastructure
Informationen zu Oracle Cloud Infrastructure-REST-APIs finden Sie unter API-Referenz und -Endpunkte.
- Amazon Web Services (AWS)
Informationen zu REST-APIs für Amazon Web Services finden Sie unter Guides und API-Referenzen.
- Azure Cloud Fußnote 3
Informationen zu Azure-REST-APIs finden Sie in der Azure-REST-API-Referenz.
- Oracle Cloud Infrastructure Classic
Informationen zu Oracle Cloud Infrastructure Classic-REST-APIs finden Sie unter Alle REST-Endpunkte.
- GitHub-Repository
Weitere Informationen finden Sie unter REST-API GitHub.
Übergeordnetes Thema: DBMS_CLOUD REST-APIs
DBMS_CLOUD REST-API-Konstanten
Beschreibt die DBMS_CLOUD
-Konstanten zum Erstellen von HTTP
-Anforderungen mit DBMS_CLOUD.SEND_REQUEST
.
DBMS_CLOUD
unterstützt die HTTP-Methoden GET
, PUT
, POST
, HEAD
und DELETE
. Die REST-API-Methode, die für eine HTTP-Anforderung verwendet werden soll, ist in der Regel in der Cloud-REST-API-Dokumentation dokumentiert.
Name | Typ | Wert |
---|---|---|
METHOD_DELETE |
VARCHAR2(6) |
'DELETE' |
METHOD_GET |
VARCHAR2(3) |
'GET' |
METHOD_HEAD |
VARCHAR2(4) |
'HEAD' |
METHOD_POST |
VARCHAR2(4) |
'POST' |
METHOD_PUT |
VARCHAR2(3) |
'PUT' |
Übergeordnetes Thema: DBMS_CLOUD REST-APIs
DBMS_CLOUD REST-API-Ergebniscache
Sie können die REST-API-Ergebnisse DBMS_CLOUD
speichern, wenn Sie den Parameter cache
mit DBMS_CLOUD.SEND_REQUEST
auf "true" setzen. Die Ansicht SESSION_CLOUD_API_RESULTS
beschreibt die Spalten, die Sie verwenden können, wenn REST-API-Ergebnisse gespeichert werden.
Standardmäßig speichern REST-API-Aufrufe vom Typ DBMS_CLOUD
keine Ergebnisse für Ihre Session. In diesem Fall verwenden Sie die Funktion DBMS_CLOUD.SEND_REQUEST
, um Ergebnisse zurückzugeben.
Wenn Sie DBMS_CLOUD.SEND_REQUEST
verwenden und den Parameter cache
auf TRUE
setzen, werden Ergebnisse gespeichert, und Sie können vergangene Ergebnisse in der Ansicht SESSION_CLOUD_API_RESULTS
anzeigen. Das Speichern und Abfragen historischer Ergebnisse von REST-API-Anforderungen für DBMS_CLOUD
kann Ihnen helfen, wenn Sie mit Ihren vorherigen Ergebnissen in Ihren Anwendungen arbeiten müssen.
Beispiel: Um aktuelle REST-API-Ergebnisse der DBMS_CLOUD
abzufragen, verwenden Sie die Ansicht SESSION_CLOUD_API_RESULTS
:
SELECT timestamp FROM SESSION_CLOUD_API_RESULTS;
Wenn Sie die REST-API-Ergebnisse DBMS_CLOUD
mit DBMS_CLOUD.SEND_REQUEST
speichern, sind die gespeicherten Daten nur innerhalb derselben Session (Verbindung) verfügbar. Nach dem Beenden der Session sind die gespeicherten Daten nicht mehr verfügbar.
Mit DBMS_CLOUD.GET_API_RESULT_CACHE_SIZE
und DBMS_CLOUD.SET_API_RESULT_CACHE_SIZE
können Sie die REST-API-Cachegröße DBMS_CLOUD
anzeigen und festlegen sowie das Caching deaktivieren.
- DBMS_CLOUD REST-API-Ergebnisse cache_scope-Parameter
Wenn Sie die REST-API-ErgebnisseDBMS_CLOUD
mitDBMS_CLOUD.SEND_REQUEST
speichern, wird der Zugriff auf die Ergebnisse inSESSION_CLOUD_API_RESULTS
basierend auf dem Wert voncache_scope
bereitgestellt. - REST-API-Ansicht DBMS_CLOUD SESSION_CLOUD_API_RESULTS
Sie können die REST-API-ErgebnisseDBMS_CLOUD
speichern, wenn Sie den Parametercache
mitDBMS_CLOUD.SEND_REQUEST
auf "true" setzen. Die AnsichtSESSION_CLOUD_API_RESULTS
beschreibt die Spalten, die Sie verwenden können, wenn REST-API-Ergebnisse gespeichert werden.
Übergeordnetes Thema: DBMS_CLOUD REST-APIs
Parameter DBMS_CLOUD REST-API-Ergebnisse cache_scope
Wenn Sie die REST-API-Ergebnisse DBMS_CLOUD
mit DBMS_CLOUD.SEND_REQUEST
speichern, wird der Zugriff auf die Ergebnisse in SESSION_CLOUD_API_RESULTS
basierend auf dem Wert von cache_scope
bereitgestellt.
Standardmäßig ist cache_scope
'PRIVATE'
, und nur der aktuelle Benutzer der Session kann auf die Ergebnisse zugreifen. Wenn Sie cache_scope
auf 'PUBLIC'
setzen, können alle Sessionbenutzer auf die Ergebnisse zugreifen. Der Standardwert für cache_scope
gibt an, dass jeder Benutzer nur die REST-API-Ergebnisse DBMS_CLOUD.SEND_REQUEST
anzeigen kann, die von den Prozeduren generiert werden, die er mit den Rechten des Aufrufers aufruft. Wenn Sie DBMS_CLOUD.SEND_REQUEST
in einer Session aufrufen, gibt es drei Möglichkeiten, die basierend auf dem Wert cache_scope
bestimmen, ob der aktuelle Benutzer Ergebnisse im Cache anzeigen kann:
-
Sie führen
DBMS_CLOUD.SEND_REQUEST
direkt als Anweisung der obersten Ebene aus. Der Aufruf vonDBMS_CLOUD.SEND_REQUEST
und die REST-API-Ergebnisse werden mit demselben Benutzernamen gespeichert. In diesem Fall haben Sie Zugriff auf alle Ergebnisse mit dem Standardwert "PRIVATE'
", der fürcache_scope
festgelegt ist. -
Sie schreiben die Rechteprozedur eines Wrapper-Ausführers. Als aktueller Benutzer ruft Ihr Aufruf mit
DBMS_CLOUD.SEND_REQUEST
die Prozedur auf, und die REST-API-Ergebnisse werden mit demselben Benutzernamen gespeichert. In diesem Fall haben Sie Zugriff auf alle Ergebnisse mit dem Standardwert "PRIVATE'
", der fürcache_scope
festgelegt ist. -
Sie schreiben die Rechteprozedur eines Wrapper-Definers, und die Prozedur gehört einem anderen Benutzer. Wenn Sie
DBMS_CLOUD.SEND_REQUEST
innerhalb der Prozedur aufrufen, werden die Ergebnisse mit dem Benutzernamen des Prozedurverantwortlichen gespeichert.In diesem Fall ruft ein anderer Benutzer mit den Berechtigungen eines Eigentümers
DBMS_CLOUD.SEND_REQUEST
auf, und die REST-API-Ergebnisse werden mit dem Eigentümer dieser Prozedur gespeichert. Wenncache_scope
in diesem Fall standardmäßigPRIVATE'
ist, kann die Session des ausführenden Benutzers die Ergebnisse nicht sehen.Wenn der Eigentümer der Prozedur des Eigentümers die Ergebnisse für jeden aufrufenden Sessionbenutzer verfügbar machen möchte, muss er
cache_scope
in derDBMS_CLOUD.SEND_REQUEST
auf'PUBLIC'
setzen.
Übergeordnetes Thema: DBMS_CLOUD REST-API-Ergebniscache
DBMS_CLOUD REST-API SESSION_CLOUD_API_RESULTS-Ansicht
Sie können die REST-API-Ergebnisse DBMS_CLOUD
speichern, wenn Sie den Parameter cache
mit DBMS_CLOUD.SEND_REQUEST
auf "true" setzen. Die Ansicht SESSION_CLOUD_API_RESULTS
beschreibt die Spalten, die Sie verwenden können, wenn REST-API-Ergebnisse gespeichert werden.
Die Ansicht SESSION_CLOUD_API_RESULTS
ist die Ansicht, die erstellt wird, wenn Sie Ergebnisse mit DBMS_CLOUD.SEND_REQUEST
cachen. Sie können historische Ergebnisse abfragen, die zu Ihrer Benutzersession gehören. Wenn die Session beendet wird, werden die Daten in der SESSION_CLOUD_API_RESULTS
gelöscht.
Spalte | Beschreibung |
---|---|
URI |
Die REST-API-Anforderungs-URL DBMS_CLOUD
|
TIMESTAMP |
Zeitstempel der REST-API-Antwort DBMS_CLOUD
|
CLOUD_TYPE |
Der REST-API-Cloudtyp DBMS_CLOUD , wie Oracle Cloud Infrastructure, AMAZON_S3 und AZURE_BLOB
|
REQUEST_METHOD |
Die REST-API-Anforderungsmethode DBMS_CLOUD , wie GET , PUT , HEAD |
REQUEST_HEADERS |
Die REST-API-Anforderungsheader DBMS_CLOUD
|
REQUEST_BODY_TEXT |
Der REST-API-Anforderungsbody DBMS_CLOUD in CLOB |
RESPONSE_STATUS_CODE |
Der REST-API-Antwortstatuscode DBMS_CLOUD , wie 200(OK) , 404(Not Found) |
RESPONSE_HEADERS |
Die REST-API-Antwortheader DBMS_CLOUD
|
RESPONSE_BODY_TEXT |
Der REST-API-Antwortbody DBMS_CLOUD in CLOB |
SCOPE |
Die |
Übergeordnetes Thema: DBMS_CLOUD REST-API-Ergebniscache
Funktion GET_RESPONSE_HEADERS
Diese Funktion gibt die HTTP-Antwortheader als JSON-Daten in einem JSON-Objekt zurück.
Syntax
DBMS_CLOUD.GET_RESPONSE_HEADERS
(
resp IN DBMS_CLOUD_TYPES.resp)
RETURN JSON_OBJECT_T;
Parameter
Parameter | Beschreibung |
---|---|
resp |
HTTP-Antworttyp von |
Ausnahmen
Ausnahme | Fehler | Beschreibung |
---|---|---|
invalid_response |
ORA-20025 |
Ungültiges Antworttypobjekt an |
Übergeordnetes Thema: DBMS_CLOUD REST-APIs
Funktion GET_RESPONSE_RAW
Diese Funktion gibt die HTTP-Antwort im RAW-Format zurück. Dies ist nützlich, wenn die HTTP-Antwort als Binärformat erwartet wird.
Syntax
DBMS_CLOUD.GET_RESPONSE_RAW
(
resp IN DBMS_CLOUD_TYPES.resp)
RETURN BLOB;
Parameter
Parameter | Beschreibung |
---|---|
resp |
HTTP-Antworttyp von |
Ausnahmen
Ausnahme | Fehler | Beschreibung |
---|---|---|
invalid_response |
ORA-20025 |
Ungültiges Antworttypobjekt an |
Übergeordnetes Thema: DBMS_CLOUD REST-APIs
Funktion GET_RESPONSE_STATUS_CODE
Diese Funktion gibt den HTTP-Antwortstatuscode als Ganzzahl zurück. Mit dem Statuscode können Sie feststellen, ob die Anforderung erfolgreich war.
Syntax
DBMS_CLOUD.GET_RESPONSE_STATUS_CODE
(
resp IN DBMS_CLOUD_TYPES.resp)
RETURN PLS_INTEGER;
Parameter
Parameter | Beschreibung |
---|---|
resp |
HTTP-Antworttyp von |
Ausnahmen
Ausnahme | Fehler | Beschreibung |
---|---|---|
invalid_response |
ORA-20025 |
Ungültiges Antworttypobjekt an |
Übergeordnetes Thema: DBMS_CLOUD REST-APIs
Funktion GET_RESPONSE_TEXT
Diese Funktion gibt die HTTP-Antwort im Format TEXT
(VARCHAR2
oder CLOB
) zurück. Normalerweise geben die meisten Cloud-REST-APIs eine JSON-Antwort im Textformat zurück. Diese Funktion ist nützlich, wenn Sie erwarten, dass die HTTP-Antwort im Textformat vorliegt.
Syntax
DBMS_CLOUD.GET_RESPONSE_TEXT
(
resp IN DBMS_CLOUD_TYPES.resp)
RETURN CLOB;
Parameter
Parameter | Beschreibung |
---|---|
resp |
HTTP-Antworttyp von |
Ausnahmen
Ausnahme | Fehler | Beschreibung |
---|---|---|
invalid_response |
ORA-20025 |
Ungültiges Antworttypobjekt an |
Übergeordnetes Thema: DBMS_CLOUD REST-APIs
Funktion GET_API_RESULT_CACHE_SIZE
Diese Funktion gibt die konfigurierte Ergebniscachegröße zurück. Der Wert für die Cachegröße gilt nur für die aktuelle Session.
Syntax
DBMS_CLOUD.GET_API_RESULT_CACHE_SIZE
()
RETURN NUMBER;
Übergeordnetes Thema: DBMS_CLOUD REST-APIs
SEND_REQUEST Funktion und Prozedur
Diese Funktion und Prozedur startet eine HTTP-Anforderung, ruft die Antwort ab und beendet die Antwort. Diese Funktion bietet einen Workflow zum Senden einer Cloud-REST-API-Anforderung mit Argumenten. Die Funktion gibt einen Antwortcode und eine Payload zurück. Wenn Sie die Prozedur verwenden, können Sie Ergebnisse und Antwortdetails aus den gespeicherten Ergebnissen mit der Ansicht SESSION_CLOUD_API_RESULTS
anzeigen.
Syntax
DBMS_CLOUD.SEND_REQUEST
(
credential_name IN VARCHAR2,
uri IN VARCHAR2,
method IN VARCHAR2,
headers IN CLOB DEFAULT NULL,
async_request_url IN VARCHAR2 DEFAULT NULL,
wait_for_states IN DBMS_CLOUD_TYPES.wait_for_states_t DEFAULT NULL,
timeout IN NUMBER DEFAULT 0,
cache IN PL/SQL BOOLEAN DEFAULT FALSE,
cache_scope IN VARCHAR2 DEFAULT 'PRIVATE',
body IN BLOB DEFAULT NULL)
RETURN DBMS_CLOUD_TYPES.resp;
DBMS_CLOUD.SEND_REQUEST
(
credential_name IN VARCHAR2,
uri IN VARCHAR2,
method IN VARCHAR2,
headers IN CLOB DEFAULT NULL,
async_request_url IN VARCHAR2 DEFAULT NULL,
wait_for_states IN DBMS_CLOUD_TYPES.wait_for_states_t DEFAULT NULL,
timeout IN NUMBER DEFAULT 0,
cache IN PL/SQL BOOLEAN DEFAULT FALSE,
cache_scope IN VARCHAR2 DEFAULT 'PRIVATE',
body IN BLOB DEFAULT NULL);
Parameter
Parameter | Beschreibung |
---|---|
|
Der Name der Zugangsdaten für die Authentifizierung mit der entsprechenden Cloud-nativen API. Sie können |
uri |
HTTP-URI für die Anforderung. |
method |
HTTP-Anforderungsmethode: Weitere Informationen finden Sie unter REST-API-Konstanten DBMS_CLOUD. |
headers |
HTTP-Anforderungsheader für die entsprechende Cloud-native API im JSON-Format. Die Authentifizierungsheader werden automatisch festgelegt. Übergeben Sie nur benutzerdefinierte Header. |
|
Eine asynchrone Anforderungs-URL. Um die URL abzurufen, wählen Sie die Anforderungs-API aus der Liste der APIs aus (siehe https://docs.cloud.oracle.com/en-us/iaas/api/). Navigieren Sie dann im linken Fensterbereich, um die API für Ihre Anforderung zu suchen. Beispiel: Datenbankservices-API → Autonomous Database → StopAutonomousDatabase. Auf dieser Seite wird das API-Home (und der Basisendpunkt) angezeigt. Hängen Sie dann den Basisendpunkt an den relativen Pfad an, der für den Link WorkRequest der Arbeitsanforderung abgerufen wurde. |
wait_for_states |
"Auf Status warten" ist ein Status vom Typ: Für |
timeout |
Gibt den Timeout in Sekunden für asynchrone Anforderungen mit den Parametern Der Standardwert ist |
cache |
Wenn Der Standardwert ist |
cache_scope |
Gibt an, ob jeder Zugriff auf diesen Anforderungsergebniscache haben kann. Gültige Werte: |
body |
HTTP-Anforderungsbody für |
Ausnahmen
Ausnahme | Fehler | Beschreibung |
---|---|---|
invalid_req_method |
ORA-20023 |
An |
invalid_req_header |
ORA-20024 |
An |
Hinweise zur Verwendung
-
Wenn Sie Oracle Cloud Infrastructure verwenden, müssen Sie einen signierungsschlüsselbasierten Zugangsdatenwert für die
credential_name
verwenden. Weitere Informationen finden Sie unter Prozedur CREATE_CREDENTIAL. -
Mit den optionalen Parametern
async_request_url
,wait_for_states
undtimeout
können Sie Anforderungen mit langer Ausführungszeit verarbeiten. Mit dieser asynchronen Form vonsend_request
wartet die Funktion auf den Abschlussstatus, der inwait_for_states
angegeben ist, bevor sie zurückkehrt. Wenn diese Parameter in der Sendeanforderung die erwarteten Rückgabezustände im Parameterwait_for_states
übergeben und Sie mit dem Parameterasync_request_url
eine zugeordnete Arbeitsanforderung angeben, wird die Anforderung nicht sofort zurückgegeben. Stattdessen prüft die Anforderungasync_request_url
, bis der Rückgabestatus einer der erwarteten Statuswerte ist odertimeout
überschritten wird (timeout
ist optional). Wenn keintimeout
angegeben ist, wartet die Anforderung, bis ein Status inwait_for_states
auftritt.
Übergeordnetes Thema: DBMS_CLOUD REST-APIs
Prozedur SET_API_RESULT_CACHE_SIZE
Diese Prozedur legt die maximale Cachegröße für die aktuelle Session fest. Der Wert für die Cachegröße gilt nur für die aktuelle Session.
Syntax
DBMS_CLOUD.SET_API_RESULT_CACHE_SIZE
(
cache_size IN NUMBER);
Parameter
Parameter | Beschreibung |
---|---|
cache_size |
Legen Sie die maximale Cachegröße auf den angegebenen Wert Wenn die Cachegröße auf Die Standardcachegröße ist |
Ausnahmen
Ausnahme | Fehler | Beschreibung |
---|---|---|
invalid API result cache size |
ORA-20032 |
Der Mindestwert ist 0 und der Höchstwert ist 10000. Diese Ausnahme wird angezeigt, wenn der Eingabewert kleiner als 0 oder größer als 10000 ist. |
Beispiel
EXEC DBMS_CLOUD.SET_API_RESULT_CACHE_SIZE
(101);
Übergeordnetes Thema: DBMS_CLOUD REST-APIs
DBMS_CLOUD REST-API-Beispiele
Zeigt Beispiele zum Erstellen und Löschen eines Oracle Cloud Infrastructure Object Storage-Buckets mit DBMS_CLOUD.SEND_REQUEST
und ein Beispiel zum Auflisten aller Compartments im Mandanten an.
Diese Beispiele zeigen die Oracle Cloud Infrastructure-Anforderungs-APIs und erfordern, dass Sie eine signaturschlüsselbasierte Zugangsdaten für die credential_name
verwenden. Oracle Cloud Infrastructure-Signaturschlüssel-basierte Zugangsdaten umfassen die Argumente private_key
und fingerprint
.
Beispiel:
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL (
credential_name => ‘OCI_KEY_CRED’,
user_ocid => ‘ocid1.user.oc1..aaaaaaaauq54mi7zdyfhw33ozkwuontjceel7fok5nq3bf2vwetkpqsoa’,
tenancy_ocid => ‘ocid1.tenancy.oc1..aabbbbbbaafcue47pqmrf4vigneebgbcmmoy5r7xvoypicjqqge32ewnrcyx2a’,
private_key => ‘MIIEogIBAAKCAQEAtUnxbmrekwgVac6FdWeRzoXvIpA9+0r1.....wtnNpESQQQ0QLGPD8NM//JEBg=’,
fingerprint => ‘f2:db:f9:18:a4:aa:fc:94:f4:f6:6c:39:96:16:aa:27’);
END;
/
Informationen zu DBMS_CLOUD.CREATE_CREDENTIAL
finden Sie unter Prozedur CREATE_CREDENTIAL.
Bucket erstellen - Beispiel
Zeigt ein Beispiel mit der Methode DBMS_CLOUD.SEND_REQUEST
mit HTTP POST
, um einen Objektspeicher-Bucket mit dem Namen bucketname
zu erstellen.
Details zur Oracle Cloud Infrastructure Object Storage Service-API finden Sie in diesem Beispiel unter CreateBucket.
SET SERVEROUTPUT ON
DECLARE
resp DBMS_CLOUD_TYPES.resp;
BEGIN
-- Send request
resp := DBMS_CLOUD.send_request(
credential_name => 'OCI_KEY_CRED',
uri => 'https://objectstorage.region.oraclecloud.com/n/namespace-string/b/',
method => DBMS_CLOUD.METHOD_POST,
body => UTL_RAW.cast_to_raw(
JSON_OBJECT('name' value 'bucketname',
'compartmentId' value 'compartment_OCID'))
);
-- Response Body in TEXT format
dbms_output.put_line('Body: ' || '------------' || CHR(10) ||
DBMS_CLOUD.get_response_text(resp) || CHR(10));
-- Response Headers in JSON format
dbms_output.put_line('Headers: ' || CHR(10) || '------------' || CHR(10) ||
DBMS_CLOUD.get_response_headers(resp).to_clob || CHR(10));
-- Response Status Code
dbms_output.put_line('Status Code: ' || CHR(10) || '------------' || CHR(10) ||
DBMS_CLOUD.get_response_status_code(resp));
END;
/
Hinweise:
-
In diesem Beispiel ist
namespace-string
der Oracle Cloud Infrastructure-Objektspeicher-Namespace undbucketname
der Bucket-Name. Weitere Informationen finden Sie unter Object Storage-Namespaces. -
Dabei ist
region
eine Endpunktregion. Weitere Informationen finden Sie in der Object Storage-API-Referenz unter API-Referenz und -Endpunkte. Beispiel:region
ist:us-phoenix-1
.
Bucket löschen - Beispiel
Zeigt ein Beispiel mit DBMS_CLOUD.SEND_REQUEST
und der HTTP-Methode DELETE
zum Löschen eines Objektspeicher-Buckets namens bucketname
an.
Details zur Oracle Cloud Infrastructure Object Storage Service-API finden Sie in diesem Beispiel unter DeleteBucket.
SET SERVEROUTPUT ON
DECLARE
resp DBMS_CLOUD_TYPES.resp;
BEGIN
-- Send request
resp := DBMS_CLOUD.send_request(
credential_name => 'OCI_KEY_CRED',
uri => 'https://objectstorage.region.oraclecloud.com/n/namespace-string/b/bucketname',
method => DBMS_CLOUD.METHOD_DELETE
);
-- Response Body in TEXT format
dbms_output.put_line('Body: ' || '------------' || CHR(10) ||
DBMS_CLOUD.get_response_text(resp) || CHR(10));
-- Response Headers in JSON format
dbms_output.put_line('Headers: ' || CHR(10) || '------------' || CHR(10) ||
DBMS_CLOUD.get_response_headers(resp).to_clob || CHR(10));
-- Response Status Code
dbms_output.put_line('Status Code: ' || CHR(10) || '------------' || CHR(10) ||
DBMS_CLOUD.get_response_status_code(resp));
END;
/
Hinweise:
-
In diesem Beispiel ist
namespace-string
der Oracle Cloud Infrastructure-Objektspeicher-Namespace undbucketname
der Bucket-Name. Weitere Informationen finden Sie unter Object Storage-Namespaces. -
Dabei ist
region
eine Endpunktregion. Weitere Informationen finden Sie in der Object Storage-API-Referenz unter API-Referenz und -Endpunkte. Beispiel:region
ist:us-phoenix-1
.
Beispiel für Compartments auflisten
Zeigt ein Beispiel mit DBMS_CLOUD.SEND_REQUEST
und der HTTP-Methode GET
an, um alle Compartments im Mandanten (Root Compartment) aufzulisten. Dieses Beispiel zeigt, wie Anforderungsheader in DBMS_CLOUD.SEND_REQUEST
übergeben werden.
Einzelheiten zur Oracle Cloud Infrastructure Identity and Access Management-Service-API für dieses Beispiel finden Sie unter ListCompartments.
--
-- List compartments
--
DECLARE
resp DBMS_CLOUD_TYPES.resp;
root_compartment_ocid VARCHAR2(512) := '&1';
BEGIN
-- Send request
dbms_output.put_line('Send Request');
resp := DBMS_CLOUD.send_request(
credential_name => 'OCI_KEY_CRED',
uri => 'https://identity.region.oraclecloud.com/20160918/compartments?compartmentId=' || root_compartment_ocid,
method => DBMS_CLOUD.METHOD_GET,
headers => JSON_OBJECT('opc-request-id' value 'list-compartments')
);
dbms_output.put_line('Body: ' || '------------' || CHR(10) || DBMS_CLOUD.get_response_text(resp) || CHR(10));
dbms_output.put_line('Headers: ' || CHR(10) || '------------' || CHR(10) || DBMS_CLOUD.get_response_headers(resp).to_clob || CHR(10));
dbms_output.put_line('Status Code: ' || CHR(10) || '------------' || CHR(10) || DBMS_CLOUD.get_response_status_code(resp));
dbms_output.put_line(CHR(10));
END;
/
Dabei ist region
eine Endpunktregion. Weitere Informationen finden Sie in der Identity and Access Management-(IAM-)API-Referenz in API-Referenz und -Endpunkte. Beispiel: region
ist: uk-london-1
.
Beispiel für asynchrone Anforderungen
Zeigt ein Beispiel mit DBMS_CLOUD.SEND_REQUEST
und der HTTP-Methode POST
, um den Autonomous Database-Stoppvorgang auszuführen und auf den Status zu warten. In diesem Beispiel wird gezeigt, wie Sie DBMS_CLOUD.SEND_REQUEST
mit den Parametern async_request_url
, wait_for_states
und timeout
verwenden.
--
-- Sent Work Request Autonomous Database Stop Request with Wait for Status
DECLARE
l_resp DBMS_CLOUD_TYPES.resp;
l_resp_json JSON_OBJECT_T;
l_key_shape JSON_OBJECT_T;
l_body JSON_OBJECT_T;
status_array DBMS_CLOUD_TYPES.wait_for_states_t;
BEGIN
status_array := DBMS_CLOUD_TYPES.wait_for_states_t('SUCCEEDED');
l_body := JSON_OBJECT_T('{}');
l_body.put('autonomousDatabaseId', 'ocid');
-- Send request
dbms_output.put_line(l_body.to_clob);
dbms_output.put_line('Send Request');
l_resp := DBMS_CLOUD.send_request(
credential_name => 'NATIVE_CRED_OCI',
uri => 'https://database.region.oraclecloud.com/20160918/autonomousDatabases/ocid/actions/stop',
method => DBMS_CLOUD.METHOD_POST,
body => UTL_RAW.cast_to_raw(l_body.to_clob),
async_request_url => 'https://iaas.region.oraclecloud.com/20160918/workRequests',
wait_for_states => status_array,
timeout => 600
);
dbms_output.put_line('resp body: '||DBMS_CLOUD.get_response_text(l_resp));
dbms_output.put_line('resp headers: '||DBMS_CLOUD.get_response_headers(l_resp).to_clob);
END;
/
Dabei ist region
eine Endpunktregion. Weitere Informationen finden Sie in der Identity and Access Management-(IAM-)API-Referenz in API-Referenz und -Endpunkte. Beispiel: region
ist: uk-london-1
.
ocid
ist die Oracle Cloud Infrastructure-Ressourcen-ID. Weitere Informationen finden Sie unter Ressourcen-IDs.
Übergeordnetes Thema: DBMS_CLOUD REST-APIs
Fußnotenlegende
Fußnote 3: Die Unterstützung für REST-API-Aufrufe in Azure Cloud ist auf die Domain "blob.windows.net" beschränkt.