API REST et sous-programmes DBMS_CLOUD
Cette section traite des sous-programmes DBMS_CLOUD
et des API REST fournis avec Autonomous Database.
Pour exécuter un sous-programme
DBMS_CLOUD
avec un utilisateur autre qu'ADMIN, vous devez accorder les privilèges EXECUTE
à cet utilisateur. Par exemple, exécutez la commande suivante en tant qu'utilisateur ADMIN pour accorder les privilèges à adb_user
:GRANT EXECUTE ON DBMS_CLOUD TO adb_user;
Le package DBMS_CLOUD
se compose des éléments suivants :
- DBMS_CLOUD pour la gestion des informations d'identification
Sous-programmes de gestion des informations d'identification dans le package DBMS_CLOUD, ce qui inclut La création, La suppression et La mise à jour des informations d'identification. - DBMS_CLOUD pour les objets et les fichiers
Sous-programmes de gestion des objets et des fichiers dans le package DBMS_CLOUD. - DBMS_CLOUD pour la gestion de fichiers en masse
Sous-programmes pour les opérations de fichier en masse dans le package DBMS_CLOUD. - DBMS_CLOUD API REST
Cette section couvre les API RESTDBMS_CLOUD
fournies avec Autonomous Database.
Rubrique parent : Package DBMS_CLOUD
DBMS_CLOUD pour la gestion des accès
Sous-programmes de gestion des informations d'identification dans le package DBMS_CLOUD, ce qui inclut La création, La suppression et La mise à jour des informations d'identification.
Sous-programme | Description |
---|---|
Cette procédure stocke les informations d'identification de service cloud dans Autonomous Database. | |
Cette procédure enlève des informations d'identification existantes d'Autonomous Database. | |
Cette procédure actualise immédiatement la clé secrète de coffre des informations d'identification de clé secrète de coffre afin d'obtenir la dernière version de la clé secrète de coffre pour l'instance |
|
Cette procédure met à jour les attributs d'informations d'identification de service cloud dans Autonomous Database. |
- Procédure CREATE_CREDENTIAL
Cette procédure stocke les informations d'identification de service cloud dans Autonomous Database. - Procédure DROP_CREDENTIAL
Cette procédure enlève des informations d'identification existantes d'Autonomous Database. - Procédure REFRESH_VAULT_CREDENTIAL
Cette procédure actualise la clé secrète de coffre des informations d'identification de clé secrète de coffre. - Procédure UPDATE_CREDENTIAL
Cette procédure met à jour un attribut avec une nouvelle valeur pour une valeurcredential_name
spécifiée.
Rubrique parent : Sous-programmes DBMS_CLOUD et API REST
Procédure CREATE_CREDENTIAL
Cette procédure stocke les informations d'identification de service cloud dans Autonomous Database.
Utilisez les informations d'identification de service cloud stockées afin d'accéder au service Cloud pour le chargement des données, l'interrogation des données externes résidant dans le cloud ou d'autres cas lorsque vous utilisez des procédures DBMS_CLOUD
avec un paramètre credential_name
. Cette procédure est surchargée:
-
Utilisez les paramètres associés à Oracle Cloud Infrastructure, notamment
user_ocid
,tenancy_ocid
,private_key
etfingerprint
, uniquement lorsque vous utilisez l'authentification à l'aide de clés de signature Oracle Cloud Infrastructure. -
Utilisez le paramètre
params
pour l'un des éléments suivants :-
Informations d'identification des noms de ressource Amazon (ARN)
-
Informations d'identification Google Analytics ou Google BigQuery
-
Informations d'identification de clé secrète de coffre à utiliser avec un coffre pris en charge :
- Oracle Cloud Infrastructure Vault
- Coffre de clés Azure
- AWS Secrets Manager
- Gestionnaire de clés secrètes GCP
-
Syntaxe
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);
Paramètres
Paramètre | Description |
---|---|
|
Nom des informations d'identification à stocker. Le paramètre |
|
Les arguments |
|
Les arguments |
|
Indique le texte du commentaire pour les informations d'identification. Ce champ peut être utile pour décrire et distinguer les informations d'identification. La longueur maximale des commentaires est de 3800 caractères. |
|
Spécifie l'OCID de l'utilisateur. Pour plus de détails sur l'obtention de l'OCID de l'utilisateur, reportez-vous à Emplacement de l'OCID de la location et de l'OCID de l'utilisateur. |
|
Indique l'OCID de la location. Pour plus de détails sur l'obtention de l'OCID de la location, reportez-vous à Emplacement de l'OCID de la location et de l'OCID de l'utilisateur. |
|
Indique la clé privée générée. Les clés privées générées avec une phrase de passe ne sont pas prises en charge. Vous devez générer la clé privée sans phrase de passe. Pour plus d'informations sur la génération d'une paire de clés au format PEM, reportez-vous à Procédure de génération d'une clé de signature d'API. |
|
Spécifie une empreinte. Une fois qu'une clé publique générée est téléchargée vers le compte de l'utilisateur, l'empreinte est affichée dans la console. Utilisez l'empreinte affichée pour cet argument. Pour plus d'informations, reportez-vous à Procédure d'obtention de l'empreinte de la clé et à Procédure de génération d'une clé de signature d'API. |
|
Spécifie les paramètres d'informations d'identification pour l'un des éléments suivants :
|
Notes d'utilisation
-
Cette opération stocke les informations d'identification dans la base de données dans un format crypté.
-
Vous pouvez consulter les informations d'identification dans votre schéma en interrogeant la table
user_credentials
. -
Vous pouvez consulter les commentaires d'informations d'identification dans votre schéma en interrogeant la table
user_credentials
. Par exemple :SELECT comments FROM user_credentials WHERE credential_name = 'MY_CRED';
-
L'utilisateur
ADMIN
peut consulter toutes les informations d'identification en interrogeant la tabledba_credentials
. -
Vous ne devez créer les informations d'identification qu'une seule fois, sauf si vos informations d'identification de service cloud changent. Une fois les informations d'identification stockées, vous pouvez utiliser le même nom d'informations d'identification pour les procédures
DBMS_CLOUD
qui nécessitent un paramètrecredential_name
. -
Cette procédure est surchargée. Si vous fournissez l'un des attributs d'authentification basée sur une clé (
user_ocid
,tenancy_ocid
,private_key
oufingerprint
), l'appel est considéré comme des informations d'identification basées sur une clé de signature Oracle Cloud Infrastructure. -
Vous pouvez répertorier les informations d'identification à partir de la vue
ALL_CREDENTIALS
. Par exemple, exécutez la commande suivante pour répertorier les informations d'identification :SELECT credential_name, username, comments FROM all_credentials;
Informations d'identification Oracle Cloud Infrastructure (jetons d'authentification)
Pour Oracle Cloud Infrastructure, username
est votre nom utilisateur Oracle Cloud Infrastructure. password
est votre jeton d'authentification Oracle Cloud Infrastructure. Reportez-vous à Utilisation des jetons d'authentification.
Par exemple :
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name => 'DEF_CRED_NAME',
username => 'adb_user@example.com',
password => 'password' );
END;
/
Utilisez des informations d'identification basées sur un jeton d'authentification lorsque vous authentifiez des appels vers OCI Object Storage. Pour les appels vers tout autre type de service cloud Oracle Cloud Infrastructure, utilisez les informations d'identification basées sur une clé de signature Oracle Cloud Infrastructure.
Pour OCI Object Storage, la valeur de paramètre username
doit inclure le domaine d'identité et le nom utilisateur de votre profil. Vous pouvez trouver le domaine d'identité associé à un utilisateur dans la console Oracle Cloud Infrastructure.
Par exemple :
oracleidentitycloudservice/adb_user@example.com
Avec le domaine d'identité par défaut, vous n'êtes pas tenu d'inclure le nom de domaine Default
. Par exemple :
adb_user@example.com
Informations d'identification basées sur la clé de signature Oracle Cloud Infrastructure
Utilisez les paramètres associés à la clé de signature Oracle Cloud Infrastructure, notamment user_ocid
, tenancy_ocid
, private_key
et fingerprint
, avec l'authentification à l'aide de clés de signature Oracle Cloud Infrastructure.
Par exemple :
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;
/
Les clés privées générées avec une phrase de passe ne sont pas prises en charge. Vous devez générer la clé privée sans phrase de passe. Pour plus d'informations, reportez-vous à Procédure de génération d'une clé de signature d'API.
Informations d'identification Oracle Cloud Infrastructure Object Storage Classic
Si vos fichiers source résident dans Oracle Cloud Infrastructure Object Storage Classic, username
est votre nom utilisateur Oracle Cloud Infrastructure Classic et password
est votre mot de passe Oracle Cloud Infrastructure Classic.
Informations d'identification Amazon Web Services (AWS)
Si vos fichiers source résident dans Amazon S3 ou que vous appelez une API AWS, username
est votre ID de clé d'accès AWS et password
est votre clé d'accès secrète AWS. Reportez-vous à AWS Identity and Access Management.
Informations d'identification Microsoft Azure
Si vos fichiers source résident dans Azure Blob Storage ou Azure Data Lake Storage ou que vous appelez une API Azure, username
est le nom de votre compte de stockage Azure et password
est la clé d'accès d'un compte de stockage Azure. Reportez-vous à A propos des comptes de stockage Azure.
Informations d'identification compatibles avec Amazon S3
Service | Précisions sur les informations d'identification |
---|---|
Oracle Cloud Infrastructure (clés secrètes client) |
Si les fichiers source résident dans Oracle Cloud Infrastructure, vous devez utiliser des clés secrètes client avec des URL compatibles S3. Pour plus d'informations, reportez-vous à Utilisation des clés secrètes client. |
Google Cloud Storage |
Si les fichiers source résident dans Google Cloud Storage ou que vous appelez des API Google Cloud Storage, vous devez définir un projet Google par défaut et obtenir une clé HMAC pour créer des informations d'identification à accompagner d'URL Google Cloud Storage compatibles S3. Utilisez l'ID de clé HMAC comme nom utilisateur et la clé secrète HMAC comme mot de passe. Pour plus d'informations, reportez-vous à Projets et à Clés HMAC. |
Wasabi Hot Cloud Storage |
Si les fichiers source résident dans Wasabi Hot Cloud Storage ou que vous appelez des API Wasabi Hot Cloud Storage, vous avez besoin de clés d'accès pour créer des informations d'identification à accompagner d'URL compatibles S3. Utilisez la clé d'accès Wasabi Hot Cloud Storage comme nom utilisateur et la clé secrète Wasabi Hot Cloud Storage comme mot de passe. Pour plus d'informations, reportez-vous à Création d'un ensemble de clés d'accès à l'API Wasabi. |
Informations d'identification des noms de ressource AWS Amazon
Si vos fichiers source résident dans Amazon S3 ou que vous appelez une API AWS, utilisez params
pour spécifier les paramètres pour les noms de ressource Amazon (ARN).
Paramètre | Valeur |
---|---|
aws_role_arn |
Spécifie le nom de ressource Amazon (ARN) qui identifie le rôle AWS. Si ce paramètre n'est pas fourni lors de la création des informations d'identification, |
external_id_type |
Définissez éventuellement Si ce paramètre n'est pas indiqué lors de la création des informations d'identification, la valeur par défaut est |
Par exemple :
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;
/
Jeton d'accès personnel GitHub
Si vos fichiers source résident dans un référentiel GitHub ou que vous appelez une API GitHub, username
est votre adresse électronique GitHub et password
est votre jeton d'accès personnel GitHub. Pour plus d'informations, reportez-vous à Création d'un jeton d'accès personnel.
Par exemple :
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name => 'MY_GITHUB_CRED',
username => 'user@example.com',
password => 'your_personal_access_token' );
END;
/
Informations d'identification Google Analytics ou Google BigQuery
Si vous accédez à Google Analytics ou Google BigQuery, utilisez le paramètre params
pour indiquer les paramètres d'informations d'identification Google OAuth 2.0.
Paramètre | Valeur |
---|---|
gcp_oauth2 |
Indique l'accès OAuth 2.0 pour Google Analytics ou Google BigQuery avec un objet JSON qui inclut les paramètres suivants et leurs valeurs :
Pour plus d'informations sur les informations d'identification Google OAuth, reportez-vous à Utilisation de OAuth 2.0 pour accéder aux API Google. |
Par exemple :
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;
/
Informations d'identification de clé secrète de Vault avec Oracle Cloud Infrastructure Vault
Pour créer des informations d'identification de clé secrète de coffre avec Oracle Cloud Infrastructure Vault, utilisez le paramètre params
afin d'indiquer les paramètres requis :
-
username
: indique le nom utilisateur de tout type d'informations d'identification de nom utilisateur/mot de passe, tel que le nom utilisateur du mot de passe OCI Swift. Par exemple, si vous disposez d'informations d'identification Swift avec le nom utilisateur "scott" et le mot de passe "mot de passe", indiquez "scott" comme paramètreusername
. -
secret_id
: ID de clé secrète du coffre. Indiquez la valeursecret_id
en tant qu'OCID de clé secrète de coffre. Pour plus d'informations, reportez-vous àPrésentation de Vault. -
region
: paramètre facultatif qui indique l'identificateur de région oracle cloud. Lorsqu'elle est indiquée, la région indique l'emplacement où se trouve la clé secrète Oracle Cloud Infrastructure Vault.Par défaut,
CREATE_CREDENTIAL
utilise la valeurregion
mise en correspondance à partir de la clé de région danssecret_id
. Par exemple,us-ashburn-1
est une région.Pour une liste complète des régions, reportez-vous à Régions et domaines de disponible.
Par exemple :
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;
/
Remarques concernant l'utilisation d'une clé secrète Oracle Cloud Infrastructure Vault pour stocker les clés secrètes de coffre :
- Lorsque vous utilisez Oracle Cloud Infrastructure Vault, sur l'instance Autonomous Database, vous devez activer l'authentification de principal avec
DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL
. -
Sur Oracle Cloud Infrastructure, vous devez indiquer une stratégie permettant au principal de ressource d'accéder à la clé secrète.
Pour créer des informations d'identification de clé secrète de coffre, vous devez disposer du privilège EXECUTE
sur le package DBMS_CLOUD
.
Informations d'identification de clé secrète de coffre avec Azure Key Vault
Pour créer des informations d'identification Azure Key Vault, utilisez le paramètre params
afin d'indiquer les paramètres requis :
-
username
: indique le nom utilisateur associé à la clé. -
secret_id
: indique le nom de la clé secrète. -
azure_vault_name
: indique le nom du coffre dans lequel se trouve la clé secrète.
Pour plus d'informations, reportez-vous à Création d'un coffre de clés.
Pour créer des informations d'identification de clé secrète de coffre, vous devez disposer du privilège EXECUTE
sur le package DBMS_CLOUD
.
Informations d'identification de clé secrète de coffre avec AWS Secrets Manager
Pour créer des informations d'identification de clé secrète de coffre avec AWS Secrets Manager, utilisez le paramètre params
pour indiquer les paramètres requis :
-
username
: spécifie la clé d'accès AWS Secrets Manager. -
secret_id
: AWS Secrets Manager AWS ARN. -
region
: (facultatif) indique la région de service AWS dans laquelle se trouvent le coffre et la clé secrète. Un exemple de la région AWS est "us-east-2". La valeur par défautregion
est la région indiquée avec le numéro ARN dans le paramètresecret_id
.Pour plus d'informations, reportez-vous à Gestion des régions AWS.
Pour créer des informations d'identification de clé secrète de coffre, vous devez disposer du privilège
EXECUTE
sur le packageDBMS_CLOUD
.
Informations d'identification de clé secrète de coffre avec le gestionnaire de clés secrètes GCP
Pour créer les informations d'identification du gestionnaire de clés secrètes GCP, utilisez le paramètre params
pour indiquer les paramètres requis :
-
username
: indique le nom utilisateur associé à la clé secrète. -
secret_id
: nom de la clé secrète. -
gcp_project_id
: indique l'ID du projet où se trouve la clé secrète.
Pour plus d'informations, reportez-vous à Gestionnaire de clé secrète.
Pour créer des informations d'identification de clé secrète de coffre, vous devez disposer du privilège EXECUTE
sur le package DBMS_CLOUD
.
Rubrique parent : DBMS_CLOUD pour la gestion des accès
Procédure DROP_CREDENTIAL
Cette procédure enlève des informations d'identification existantes d'Autonomous Database.
Syntaxe
DBMS_CLOUD.DROP_CREDENTIAL
(
credential_name IN VARCHAR2);
Paramètres
Paramètre | Description |
---|---|
|
Nom des informations d'identification à enlever. |
Rubrique parent : DBMS_CLOUD pour la gestion des accès
Procédure REFRESH_VAULT_CREDENTIAL
Cette procédure actualise la clé secrète de coffre des informations d'identification de clé secrète de coffre.
Cette procédure vous permet d'actualiser immédiatement la clé secrète de coffre d'informations d'identification de clé secrète de coffre afin d'obtenir la dernière version de la clé secrète de coffre pour le fichier credential_name
indiqué.
Syntaxe
DBMS_CLOUD.REFRESH_VAULT_CREDENTIAL
(
credential_name IN VARCHAR2);
Paramètres
Paramètre | Description |
---|---|
|
Nom des informations d'identification à actualiser. |
Notes d'utilisation
-
L'utilisateur
ADMIN
peut consulter toutes les informations d'identification en interrogeant la tabledba_credentials
. -
Vous pouvez répertorier les informations d'identification à partir de la vue
ALL_CREDENTIALS
. Par exemple, exécutez la commande suivante pour répertorier les informations d'identification :SELECT credential_name, username, comments FROM all_credentials;
Exemple
BEGIN
DBMS_CLOUD.REFRESH_VAULT_CREDENTIAL
(
credential_name => 'AZURE_SECRET_CRED');
END;
/
Rubrique parent : DBMS_CLOUD pour la gestion des accès
Procédure UPDATE_CREDENTIAL
Cette procédure permet de mettre à niveau un attribut avec une nouvelle valeur pour un élément credential_name
spécifié.
Utilisez les informations d'identification stockées pour le chargement des données, l'interrogation des données externes résidant dans le cloud ou quand vous utilisez des procédures DBMS_CLOUD
avec un paramètre credential_name
.
Syntaxe
DBMS_CLOUD.UPDATE_CREDENTIAL
(
credential_name IN VARCHAR2,
attribute IN VARCHAR2,
value IN VARCHAR2);
Paramètres
Paramètre | Description |
---|---|
|
Nom des informations d'identification à mettre à jour. |
|
Nom de l'attribut à mettre à jour. Pour les informations d'identification de type nom utilisateur/mot de passe, les valeurs Pour les informations d'identification d'un ARN Amazon, les valeurs Pour les informations d'identification de Google BigQuery ou Google Analytics, les valeurs Selon le coffre que vous utilisez, pour les informations d'identification de clé secrète de coffre, les valeurs
attribute valides sont les suivantes :
Pour plus d'informations, reportez-vous à Procédure CREATE_CREDENTIAL. |
|
Nouvelle valeur pour l'attribut spécifié. |
Notes d'utilisation
-
La valeur du nom utilisateur est sensible à la casse. Il ne peut contenir ni guillemets ni espaces.
-
L'utilisateur
ADMIN
peut consulter toutes les informations d'identification en interrogeantdba_credentials
. -
Vous ne devez créer les informations d'identification qu'une seule fois, sauf si vos informations d'identification de service cloud changent. Une fois les informations d'identification stockées, vous pouvez utiliser le même nom d'informations d'identification pour les procédures
DBMS_CLOUD
qui nécessitent un paramètrecredential_name
. -
Vous pouvez répertorier les informations d'identification à partir de la vue
ALL_CREDENTIALS
. Par exemple, exécutez la commande suivante pour répertorier les informations d'identification :SELECT credential_name, username, comments FROM all_credentials;
Exemples
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;
/
Rubrique parent : DBMS_CLOUD pour la gestion des accès
DBMS_CLOUD pour les objets et les fichiers
Sous-programmes de gestion des objets et des fichiers dans le package DBMS_CLOUD.
Sous-programme | Description |
---|---|
Cette procédure charge les données dans une collection SODA existante à partir du stockage d'objets cloud ou à partir de fichiers d'un répertoire. | |
Cette procédure charge les données dans les tables Autonomous Database existantes à partir de Cloud Object Storage ou de fichiers d'un répertoire. | |
Cette procédure, avec le paramètre format type défini sur la valeur orc , parquet ou avro , charge les données dans les tables Autonomous Database existantes à partir de fichiers ORC, Parquet ou Avro dans le cloud ou à partir de fichiers ORC, Parquet ou Avro dans un répertoire.
Comme pour les fichiers texte, les données sont copiées à partir du fichier ORC, Parquet ou Avro source dans la table interne préexistante. |
|
Cette procédure copie les fichiers d'un bucket Cloud Object Storage vers un autre. | |
Cette procédure crée une table externe sur les fichiers dans le cloud ou sur les fichiers dans un répertoire. Vous pouvez ainsi exécuter des requêtes sur des données externes à partir d'Autonomous Database. | |
Procédure CREATE_CLOUD_TABLE |
Cette procédure crée une table cloud dans laquelle toutes les données persistantes sont stockées dans Oracle-Managed Object Storage. |
Procédure CREATE_EXTERNAL_TABLE pour Apache Iceberg |
Cette procédure crée des tables externes pour les tables Apache Iceberg dans les configurations prises en charge. |
CREATE_EXTERNAL_TABLE Procédure pour les fichiers Avro, ORC ou Parquet |
Cette procédure, avec le paramètre format type défini sur la valeur parquet , orc ou avro , crée une table externe avec des fichiers au format Parquet, ORC ou Avro dans le cloud ou dans un répertoire.
Vous pouvez ainsi exécuter des requêtes sur des données externes à partir d'Autonomous Database. |
Cette procédure crée une table externe partitionnée sur les fichiers dans le cloud. Vous pouvez ainsi exécuter des requêtes sur des données externes à partir d'Autonomous Database. | |
Cette procédure crée un index de texte sur les fichiers de la banque d'objets. |
|
Cette procédure crée une table partitionnée hybride. Vous pouvez ainsi exécuter des requêtes sur des données partitionnées hybrides à partir d'Autonomous Database. | |
Cette procédure efface toutes les opérations de chargement de données consignées dans la table user_load_operations de votre schéma, ou toutes les opérations de chargement de données du type spécifié, comme indiqué dans le paramètre type .
|
|
Cette procédure enlève le fichier spécifié du répertoire indiqué sur Autonomous Database | |
Cette procédure supprime l'objet spécifié de la banque d'objets. | |
Cette procédure accepte une entrée |
|
Cette procédure supprime l'index de texte dans les fichiers de la banque d'objets. |
|
Cette procédure exporte les données d'Autonomous Database vers des fichiers dans le cloud en fonction du résultat d'une requête. La forme surchargée permet d'utiliser le paramètre operation_id . En fonction de l'option type du paramètre format indiquée, la procédure exporte les lignes vers la banque d'objets cloud sous forme de texte avec les options CSV, JSON, Parquet ou XML, ou en utilisant le pilote d'accès ORACLE_DATAPUMP pour écrire des données dans un fichier dump. |
|
Cette procédure est surchargée. Ce formulaire de procédure lit un objet à partir du stockage d'objet cloud et la copie vers Autonomous Database. Le formulaire de fonction lit un objet à partir de Cloud Object Storage et renvoie une valeur BLOB vers Autonomous Database.
|
|
Cette fonction liste les fichiers présents dans le répertoire spécifié. Les résultats incluent les noms de fichier et les métadonnées supplémentaires sur les fichiers, telles que la taille de fichier en octets, l'horodatage de création et l'horodatage de dernière modification. | |
Cette fonction répertorie les objets présents à l'emplacement spécifié dans la banque d'objets. Les résultats incluent les noms d'objet et les métadonnées supplémentaires sur les objets, telles que la taille, le checksum, l'horodatage de création et l'horodatage de dernière modification. | |
Cette procédure déplace un objet d'un bucket Cloud Object Storage vers un autre. | |
Cette procédure est surchargée. Dans un formulaire, la procédure copie un fichier d'Autonomous Database vers le stockage d'objet cloud. Sous une autre forme, la procédure copie une instance BLOB d'Autonomous Database vers Cloud Object Storage.
|
|
Cette procédure simplifie la mise à jour d'une table partitionnée externe à partir de fichiers dans le cloud. Exécutez cette procédure chaque fois que de nouvelles partitions sont ajoutées ou lorsque des partitions sont supprimées de la source de la banque d'objets pour la table partitionnée externe. |
|
Cette procédure valide les fichiers source pour une table externe, génère des informations sur le journal et stocke les lignes qui ne correspondent pas aux options de format indiquées pour la table externe dans une table badfile sur Autonomous Database. | |
Cette procédure valide les fichiers source pour une table externe partitionnée, génère les informations de journal et stocke les lignes qui ne correspondent pas aux options de format indiquées pour la table externe dans une table badfile sur Autonomous Database. | |
Cette procédure valide les fichiers source pour la table partitionnée hybride, génère les informations de journal et stocke les lignes qui ne correspondent pas aux options de format indiquées pour la table hybride dans une table badfile sur Autonomous Database. |
- COPY_COLLECTION Procédure
Cette procédure charge les données dans une collection SODA à partir du stockage d'objet cloud ou d'un répertoire. Si la collection SODA spécifiée n'existe pas, la procédure la crée. La forme surchargée permet d'utiliser le paramètreoperation_id
. - COPY_DATA Procédure
Cette procédure charge les données dans les tables Autonomous Database existantes à partir de fichiers dans le cloud ou de fichiers d'un répertoire. La forme surchargée permet d'utiliser le paramètreoperation_id
. - Procédure COPY_DATA pour les fichiers Avro, ORC ou Parquet
Cette procédure avec le paramètreformat
type
défini sur la valeuravro
,orc
ouparquet
charge les données dans les tables Autonomous Database existantes à partir de fichiers Avro, ORC ou Parquet dans le cloud ou à partir de fichiers d'un répertoire. - COPY_OBJECT Procédure
Cette procédure copie un objet d'un bucket ou dossier Cloud Object Storage vers un autre. - CREATE_CLOUD_TABLE Procédure
Cette procédure crée une table cloud. Toutes les données de table cloud sont stockées dans Object Storage géré par Oracle (les tables cloud stockent uniquement leurs métadonnées dans la base de données). - CREATE_EXTERNAL_PART_TABLE Procédure
Cette procédure crée une table partitionnée externe sur les fichiers dans le cloud ou à partir de fichiers dans un répertoire. Vous pouvez ainsi exécuter des requêtes sur des données externes à partir d'Autonomous Database. - CREATE_EXTERNAL_TABLE Procédure
Cette procédure crée une table externe sur les fichiers dans le cloud ou à partir de fichiers dans un répertoire. Vous pouvez ainsi exécuter des requêtes sur des données externes à partir d'Autonomous Database. - CREATE_EXTERNAL_TABLE Procédure pour Apache Iceberg
Cette procédure crée des tables externes pour les tables Apache Iceberg dans les configurations prises en charge. - Procédure CREATE_EXTERNAL_TABLE pour les fichiers Avro, ORC ou Parquet
Cette procédure avec le paramètreformat
type
défini sur la valeuravro
,orc
ouparquet
crée une table externe avec des fichiers au format Avro, ORC ou Parquet dans le cloud ou dans un répertoire. - Procédure CREATE_EXTERNAL_TEXT_INDEX
Cette procédure crée un index de texte sur les fichiers Object Storage. - Procédure CREATE_HYBRID_PART_TABLE
Cette procédure crée une table partitionnée hybride. Vous pouvez ainsi exécuter des requêtes sur des données partitionnées hybrides à partir d'Autonomous Database à l'aide d'objets et de fichiers de base de données dans le cloud ou d'objets et de fichiers de base de données dans un répertoire. - Procédure DELETE_ALL_OPERATIONS
Cette procédure efface toutes les opérations de chargement de données consignées dans la tableuser_load_operations
de votre schéma, ou toutes les opérations de chargement de données du type spécifié, comme indiqué dans le paramètretype
. - Procédure DELETE_FILE
Cette procédure enlève le fichier spécifié du répertoire indiqué sur Autonomous Database. - Procédure DELETE_OBJECT
Cette procédure supprime l'objet spécifié de la banque d'objets. - Procédure DELETE_OPERATION
Cette procédure efface les entrées de chargement de données pour l'ID d'opération indiqué consignées dans les tablesuser_load_operations
oudba_load_operations
de votre schéma. - Procédure DROP_EXTERNAL_TEXT_INDEX
Cette procédure supprime l'index de texte sur les fichiers Object Storage. - EXPORT_DATA Procédure
Cette procédure exporte des données à partir d'Autonomous Database en fonction du résultat d'une requête. Cette procédure est surchargée et prend en charge l'écriture de fichiers dans le cloud ou dans un répertoire. - GET_OBJECT Procédure et fonction
Cette procédure est surchargée. Le formulaire de procédure lit un objet à partir du stockage d'objet cloud et la copie vers Autonomous Database. Le formulaire de fonction lit un objet à partir de Cloud Object Storage et renvoie une valeurBLOB
vers Autonomous Database. - Fonction LIST_FILES
Cette fonction liste les fichiers présents dans le répertoire spécifié. Les résultats incluent les noms de fichier et les métadonnées supplémentaires sur les fichiers, telles que la taille de fichier en octets, l'horodatage de création et l'horodatage de dernière modification. - Fonction LIST_OBJECTS
Cette fonction répertorie les objets présents à l'emplacement spécifié dans la banque d'objets. Les résultats incluent les noms d'objet et les métadonnées supplémentaires sur les objets, telles que la taille, le checksum, l'horodatage de création et l'horodatage de dernière modification. - MOVE_OBJECT Procédure
Cette procédure déplace un objet d'un bucket ou dossier Cloud Object Storage vers un autre. - PUT_OBJECT Procédure
Cette procédure est surchargée. Dans un formulaire, la procédure copie un fichier d'Autonomous Database vers le stockage d'objet cloud. Sous une autre forme, la procédure copie une instanceBLOB
d'Autonomous Database vers Cloud Object Storage. - Procédure SYNC_EXTERNAL_PART_TABLE
Cette procédure simplifie la mise à jour d'une table partitionnée externe à partir de fichiers dans le cloud. Exécutez cette procédure chaque fois que de nouvelles partitions sont ajoutées ou lorsque des partitions sont supprimées de la source de la banque d'objets pour la table partitionnée externe. - Procédure VALIDATE_EXTERNAL_PART_TABLE
Cette procédure valide les fichiers source pour une table externe partitionnée, génère les informations de journal et stocke les lignes qui ne correspondent pas aux options de format indiquées pour la table externe dans une table badfile sur Autonomous Database. La forme surchargée permet d'utiliser le paramètreoperation_id
. - Procédure VALIDATE_EXTERNAL_TABLE
Cette procédure valide les fichiers source pour une table externe, génère des informations sur le journal et stocke les lignes qui ne correspondent pas aux options de format indiquées pour la table externe dans une table badfile sur Autonomous Database. La forme surchargée permet d'utiliser le paramètreoperation_id
. - Procédure VALIDATE_HYBRID_PART_TABLE
Cette procédure valide les fichiers source pour la table partitionnée hybride, génère les informations de journal et stocke les lignes qui ne correspondent pas aux options de format indiquées pour la table hybride dans une table badfile sur Autonomous Database. La forme surchargée permet d'utiliser le paramètreoperation_id
.
Rubrique parent : Sous-programmes DBMS_CLOUD et API REST
Procédure COPY_COLLECTION
Cette procédure charge les données dans une collection SODA à partir du stockage d'objet cloud ou d'un répertoire. Si la collection SODA spécifiée n'existe pas, la procédure la crée. La forme surchargée permet d'utiliser le paramètre operation_id
.
Syntaxe
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
);
Paramètres
Paramètre | Description |
---|---|
|
Nom de la collection SODA dans laquelle les données sont chargées. Si une collection portant ce nom existe déjà, les données spécifiées sont chargées, sinon, la collection est créée. |
|
Nom des informations d'identification permettant d'accéder au stockage d'objet cloud. Vous pouvez utiliser Ce paramètre n'est pas utilisé lorsque vous indiquez un répertoire avec |
|
Ce paramètre spécifie une liste d'URI de fichier source séparés par des virgules ou un ou plusieurs répertoires et fichiers source. URI de fichier source cloud Vous pouvez utiliser des caractères génériques ainsi que des expressions régulières dans les noms de fichier dans les URI de fichier source cloud. Les expressions régulières ne peuvent être utilisées que lorsque le paramètre Les caractères "*" et " ?" sont considérés comme des caractères génériques lorsque le paramètre Les modèles d'expression régulière sont uniquement pris en charge pour le nom de fichier ou le chemin de sous-dossier dans vos URI et la correspondance de modèle est identique à celle effectuée par la fonction Par exemple :
Le format des URI dépend du service Cloud Object Storage que vous utilisez. Pour en savoir plus, reportez-vous àFormats d'URI DBMS_CLOUD. Pour plus d'informations sur la condition Répertoire Vous pouvez indiquer un répertoire et un ou plusieurs noms de fichier ou utiliser une liste de répertoires et de noms de fichier séparés par des virgules. Le format pour spécifier un répertoire est : Les expressions régulières ne sont pas prises en charge lors de la spécification des noms de fichier dans un répertoire. Vous pouvez uniquement utiliser des caractères génériques pour indiquer des noms de fichier dans un répertoire. Le caractère "*" peut être utilisé comme générique pour plusieurs caractères et le caractère " ?" peut être utilisé comme générique pour un seul caractère. Par exemple : Pour spécifier plusieurs répertoires, utilisez une liste de répertoires séparés par des virgules : par exemple : Utilisez des guillemets doubles pour indiquer un nom de répertoire sensible à la casse. Par exemple : Pour inclure un guillemet, utilisez deux guillemets. Par exemple : |
|
Options décrivant le format des fichiers source. Ces options sont indiquées sous forme de chaîne JSON. Formats pris en charge : Outre les formats mentionnés pour les données JSON, Autonomous Database prend également en charge d'autres formats. Pour obtenir la liste des arguments de format pris en charge par Autonomous Database, reportez-vous à Options de format de package DBMS_CLOUD. |
|
Utilisez ce paramètre pour suivre la progression et le statut final de l'opération de chargement sous l'ID correspondant dans la vue |
Exemple
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;
/
Rubrique parent : DBMS_CLOUD pour les objets et les fichiers
Procédure COPY_DATA
Cette procédure charge les données dans les tables Autonomous Database existantes à partir de fichiers dans le cloud ou de fichiers d'un répertoire. La forme surchargée permet d'utiliser le paramètre operation_id
.
Syntaxe
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);
Paramètres
Paramètre | Description |
---|---|
|
Nom de la table cible dans la base de données. Vous devez avoir créé la table cible avant d'exécuter |
|
Nom des informations d'identification permettant d'accéder au stockage d'objet cloud. Vous pouvez utiliser Ce paramètre n'est pas utilisé lorsque vous indiquez un répertoire ou une URL de lien hypertexte de table avec |
|
Ce paramètre spécifie l'une des valeurs suivantes :
Vous pouvez utiliser des caractères génériques ainsi que des expressions régulières dans les noms de fichier dans les URI de fichier source cloud. URI de fichier source cloud Ce paramètre spécifie une liste d'URI de fichier source séparés par des virgules ou un ou plusieurs répertoires et fichiers source. Les expressions régulières ne peuvent être utilisées que lorsque le paramètre Les caractères "*" et " ?" sont considérés comme des caractères génériques lorsque le paramètre Les modèles d'expression régulière sont uniquement pris en charge pour le nom de fichier ou le chemin de sous-dossier dans vos URI et la correspondance de modèle est identique à celle effectuée par la fonction Par exemple :
Le format des URI dépend du service Cloud Object Storage que vous utilisez. Pour en savoir plus, reportez-vous àFormats d'URI DBMS_CLOUD. Pour plus d'informations sur la condition URL du lien hypertexte de table Vous pouvez utiliser un lien hypertexte de table comme suit :
Répertoire Vous pouvez indiquer un répertoire et un ou plusieurs noms de fichier ou utiliser une liste de répertoires et de noms de fichier séparés par des virgules. Le format pour spécifier un répertoire est : Les expressions régulières ne sont pas prises en charge lors de la spécification des noms de fichier dans un répertoire. Vous pouvez uniquement utiliser des caractères génériques pour indiquer des noms de fichier dans un répertoire. Le caractère "*" peut être utilisé comme un caractère générique pour plusieurs caractères et le caractère " ?" peut être utilisé comme un caractère générique pour un seul caractère. Par exemple : Pour spécifier plusieurs répertoires, utilisez une liste de répertoires séparés par des virgules : par exemple : Utilisez des guillemets doubles pour indiquer un nom de répertoire sensible à la casse. Par exemple : Pour inclure un guillemet, utilisez deux guillemets. Par exemple : |
|
Nom du schéma dans lequel réside la table cible. La valeur par défaut est NULL, ce qui signifie que la table cible se trouve dans le même schéma que l'utilisateur qui exécute la procédure. |
|
Identifie les champs dans les fichiers source et leurs types de données. La valeur par défaut est NULL, ce qui signifie que les champs et leurs types de données sont déterminés par la définition de table cible. La syntaxe de cet argument est identique à la clause Lorsque la valeur de l'option Pour obtenir un exemple d'utilisation de |
|
Options décrivant le format des fichiers source, des fichiers journaux et des fichiers incorrects. Pour connaître la liste des options et découvrir comment spécifier les valeurs, reportez-vous à DBMS_CLOUD Package Format Options. Pour connaître les options de format de fichier Avro, ORC ou Parquet, reportez-vous à DBMS_CLOUD Options de format de package pour Avro, ORC ou Parquet. |
|
Utilisez ce paramètre pour suivre la progression et le statut final de l'opération de chargement sous l'ID correspondant dans la vue |
Remarque sur l'utilisation
Le délimiteur d'enregistrement par défaut est detected newline
. Avec detected newline
, DBMS_CLOUD
tente de trouver automatiquement le caractère de nouvelle ligne correct à utiliser comme délimiteur d'enregistrement. DBMS_CLOUD
recherche d'abord le caractère de retour à la ligne Windows \r\n
. S'il trouve le caractère à la ligne Windows, celui-ci est utilisé comme délimiteur d'enregistrement pour tous les fichiers de la procédure. 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. Si les fichiers source utilisent une combinaison de différents délimiteurs d'enregistrement, vous risquez de rencontrer une erreur telle que "KUP-04020: found record longer than buffer size supported
". Dans ce cas, vous devez soit modifier les fichiers source pour utiliser le même délimiteur d'enregistrement, soit spécifier uniquement les fichiers source qui utilisent le même délimiteur d'enregistrement.
Reportez-vous à la section DBMS_CLOUD Package Format Options pour plus d'informations sur l'option de format recorddelmiter
.
Exemples
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;
/
Rubrique parent : DBMS_CLOUD pour les objets et les fichiers
COPY_DATA Procédure pour les fichiers Avro, ORC ou Parquet
format
type
défini sur la valeur avro
, orc
ou parquet
, charge les données dans les tables Autonomous Database existantes à partir des fichiers Avro, ORC ou Parquet dans le cloud ou à partir des fichiers d'un répertoire.
Comme pour les fichiers texte, les données sont copiées à partir du fichier Avro, ORC ou Parquet source dans la table interne préexistante.
Syntaxe
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);
Paramètres
Paramètre | Description |
---|---|
|
Nom de la table cible dans la base de données. Vous devez avoir créé la table cible avant d'exécuter |
|
Nom des informations d'identification permettant d'accéder au stockage d'objet cloud. Vous pouvez utiliser Ce paramètre n'est pas utilisé lorsque vous indiquez un répertoire avec |
|
Ce paramètre spécifie une liste d'URI de fichier source séparés par des virgules ou un ou plusieurs répertoires et fichiers source. URI de fichier source cloud Vous pouvez utiliser des caractères génériques ainsi que des expressions régulières dans les noms de fichier dans les URI de fichier source cloud. Les expressions régulières ne peuvent être utilisées que lorsque le paramètre Les caractères "*" et " ?" sont considérés comme des caractères génériques lorsque le paramètre Les modèles d'expression régulière sont uniquement pris en charge pour le nom de fichier ou le chemin de sous-dossier dans vos URI et la correspondance de modèle est identique à celle effectuée par la fonction Par exemple :
Le format des URI dépend du service Cloud Object Storage que vous utilisez. Pour obtenir plus de détails, reportez-vous à la page Formats d'URI DBMS_CLOUD. Pour plus d'informations sur la condition Répertoire Vous pouvez indiquer un répertoire et un ou plusieurs noms de fichier ou utiliser une liste de répertoires et de noms de fichier séparés par des virgules. Le format pour spécifier un répertoire est : Les expressions régulières ne sont pas prises en charge lors de la spécification des noms de fichier dans un répertoire. Vous pouvez uniquement utiliser des caractères génériques pour indiquer des noms de fichier dans un répertoire. Le caractère "*" peut être utilisé comme générique pour plusieurs caractères, et le caractère " ?" peut être utilisé comme générique pour un seul caractère. Par exemple : Pour spécifier plusieurs répertoires, utilisez une liste de répertoires séparés par des virgules : par exemple : Utilisez des guillemets doubles pour indiquer un nom de répertoire sensible à la casse. Par exemple : Pour inclure un guillemet, utilisez deux guillemets. Par exemple : |
|
Nom du schéma dans lequel réside la table cible. La valeur par défaut est NULL, ce qui signifie que la table cible se trouve dans le même schéma que l'utilisateur qui exécute la procédure. |
|
Ignoré pour les fichiers Avro, ORC ou Parquet. Les champs de la source correspondent aux colonnes de la table externe par nom. Les types de données source sont convertis en types de données de colonne de table externe. Pour les fichiers ORC, reportez-vous à Mise en correspondance de types de données ORC avec des types de données Oracle avec DBMS_CLOUD. Pour les fichiers Parquet, reportez-vous à la section DBMS_CLOUD Package Parquet to Oracle Data Type Mapping pour plus d'informations sur le mapping. Pour les fichiers Avro, reportez-vous à la section DBMS_CLOUD Package Avro to Oracle Data Type Mapping pour plus de détails sur le mappage. |
|
Options décrivant le format des fichiers source. Pour les fichiers Avro, ORC ou Parquet, seules deux options sont prises en charge : reportez-vous à DBMS_CLOUD Options de format de package pour Avro, ORC ou Parquet. |
Notes d'utilisation
-
Comme pour les autres fichiers de données, les chargements de données Avro, ORC et Parquet génèrent des journaux visibles dans les tables
dba_load_operations
etuser_load_operations
. Chaque opération de chargement ajoute un enregistrement àdba
[user]_load_operations
qui indique la table contenant les journaux.La table de journalisation fournit des informations récapitulatives sur le chargement.
-
Pour Avro, ORC ou Parquet, lorsque le paramètre
format
type
est défini sur la valeuravro
,orc
ouparquet
, la tableBADFILE_TABLE
est toujours vide.-
Pour les fichiers Parquet, les erreurs de contrainte
PRIMARY KEY
génèrent une erreurORA
. -
Si les données d'une colonne rencontrent une erreur de conversion, par exemple, si la colonne cible n'est pas suffisamment grande pour contenir la valeur convertie, la valeur de la colonne est définie sur
NULL
. Cela ne génère pas d'enregistrement rejeté.
-
Rubrique parent : DBMS_CLOUD pour les objets et les fichiers
Procédure COPY_OBJECT
Cette procédure copie un objet d'un bucket ou dossier Cloud Object Storage vers un autre.
Le dossier ou le bucket source et cible peuvent se trouver dans le même fournisseur de banque d'objets cloud ou dans un autre fournisseur.
Lorsque la source et la cible se trouvent dans des banques d'objets distinctes ou ont des comptes différents avec le même fournisseur cloud, vous pouvez donner des noms d'informations d'identification distincts pour les emplacements source et cible.
Par défaut, le nom des informations d'identification source est également utilisé par l'emplacement cible lorsque le nom des informations d'identification cible n'est pas fourni.
Syntaxe
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
);
Paramètres
Paramètre | Description |
---|---|
|
Nom des infos d'identification permettant d'accéder au stockage d'objet cloud source. Vous pouvez utiliser Si vous ne fournissez pas de valeur |
|
Spécifie l'URI, qui pointe vers l'emplacement du dossier ou du bucket Object Storage source. Ce paramètre est obligatoire. Le format des URI dépend du service Cloud Object Storage. Pour plus d'informations, reportez-vous à la section DBMS_CLOUD URI Formats. |
|
Indique l'URI de la banque d'objets cible. Ce paramètre est obligatoire. Le format des URI dépend du service Cloud Object Storage. Pour plus d'informations, reportez-vous à la section DBMS_CLOUD URI Formats. |
|
Nom des données d'identification permettant d'accéder à l'emplacement de stockage d'objet cloud cible. Vous pouvez utiliser Si vous ne fournissez pas de valeur |
Exemple
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;
/
Rubrique parent : DBMS_CLOUD pour les objets et les fichiers
Procédure CREATE_CLOUD_TABLE
Cette procédure crée une table cloud. Toutes les données de table cloud sont stockées dans Object Storage géré par Oracle (les tables cloud stockent uniquement leurs métadonnées dans la base de données).
Syntaxe
DBMS_CLOUD.CREATE_CLOUD_TABLE
(
table_name IN VARCHAR2,
column_list IN CLOB,
params IN CLOB);
Paramètres
Paramètre | Description |
---|---|
|
Nom de la table cloud. |
|
Liste des types et noms de colonne pour la table cloud, séparés par des virgules. |
Notes d'utilisation
-
Attributs
DEFAULT
: la clausecolumn_list
peut inclure la clauseDEFAULT
, qui fonctionne comme la clauseDEFAULT
dans une clauseCREATE TABLE
ordinaire. Pour plus d'informations sur le comportement de la clauseDEFAULT
, reportez-vous à CREATE TABLE. -
Utilisez
DROP TABLE
pour supprimer une table cloud. Les tables cloud ne prennent pas en charge la corbeille.Par exemple :
DROP TABLE CLOUD_TAB1;
-
Vous pouvez accorder des privilèges
SELECT
,INSERT
etUPDATE
pour une table cloud. Aucun autre privilège ne peut être accordé à une table cloud.Pour plus d'informations, reportez-vous à Configuration de l'autorisation de privilège et de rôle.
Exemples
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;
/
Rubrique parent : DBMS_CLOUD pour les objets et les fichiers
Procédure CREATE_EXTERNAL_PART_TABLE
Cette procédure crée une table partitionnée externe sur les fichiers dans le cloud, ou à partir de fichiers dans un répertoire. Vous pouvez ainsi exécuter des requêtes sur des données externes à partir d'Autonomous Database.
Syntaxe
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);
Paramètres
Paramètre | Description |
---|---|
|
Nom de la table externe. |
|
Nom des informations d'identification permettant d'accéder au stockage d'objet cloud. Vous pouvez utiliser |
|
Spécifie la clause de partitionnement complète, y compris les informations d'emplacement pour les partitions individuelles. Si vous utilisez le paramètre |
|
Ce paramètre spécifie une liste d'URI de fichier source séparés par des virgules ou un ou plusieurs répertoires et fichiers source. URI de fichier source cloud Vous pouvez utiliser des caractères génériques ainsi que des expressions régulières dans les noms de fichier dans les URI de fichier source cloud. Les expressions régulières ne peuvent être utilisées que lorsque le paramètre Les caractères "*" et " ?" sont considérés comme des caractères génériques lorsque le paramètre Les modèles d'expression régulière sont uniquement pris en charge pour le nom de fichier ou le chemin de sous-dossier dans vos URI et la correspondance de modèle est identique à celle effectuée par la fonction Cette option est uniquement prise en charge avec les tables externes créées sur un fichier dans Object Storage. Par exemple :
Si vous utilisez le paramètre Le format des URI dépend du service Cloud Object Storage. Pour plus d'informations, reportez-vous à la section DBMS_CLOUD URI Formats. Pour plus d'informations sur la condition |
|
Liste des noms et des types de données de colonne pour la table externe, séparés par des virgules. Ce paramètre présente les exigences suivantes, en fonction du type de fichier de données indiqué avec le paramètre
|
|
Identifie les champs dans les fichiers source et leurs types de données. La valeur par défaut est NULL, ce qui signifie que les champs et leurs types de données sont déterminés par le paramètre column_list. La syntaxe de cet argument est identique à la clause |
|
L'option de format
Si les fichiers de données ne sont pas structurés et que la sous-clause Pour les noms d'objet qui ne sont pas basés sur le format de ruche, l'ordre des colonnes indiquées par Pour voir toutes les options de paramètre |
Notes d'utilisation
-
Vous ne pouvez pas appeler cette procédure avec les paramètres
partitioning_clause
etfile_uri_list
. -
La spécification du paramètre
column_list
est facultative avec les fichiers de données structurées, notamment les fichiers de données Avro, Parquet ou ORC. Sicolumn_list
n'est pas spécifié, l'optionpartition_columns
du paramètreformat
doit inclurename
ettype
. -
Le paramètre
column_list
est requis avec les fichiers de données non structurés, tels que les fichiers texte CSV. -
La procédure
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
prend en charge les fichiers partitionnés externes dans les services de stockage d'objets cloud pris en charge, notamment :-
Oracle Cloud Infrastructure Object Storage
-
Stockage Azure Blob ou stockage Azure Data Lake
-
Amazon S3
-
Compatible avec Amazon S3, avec Oracle Cloud Infrastructure Object Storage, Google Cloud Storage et Wasabi Hot Cloud Storage.
-
Référentiel GitHub
Pour plus d'informations, reportez-vous à la section DBMS_CLOUD URI Formats.
-
-
La procédure
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
prend en charge les fichiers partitionnés externes dans les répertoires, soit dans un système de fichiers local, soit dans un système de fichiers réseau. -
Lorsque vous appelez
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
avec le paramètrefile_uri_list
, les types de colonne indiqués dans le nom de fichier de banque d'objets cloud doivent être l'un des types suivants :VARCHAR2(n) NUMBER(n) NUMBER(p,s) NUMBER DATE TIMESTAMP(9)
-
Le délimiteur d'enregistrement par défaut est
detected newline
. Avecdetected newline
,DBMS_CLOUD
tente de trouver automatiquement le caractère de nouvelle ligne correct à utiliser comme délimiteur d'enregistrement.DBMS_CLOUD
recherche d'abord le caractère de retour à la ligne Windows\r\n
. S'il trouve le caractère à la ligne Windows, celui-ci est utilisé comme délimiteur d'enregistrement pour tous les fichiers de la procédure. 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. Si les fichiers source utilisent une combinaison de différents délimiteurs d'enregistrement, vous risquez de rencontrer une erreur telle que "KUP-04020: found record longer than buffer size supported
". Dans ce cas, vous devez soit modifier les fichiers source pour utiliser le même délimiteur d'enregistrement, soit spécifier uniquement les fichiers source qui utilisent le même délimiteur d'enregistrement.Reportez-vous à la section DBMS_CLOUD Package Format Options pour plus d'informations sur l'option de format
recorddelmiter
. -
Les tables partitionnées externes que vous créez avec
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
incluent deux colonnes invisiblesfile$path
etfile$name
. Ces colonnes permettent d'identifier le fichier d'où provient un enregistrement.-
file$path
: indique le texte du chemin du fichier jusqu'au début du nom de l'objet. -
file$name
: indique le nom de l'objet, y compris tout le texte qui suit le nom du bucket.
-
Exemples
Exemple d'utilisation du paramètre 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;
/
Exemple utilisant les paramètres file_uri_list
et column_list
avec des fichiers de données non structurés :
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;
/
Exemple utilisant file_uri_list
sans le paramètre column_list
avec des fichiers de données structurées :
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;
/
Rubrique parent : DBMS_CLOUD pour les objets et les fichiers
Procédure CREATE_EXTERNAL_TABLE
Cette procédure crée une table externe sur les fichiers dans le cloud ou à partir de fichiers dans un répertoire. Vous pouvez ainsi exécuter des requêtes sur des données externes à partir d'Autonomous Database.
Syntaxe
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);
Paramètres
Paramètre | Description |
---|---|
|
Nom de la table externe. |
|
Nom des informations d'identification permettant d'accéder au stockage d'objet cloud. Vous pouvez utiliser Ce paramètre n'est pas utilisé lorsque vous indiquez un répertoire ou une URL de lien hypertexte de table avec |
|
Ce paramètre spécifie l'une des valeurs suivantes :
URI de fichier source cloud Vous pouvez utiliser des caractères génériques ainsi que des expressions régulières dans les noms de fichier dans les URI de fichier source cloud. Les expressions régulières ne peuvent être utilisées que lorsque le paramètre Les caractères "*" et " ?" sont considérés comme des caractères génériques lorsque le paramètre Les modèles d'expression régulière sont uniquement pris en charge pour le nom de fichier ou le chemin de sous-dossier dans vos URI et la correspondance de modèle est identique à celle effectuée par la fonction Cette option est uniquement prise en charge avec les tables externes créées sur un fichier dans Object Storage. Par exemple :
Le format des URI dépend du service Cloud Object Storage que vous utilisez. Pour en savoir plus, reportez-vous àFormats d'URI DBMS_CLOUD. Pour plus d'informations sur la condition URL du lien hypertexte de table Vous pouvez utiliser une URL de lien hypertexte de table pour créer une table externe de l'une des manières suivantes :
Répertoire
Remarque Pour plus d'informations, reportez-vous à A propos des liens hypertexte de table sur Autonomous Database et à Procédure CREATE_URL.
Les URL de lien hypertexte de table ne prennent pas en charge les caractères génériques. Vous pouvez indiquer un répertoire et un ou plusieurs noms de fichier ou utiliser une liste de répertoires et de noms de fichier séparés par des virgules. Le format pour spécifier un répertoire est : Les expressions régulières ne sont pas prises en charge lors de la spécification des noms de fichier dans un répertoire. Vous pouvez uniquement utiliser des caractères génériques pour indiquer des noms de fichier dans un répertoire. Le caractère "*" peut être utilisé comme générique pour plusieurs caractères, et le caractère " ?" peut être utilisé comme générique pour un seul caractère. Par exemple : Pour spécifier plusieurs répertoires, utilisez une liste de répertoires séparés par des virgules : par exemple : Utilisez des guillemets doubles pour indiquer un nom de répertoire sensible à la casse. Par exemple : Pour inclure un guillemet, utilisez deux guillemets. Par exemple : |
|
Liste des noms et des types de données de colonne pour la table externe, séparés par des virgules. |
|
Identifie les champs dans les fichiers source et leurs types de données. La valeur par défaut est NULL, ce qui signifie que les champs et leurs types De données sont déterminés par le paramètre |
|
Options décrivant le format des fichiers source. Pour connaître la liste des options et découvrir comment spécifier les valeurs, reportez-vous à DBMS_CLOUD Package Format Options. Pour les fichiers au format Avro, ORC ou Parquet, reportez-vous à Procédure CREATE_EXTERNAL_TABLE pour les fichiers Avro, ORC ou Parquet. |
Notes d'utilisation
-
La procédure
DBMS_CLOUD.CREATE_EXTERNAL_TABLE
prend en charge des fichiers partitionnés externes dans les sources de stockage d'objet cloud prises en charge, notamment :-
Oracle Cloud Infrastructure Object Storage
-
Stockage Azure Blob ou stockage Azure Data Lake
-
Amazon S3
-
Compatible avec Amazon S3, avec Oracle Cloud Infrastructure Object Storage, Google Cloud Storage et Wasabi Hot Cloud Storage.
-
Référentiel GitHub
-
Oracle Cloud Infrastructure Object Storage avec des URL de lien hypertexte de table
Les informations d'identification sont des propriétés de niveau table. Par conséquent, les fichiers externes doivent se trouver dans la même banque d'objets.
Pour plus d'informations, reportez-vous à la section DBMS_CLOUD URI Formats.
-
-
Le délimiteur d'enregistrement par défaut est
detected newline
. Avecdetected newline
,DBMS_CLOUD
tente de trouver automatiquement le caractère de nouvelle ligne correct à utiliser comme délimiteur d'enregistrement.DBMS_CLOUD
recherche d'abord le caractère de retour à la ligne Windows\r\n
. S'il trouve le caractère à la ligne Windows, celui-ci est utilisé comme délimiteur d'enregistrement pour tous les fichiers de la procédure. 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. Si les fichiers source utilisent une combinaison de différents délimiteurs d'enregistrement, vous risquez de rencontrer une erreur telle que "KUP-04020: found record longer than buffer size supported
". Dans ce cas, vous devez soit modifier les fichiers source pour utiliser le même délimiteur d'enregistrement, soit spécifier uniquement les fichiers source qui utilisent le même délimiteur d'enregistrement.Reportez-vous à la section DBMS_CLOUD Package Format Options pour plus d'informations sur l'option de format
recorddelimiter
.
Exemple
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
Rubrique parent : DBMS_CLOUD pour les objets et les fichiers
Procédure CREATE_EXTERNAL_TABLE pour Apache Iceberg
Cette procédure crée des tables externes pour les tables Apache Iceberg dans les configurations prises en charge.
- Tableaux Iceberg sur AWS :
- Tableaux Iceberg enregistrés avec AWS Glue Data Catalog, créés avec Spark ou Athena.
Pour plus d'informations, reportez-vous à Utilisation du connecteur AWS Glue pour lire et écrire des tables Apache Iceberg avec des transactions ACID et effectuer des déplacements dans le temps et à Utilisation de tables Iceberg.
- Tables d'iceberg stockées sur AWS S3 en fournissant directement l'URL du fichier de métadonnées racine.
- Tableaux Iceberg enregistrés avec AWS Glue Data Catalog, créés avec Spark ou Athena.
- Tables d'iceberg sur OCI :
- Tables d'iceberg générées avec OCI Data Flow à l'aide d'un catalogue Hadoop.
Pour plus d'informations, reportez-vous à Exemples Oracle Data Flow et à Utilisation d'un catalogue Hadoop.
- Tables d'iceberg stockées sur OCI Object Storage en fournissant directement l'URL du fichier de métadonnées racine.
- Tables d'iceberg générées avec OCI Data Flow à l'aide d'un catalogue Hadoop.
Syntaxe
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
);
Paramètres
Paramètre | Description |
---|---|
|
Nom de la table externe. |
|
Nom des informations d'identification utilisées pour accéder aux fichiers de données, aux fichiers de métadonnées et au catalogue Iceberg (le cas échéant). Pour les configurations AWS et OCI, les informations d'identification doivent être créées comme décrit dans la procédure CREATE_CREDENTIAL. Les informations d'identification AWS Amazon Resource Names (ARN) ne sont actuellement pas prises en charge. |
|
Doit avoir la valeur NULL si un catalogue Iceberg est spécifié (voir le paramètre format ci-dessous). Si aucun catalogue d'iceberg n'est utilisé, le fichier file_uri_list doit contenir l'URI du fichier de métadonnées d'iceberg.
|
|
Doit être NULL car les noms et les types de colonne sont automatiquement dérivés des métadonnées Iceberg. Les noms de colonne correspondent aux noms trouvés dans les fichiers de données sous-jacents (Parquet, Avro, ORC). Les types de données Oracle sont dérivés à l'aide des mappings Parquet/Avro/ORC entre Iceberg et les types de données Parquet, Avro et ORC. Par conséquent, les utilisateurs ne peuvent pas spécifier |
|
Doit être NULL car les noms de colonne et les types de données sont automatiquement dérivés des métadonnées Iceberg. |
|
Le paramètre Pour plus d'informations, reportez-vous à Prise en charge d'Iceberg sur les exemples OCI Data Flow et à Formats d'URI DBMS_CLOUD. |
Exemple de paramètre de format pour les tables AWS Iceberg utilisant un catalogue AWS Glue
Voici un exemple de paramètre format
lors de la création de tables sur une table AWS Iceberg à l'aide d'un catalogue AWS Glue :
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
contient un objet JSON avec deux éléments, comme suit :
protocol_type
: doit être "iceberg"protocol_config
: objet JSON imbriqué indiquant les détails du catalogue d'iceberg.iceberg_catalog_type
: doit être'aws_glue'
iceberg_glue_region
: région de catalogue, par exemple'us-west-1'
iceberg_table_path
: cheminglue database.glue table name
.
Exemple de paramètre de format pour la table AWS Iceberg utilisant un URI de fichier de métadonnées
format
lors de la création de tables sur une table AWS Iceberg à l'aide d'un URI de fichier de métadonnées est le suivant :format => json_object('access_protocol' value
json_object('protocol_type' value 'iceberg')
Exemple de paramètre de format pour la table OCI Iceberg à l'aide du catalogue HadoopCatalog
format
lors de la création de tables sur une table OCI Iceberg créée par OCI Data Flow à l'aide du catalogue HadoopCatalog est le suivant :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
contient un objet JSON avec deux éléments, comme suit :
protocol_type
: doit être'iceberg'
protocol_config
: objet JSON imbriqué indiquant les détails du catalogue d'iceberg.iceberg_catalog_type
: doit être'hadoop'
iceberg_warehouse
: chemin de répertoire de data warehouse utilisé lors de la génération de la table, au format URI natif.iceberg_table_path
: chemindatabase_name.table name
utilisé lors de la création de la table.
Exemple de paramètre de format pour la table OCI Iceberg à l'aide de l'URI du fichier de métadonnées
format
lors de la création de tables sur une table OCI Iceberg à l'aide de l'URI du fichier de métadonnées est le suivant :format => json_object('access_protocol' value
json_object('protocol_type' value 'iceberg')
access_protocol
contient un objet JSON avec un élément comme suit :
protocol_type
: doit être'iceberg'
Rubrique parent : DBMS_CLOUD pour les objets et les fichiers
CREATE_EXTERNAL_TABLE Procédure pour les fichiers Avro, ORC ou Parquet
format
type
défini sur la valeur avro
, orc
ou parquet
crée une table externe avec des fichiers au format Avro, ORC ou Parquet dans le cloud ou dans un répertoire.
Vous pouvez ainsi exécuter des requêtes sur des données externes à partir d'Autonomous Database.
Syntaxe
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);
Paramètres
Paramètre | Description |
---|---|
|
Nom de la table externe. |
|
Nom des informations d'identification permettant d'accéder au stockage d'objet cloud. Vous pouvez utiliser Ce paramètre n'est pas utilisé lorsque vous indiquez un répertoire avec |
|
Ce paramètre spécifie une liste d'URI de fichier source séparés par des virgules ou un ou plusieurs répertoires et fichiers source. URI de fichier source cloud Vous pouvez utiliser des caractères génériques ainsi que des expressions régulières dans les noms de fichier dans les URI de fichier source cloud. Les expressions régulières ne peuvent être utilisées que lorsque le paramètre Les caractères "*" et " ?" sont considérés comme des caractères génériques lorsque le paramètre Les modèles d'expression régulière sont uniquement pris en charge pour le nom de fichier ou le chemin de sous-dossier dans vos URI et la correspondance de modèle est identique à celle effectuée par la fonction Cette option est uniquement prise en charge avec les tables externes créées sur un fichier dans Object Storage. Par exemple :
Le format des URI dépend du service Cloud Object Storage que vous utilisez. Pour obtenir plus de détails, reportez-vous à la page Formats d'URI DBMS_CLOUD. Pour plus d'informations sur la condition Répertoire Vous pouvez indiquer un répertoire et un ou plusieurs noms de fichier ou utiliser une liste de répertoires et de noms de fichier séparés par des virgules. Le format pour spécifier un répertoire est : Les expressions régulières ne sont pas prises en charge lors de la spécification des noms de fichier dans un répertoire. Vous pouvez uniquement utiliser des caractères génériques pour indiquer des noms de fichier dans un répertoire. Le caractère "*" peut être utilisé comme générique pour plusieurs caractères, et le caractère " ?" peut être utilisé comme générique pour un seul caractère. Par exemple : Pour spécifier plusieurs répertoires, utilisez une liste de répertoires séparés par des virgules : par exemple : Utilisez des guillemets doubles pour indiquer un nom de répertoire sensible à la casse. Par exemple : Pour inclure un guillemet, utilisez deux guillemets. Par exemple : |
|
(Facultatif) Lorsque ce champ est indiqué, il remplace le paramètre Lorsque la valeur Pour plus d'informations sur les fichiers Parquet, reportez-vous à DBMS_CLOUD Mise en correspondance des types de données Parquet et Oracle. Pour plus d'informations sur les fichiers ORC, reportez-vous à la section DBMS_CLOUD Package ORC to Oracle Data Type Mapping. Pour plus d'informations sur les fichiers Avro, reportez-vous à la section DBMS_CLOUD Package Avro to Oracle Data Type Mapping. |
|
Ignoré pour les fichiers Avro, ORC ou Parquet. Les champs de la source correspondent aux colonnes de la table externe par nom. Les types de données source sont convertis en types de données de colonne de table externe. Pour les fichiers ORC, reportez-vous à Mise en correspondance de types de données ORC avec des types de données Oracle avec DBMS_CLOUD Pour plus d'informations sur les fichiers Parquet, reportez-vous à DBMS_CLOUD Mise en correspondance des types de données Parquet et Oracle. Pour plus d'informations sur les fichiers Avro, reportez-vous à la section DBMS_CLOUD Package Avro to Oracle Data Type Mapping. |
|
Pour plus d'informations sur les fichiers source Avro, ORC ou Parquet |
Exemples ORC
format => '{"type":"orc", "schema": "all"}'
format => json_object('type' value 'orc', 'schema' value 'first')
Exemples Avro
format => '{"type":"avro", "schema": "all"}'
format => json_object('type' value 'avro', 'schema' value 'first')
Exemples Parquet
format => '{"type":"parquet", "schema": "all"}'
format => json_object('type' value 'parquet', 'schema' value 'first')
Mise en correspondance de noms de colonne Avro, ORC ou Parquet avec des noms de colonne Oracle
Pour plus d'informations sur la mise en correspondance des noms de colonne et l'utilisation de la conversion des noms de colonne dans Oracle SQL, reportez-vous à DBMS_CLOUD Package Avro, ORC et Parquet vers Oracle Column Name Mapping.
Rubrique parent : DBMS_CLOUD pour les objets et les fichiers
Procédure CREATE_EXTERNAL_TEXT_INDEX
Cette procédure crée un index de texte sur les fichiers Object Storage.
La procédure CREATE_EXTERNAL_TEXT_INDEX
crée un index de texte sur les fichiers Object Storage indiqués à l'emplacement location_uri
. L'index est actualisé à intervalles réguliers, pour tous les nouveaux ajouts ou suppressions effectués avec des fichiers sur l'URI d'emplacement.
Syntaxe
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
);
Paramètres
Paramètre | Description |
---|---|
|
Nom des données d'identification permettant d'accéder à l'emplacement de stockage d'objet cloud. Pour les URI de bucket publics, pré-authentifiés ou pré-signés, une valeur NULL peut être indiquée. Pour plus d'informations, reportez-vous à Configuration de stratégies et de rôles pour accéder aux ressources. Si vous ne fournissez pas de valeur |
location_uri |
Indique l'URI du bucket ou du dossier de la banque d'objets. Ce paramètre est obligatoire. Le format des URI dépend du service Cloud Object Storage. Pour plus d'informations, reportez-vous à la section DBMS_CLOUD URI Formats. |
index_name |
Spécifie le nom de l'index que vous créez sur les fichiers situés à l'emplacement location_uri .
Ce paramètre est obligatoire. |
|
Spécifie des options de configuration supplémentaires. Les options sont indiquées sous forme de chaîne JSON. Les options de format prises en charge sont les suivantes :
La valeur Vous pouvez spécifier des mots d'arrêt à l'aide des méthodes suivantes :
Si vous ne fournissez pas de paramètre |
Exemple
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;
/
Rubrique parent : DBMS_CLOUD pour les objets et les fichiers
Procédure CREATE_HYBRID_PART_TABLE
Cette procédure crée une table partitionnée hybride. Vous pouvez ainsi exécuter des requêtes sur des données partitionnées hybrides à partir d'Autonomous Database à l'aide d'objets et de fichiers de base de données dans le cloud ou d'objets et de fichiers de base de données dans un répertoire.
Syntaxe
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);
Paramètres
Paramètre | Description |
---|---|
|
Nom de la table externe. |
|
Nom des informations d'identification permettant d'accéder au stockage d'objet cloud. Vous pouvez utiliser |
|
Spécifie la clause de partitionnement complète, y compris les informations d'emplacement pour les partitions individuelles. Pour utiliser des répertoires, la clause de partitionnement prend en charge les valeurs Vous pouvez utiliser des caractères génériques ainsi que des expressions régulières dans les noms de fichier dans les URI de fichier source cloud. Les expressions régulières ne peuvent être utilisées que lorsque le paramètre Les caractères "*" et " ?" sont considérés comme des caractères génériques lorsque le paramètre Les modèles d'expression régulière sont uniquement pris en charge pour le nom de fichier ou le chemin de sous-dossier dans vos URI et la correspondance de modèle est identique à celle effectuée par la fonction Par exemple :
Pour plus d'informations sur la condition |
|
Liste des noms et des types de données de colonne pour la table externe, séparés par des virgules. |
|
Identifie les champs dans les fichiers source et leurs types de données. La valeur par défaut est NULL, ce qui signifie que les champs et leurs types de données sont déterminés par le paramètre column_list. La syntaxe de cet argument est identique à la clause |
|
Options décrivant le format des fichiers source. Pour connaître la liste des options et découvrir comment spécifier les valeurs, reportez-vous à DBMS_CLOUD Package Format Options. |
Notes d'utilisation
-
La procédure
DBMS_CLOUD.CREATE_HYBRID_PART_TABLE
prend en charge les fichiers partitionnés externes dans les services de stockage d'objets cloud pris en charge, notamment :-
Oracle Cloud Infrastructure Object Storage
-
Stockage Azure Blob ou stockage Azure Data Lake
-
Amazon S3
-
Compatible avec Amazon S3, avec Oracle Cloud Infrastructure Object Storage, Google Cloud Storage et Wasabi Hot Cloud Storage.
-
Référentiel GitHub
Les informations d'identification sont des propriétés de niveau table. Par conséquent, les fichiers externes doivent se trouver dans la même banque d'objets.
Pour plus d'informations, reportez-vous à la section DBMS_CLOUD URI Formats.
-
-
La procédure
DBMS_CLOUD.CREATE_HYBRID_PART_TABLE
prend en charge les fichiers partitionnés hybrides dans les répertoires, soit dans un système de fichiers local, soit dans un système de fichiers réseau. -
Les tables partitionnées externes que vous créez avec
DBMS_CLOUD.CREATE_HYBRID_PART_TABLE
incluent deux colonnes invisiblesfile$path
etfile$name
. Ces colonnes permettent d'identifier le fichier d'où provient un enregistrement.-
file$path
: indique le texte du chemin du fichier jusqu'au début du nom de l'objet. -
file$name
: indique le nom de l'objet, y compris tout le texte qui suit le nom du bucket.
-
Exemples
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;
/
Rubrique parent : DBMS_CLOUD pour les objets et les fichiers
Procédure DELETE_ALL_OPERATIONS
Cette procédure efface toutes les opérations de chargement de données consignées dans la table user_load_operations
de votre schéma, ou toutes les opérations de chargement de données du type spécifié, comme indiqué dans le paramètre type
.
Syntaxe
DBMS_CLOUD.DELETE_ALL_OPERATIONS
(
type IN VARCHAR DEFAULT NULL);
Paramètres
Paramètre | Description |
---|---|
|
Indique le type d'opération à supprimer. Les valeurs de type se trouvent dans la colonne Si aucune valeur |
Notes d'utilisation
-
Cette procédure ne supprime pas les opérations en cours d'exécution (opérations ayant le statut "En cours d'exécution").
-
Cette procédure supprime les tables de journalisation et les fichiers journaux associés aux opérations.
Rubrique parent : DBMS_CLOUD pour les objets et les fichiers
Procédure DELETE_FILE
Cette procédure enlève le fichier spécifié du répertoire indiqué sur Autonomous Database.
Syntaxe
DBMS_CLOUD.DELETE_FILE
(
directory_name IN VARCHAR2,
file_name IN VARCHAR2,
force IN BOOLEAN DEFAULT FALSE);
Paramètres
Paramètre | Description |
---|---|
|
Nom du répertoire sur l'instance Autonomous Database. |
|
Nom du fichier à enlever. |
force |
Ignorer et ne pas signaler les erreurs si le fichier n'existe pas. Les valeurs valides sont : |
Pour exécuter
DBMS_CLOUD.DELETE_FILE
avec un utilisateur autre qu'ADMIN, vous devez lui accorder des privilèges d'écriture sur le répertoire qui contient le fichier. Par exemple, exécutez la commande suivante en tant qu'ADMIN pour accorder des privilèges d'écriture à adb_user
:GRANT WRITE ON DIRECTORY data_pump_dir TO adb_user;
Exemple
BEGIN
DBMS_CLOUD.DELETE_FILE
(
directory_name => 'DATA_PUMP_DIR',
file_name => 'exp1.dmp' );
END;
/
Rubrique parent : DBMS_CLOUD pour les objets et les fichiers
Procédure DELETE_OBJECT
Cette procédure supprime l'objet spécifié de la banque d'objets.
Syntaxe
DBMS_CLOUD.DELETE_OBJECT
(
credential_name IN VARCHAR2,
object_uri IN VARCHAR2,
force IN BOOLEAN DEFAULT FALSE);
Paramètres
Paramètre | Description |
---|---|
|
Nom des informations d'identification permettant d'accéder au stockage d'objet cloud. Vous pouvez utiliser |
object_uri |
URI d'objet ou de fichier de l'objet à supprimer. Le format de l'URI dépend du service Cloud Object Storage que vous utilisez. Pour obtenir plus de détails, reportez-vous àFormats d'URI DBMS_CLOUD. |
force |
Ignorer et ne pas signaler les erreurs si l'objet n'existe pas. Les valeurs valides sont : |
Exemple
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;
/
Rubrique parent : DBMS_CLOUD pour les objets et les fichiers
Procédure DELETE_OPERATION
Cette procédure efface les entrées de chargement de données pour l'ID d'opération indiqué consignées dans les tables user_load_operations
ou dba_load_operations
de votre schéma.
Syntaxe
DBMS_CLOUD.DELETE_OPERATION
(
id IN NUMBER);
Paramètres
Paramètre | Description |
---|---|
|
Indique l'ID d'opération associé aux entrées de fichier journal à supprimer. |
Remarque sur l'utilisation
-
Cette procédure supprime les tables de journalisation et les fichiers journaux associés à l'ID d'opération indiqué dans l'entrée.
Exemple
SELECT id FROM user_load_operations WHERE type LIKE '%BAD%';
EXEC DBMS_CLOUD.DELETE_OPERATION
(id);
Rubrique parent : DBMS_CLOUD pour les objets et les fichiers
Procédure DROP_EXTERNAL_TEXT_INDEX
Cette procédure supprime l'index de texte dans les fichiers Object Storage.
La procédure DROP_EXTERNAL_TEXT_INDEX
supprime l'index spécifié créé avec la procédure CREATE_EXTERNAL_TEXT_INDEX
.
Syntaxe
DBMS_CLOUD.DROP_EXTERNAL_TEXT_INDEX
(
index_name IN VARCHAR2,
);
Paramètres
Paramètre | Description |
---|---|
index_name |
Spécifie le nom de l'index que vous supprimez. Le nom de l'index doit correspondre au nom fourni au moment de sa création. Ce paramètre est obligatoire. |
Exemple
BEGIN
DBMS_CLOUD.DROP_EXTERNAL_TEXT_INDEX
(
index_name => 'EMP',
);
END;
/
Rubrique parent : DBMS_CLOUD pour les objets et les fichiers
Procédure EXPORT_DATA
En fonction du paramètre format
type
, la procédure exporte les fichiers vers le cloud ou vers un emplacement de répertoire en tant que fichiers texte au format CSV, JSON, Parquet ou XML, ou en utilisant le pilote d'accès ORACLE_DATAPUMP pour écrire des données dans un fichier dump Oracle Datapump.
Syntaxe
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);
Paramètres
Paramètre | Description |
---|---|
|
Nom des informations d'identification permettant d'accéder au stockage d'objet cloud. Vous pouvez utiliser Lorsque le paramètre d'informations d'identification n'est pas inclus, cela indique la sortie vers un répertoire. |
|
Il existe différentes formes, selon la valeur du paramètre de format et selon que vous incluez ou non un paramètre d'informations d'identification :
Le format des URI dépend du service Cloud Object Storage que vous utilisez. pour plus de détails, reportez-vous à Formats d'URI DBMS_CLOUD. |
|
Chaîne JSON qui fournit des options de format d'export. L'option prise en charge est :
Reportez-vous à la section DBMS_CLOUD Package Format Options for EXPORT_DATA. |
|
Utilisez ce paramètre pour indiquer une instruction SELECT warehouse_id, quantity FROM inventories Pour plus d'informations sur la valeur de format Lorsque la valeur Par exemple : SELECT JSON_OBJECT(* RETURNING CLOB) from(SELECT warehouse_id, quantity FROM inventories) |
|
Utilisez ce paramètre pour suivre la progression et la fin de l'opération d'export sous l'ID correspondant dans la vue |
Notes d'utilisation :
-
La valeur de paramètre
query
que vous fournissez peut être une requête avancée, si nécessaire, telle qu'une requête qui inclut des jointures ou des sous-requêtes. -
Selon le paramètre de format indiqué,
DBMS_CLOUD.EXPORT_DATA
génère les résultats de la requête indiquée sur la banque d'objets cloud ou vers un emplacement de répertoire dans l'un des formats suivants :-
Fichiers CSV, JSON, Parquet ou XML.
Reportez-vous à Exporter des données vers la banque d'objets sous forme de texte et à Exporter des données vers un répertoire pour plus d'informations sur l'utilisation de
DBMS_CLOUD.EXPORT_DATA
avec des fichiers de sortie CSV, JSON, Parquet ou XML. -
Utilisation du pilote d'accès ORACLE_DATAPUMP pour écrire des données dans un fichier dump.
-
-
Par défaut, lorsqu'un fichier généré contient 10 Mo de données, un nouveau fichier de sortie est créé pour une sortie CSV, JSON ou XML. Toutefois, si vous disposez de moins de 10 Mo de données de résultat, vous pouvez disposer de plusieurs fichiers de sortie, en fonction du service de base de données et du nombre d'OCPU (si votre base de données utilise des OCPU) pour l'instance Autonomous Database.
Pour plus d'informations, reportez-vous à Dénomination de fichier pour la sortie texte (CSV, JSON, Parquet ou XML).
La taille par défaut du bloc du fichier de sortie est de 10 Mo pour CSV, JSON ou XML. Vous pouvez modifier cette valeur avec le paramètre
format
, optionmaxfilesize
. Pour plus d'informations, reportez-vous à DBMS_CLOUD Options de format de package pour EXPORT_DATA. -
Pour la sortie Parquet, chaque fichier généré est inférieur à 128 Mo et plusieurs fichiers de sortie peuvent être générés. Toutefois, si vous disposez de moins de 128 Mo de données de résultat, vous pouvez disposer de plusieurs fichiers de sortie en fonction du service de base de données et du nombre d'OCPU (si votre base de données utilise des OCPU) pour l'instance Autonomous Database.
Pour plus d'informations, reportez-vous à Dénomination de fichier pour la sortie texte (CSV, JSON, Parquet ou XML).
Notes d'utilisation pour la sortie ORACLE_DATAPUMP (DBMS_CLOUD.EXPORT_DATA
avec le paramètre format
type
option datapump
) :
-
EXPORT_DATA
utiliseDATA_PUMP_DIR
comme répertoire de journalisation par défaut. Le privilège d'écriture surDATA_PUMP_DIR
est donc requis lors de l'utilisation de la sortieORACLE_DATAPUMP
. -
Autonomous Database export using
DBMS_CLOUD.EXPORT_DATA
withformat
parametertype
optiondatapump
only supports Oracle Cloud Infrastructure Object Storage, Oracle Cloud Infrastructure Object Storage Classic object stores or directory output. -
Lorsque vous indiquez
DBMS_CLOUD.EXPORT_DATA
avec l'optiondatapump
du paramètreformat
type
, la valeur du paramètrecredential_name
ne peut pas être un principal de ressource OCI. -
Oracle Data Pump divise chaque partie de fichier dump en segments plus petits pour accélérer les téléchargements. La console Oracle Cloud Infrastructure Object Storage affiche plusieurs fichiers pour chaque partie de fichier dump que vous exportez. La taille affichée pour les fichiers dump réels est zéro (0) et celle affichée pour les segments de fichier associés 10 Mo ou moins. Par exemple :
Le téléchargement du fichier dump de zéro octet à partir de la console Oracle Cloud Infrastructure ou à l'aide de l'interface de ligne de commande Oracle Cloud Infrastructure ne vous fournit pas les fichiers dump complets. Pour télécharger les fichiers dump complets à partir de la banque d'objets, utilisez un outil prenant en charge Swift, tel que curl, et fournissez votre nom de connexion utilisateur et votre jeton d'authentification Swift.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
Si vous importez un fichier avec les procédures
DBMS_CLOUD
qui prennent en charge le paramètreformat
type
avec la valeur 'datapump
', vous devez uniquement fournir le nom du fichier principal. Les procédures qui prennent en charge le type du format 'datapump
' repèrent et téléchargent automatiquement les segments.Lorsque vous utilisez
DBMS_CLOUD.DELETE_OBJECT
, la procédure repère et supprime automatiquement les blocs lorsque la procédure supprime le fichier principal. -
La procédure
DBMS_CLOUD.EXPORT_DATA
crée les fichiers dump à partir des valeursfile_uri_list
que vous indiquez, comme suit :-
Au fur et à mesure que d'autres fichiers sont nécessaires, la procédure crée des fichiers supplémentaires à partir de
file_uri_list
. -
La procédure n'écrase pas les fichiers. Si un fichier dump dans
file_uri_list
existe,DBMS_CLOUD.EXPORT_DATA
signale une erreur. -
DBMS_CLOUD.EXPORT_DATA
ne crée pas de buckets.
-
-
Le nombre de fichiers dump générés par
DBMS_CLOUD.EXPORT_DATA
est déterminé lors de l'exécution de la procédure. Le nombre de fichiers dump générés dépend du nombre de noms de fichier que vous fournissez dans le paramètrefile_uri_list
, ainsi que du nombre d'OCPU Autonomous Database disponibles pour l'instance, du niveau de service et de la taille des données.Par exemple, si vous utilisez une instance Autonomous Database à 1 OCPU ou le service
low
, un fichier dump unique est exporté sans parallélisme, même si vous indiquez plusieurs noms de fichier. Si vous utilisez une instance Autonomous Database à 4 OCPU avec le servicemedium
ouhigh
, les travaux peuvent être exécutés en parallèle et plusieurs fichiers dump sont exportés si vous indiquez plusieurs noms de fichier. -
Les fichiers dump que vous créez avec
DBMS_CLOUD.EXPORT_DATA
ne peuvent pas être importés à l'aide d'Oracle Data Pumpimpdp
. En fonction de la base de données, vous pouvez utiliser ces fichiers comme suit :-
Sur une instance Autonomous Database, vous pouvez utiliser les fichiers dump avec les procédures
DBMS_CLOUD
qui prennent en charge le paramètreformat
type
avec la valeur 'datapump
'. Vous pouvez importer les fichiers dump à l'aide deDBMS_CLOUD.COPY_DATA
ou appelerDBMS_CLOUD.CREATE_EXTERNAL_TABLE
pour créer une table externe. -
Sur toute autre base de données Oracle Database, telle qu'Oracle Database 19c sur site, vous pouvez importer les fichiers dump créés avec la procédure
DBMS_CLOUD.EXPORT_DATA
à l'aide du pilote d'accèsORACLE_DATAPUMP
. Pour plus d'informations, reportez-vous à Déchargement et chargement de données avec le pilote d'accès ORACLE_DATAPUMP.
-
-
La valeur de paramètre
query
que vous fournissez peut être une requête avancée, si nécessaire, telle qu'une requête qui inclut des jointures ou des sous-requêtes.
Notes d'utilisation pour DBMS_CLOUD.EXPORT_DATA
avec sortie dans un répertoire
-
Le répertoire fourni doit exister et vous devez être connecté en tant qu'utilisateur
ADMIN
ou disposer d'un accèsWRITE
au répertoire. -
DBMS_CLOUD.EXPORT_DATA
ne crée pas de répertoires. -
La procédure n'écrase pas les fichiers. Par exemple, si un fichier dump dans
file_uri_list
existe,DBMS_CLOUD.EXPORT_DATA
signale une erreur telle que :ORA-31641: unable to create dump file "/u02/exports/123.dmp" ORA-27038: created file already exists
Exemples
L'exemple suivant montre DBMS_CLOUD.EXPORT_DATA
avec le paramètre de format type
avec la valeur 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;
/
Dans cet exemple, namespace-string
est l'espace de noms d'objet Oracle Cloud Infrastructure et bucketname
est le nom du bucket. Pour plus d'informations, reportez-vous à Présentation des espaces de noms Object Storage.
L'exemple suivant montre DBMS_CLOUD.EXPORT_DATA
avec le paramètre de format type
avec la valeur 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;
/
L'exemple suivant montre DBMS_CLOUD.EXPORT_DATA
avec le paramètre de format type
avec la valeur 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;
/
L'exemple suivant montre DBMS_CLOUD.EXPORT_DATA
avec le paramètre de format type
avec la valeur 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;
/
L'exemple suivant illustre l'export de données DBMS_CLOUD.EXPORT_DATA
vers un emplacement de répertoire avec le paramètre type
avec la valeur datapump
:
BEGIN
DBMS_CLOUD.EXPORT_DATA
(
file_uri_list => 'export_dir:sales.dmp',
format => json_object('type' value 'datapump'),
query => 'SELECT * FROM sales'
);
END;
/
Rubrique parent : DBMS_CLOUD pour les objets et les fichiers
GET_OBJECT Procédure et fonction
Cette procédure est surchargée. Ce formulaire de procédure lit un objet à partir du stockage d'objet cloud et la copie vers Autonomous Database. Le formulaire de fonction lit un objet à partir de Cloud Object Storage et renvoie une valeur BLOB
vers Autonomous Database.
Syntaxe
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;
Paramètres
Paramètre | Description |
---|---|
|
Nom des informations d'identification permettant d'accéder au stockage d'objet cloud. Vous pouvez utiliser |
|
URI de l'objet ou du fichier. Le format de l'URI dépend du service Cloud Object Storage que vous utilisez. Pour obtenir plus de détails, reportez-vous àFormats d'URI DBMS_CLOUD. |
|
Nom du répertoire dans la base de données. Bas de page 1Vous pouvez utiliser une URL de lien hypertexte de table comme suit :
|
|
Indique le nom du fichier à créer. Si le nom du fichier n'est pas spécifié, il est défini sur ce qui suit la dernière barre oblique dans le paramètre |
startoffset |
Décalage, en octets, à partir duquel la procédure commence la lecture. |
endoffset |
Décalage, en octets, auquel la procédure arrête la lecture. |
|
Spécifie la compression utilisée pour stocker l'objet. Lorsque |
Note 1 de bas de page
Pour exécuter DBMS_CLOUD.GET_OBJECT
avec un utilisateur autre qu'ADMIN, vous devez lui accorder des privilèges WRITE
sur le répertoire. Par exemple, exécutez la commande suivante en tant qu'ADMIN pour accorder des privilèges d'écriture à adb_user
:
GRANT WRITE ON DIRECTORY data_pump_dir TO adb_user;
Valeurs renvoyées
Le formulaire de fonction lit à partir de la banque d'objets et DBMS_CLOUD.GET_OBJECT
renvoie une valeur BLOB
.
Exemples
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;
/
Pour lire des données alphanumériques à partir d'un fichier dans la banque d'objets :
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;
Pour ajouter une image stockée dans la banque d'objets dans une table BLOB
de la base de données, procédez comme suit :
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;
/
Dans cet exemple, namespace-string
est l'espace de noms d'objet Oracle Cloud Infrastructure et bucketname
est le nom du bucket. Pour plus d'informations, reportez-vous à Présentation des espaces de noms Object Storage.
Rubrique parent : DBMS_CLOUD pour les objets et les fichiers
Fonction LIST_FILES
Cette fonction liste les fichiers présents dans le répertoire spécifié. Les résultats incluent les noms de fichier et les métadonnées supplémentaires sur les fichiers, telles que la taille de fichier en octets, l'horodatage de création et l'horodatage de dernière modification.
Syntaxe
DBMS_CLOUD.LIST_FILES
(
directory_name IN VARCHAR2)
RETURN TABLE;
Paramètres
Paramètre | Description |
---|---|
|
Nom du répertoire dans la base de données. |
Notes d'utilisation
-
Pour exécuter
DBMS_CLOUD.LIST_FILES
avec un utilisateur autre qu'ADMIN, vous devez lui accorder des privilèges d'accès en lecture sur le répertoire. Par exemple, exécutez la commande suivante en tant qu'ADMIN pour accorder le privilège de lecture au répertoireadb_user
:GRANT READ ON DIRECTORY data_pump_dir TO adb_user;
-
Il s'agit d'une fonction de table alignée avec le type de retour
DBMS_CLOUD_TYPES.list_object_ret_t
. -
DBMS_CLOUD.LIST_FILES
n'obtient pas la valeur de somme de contrôle et renvoieNULL
pour ce champ.
Exemple
Il s'agit d'une fonction pipelinée qui renvoie une ligne pour chaque fichier. Par exemple, générez la requête suivante pour utiliser cette fonction :
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
Rubrique parent : DBMS_CLOUD pour les objets et les fichiers
Fonction LIST_OBJECTS
Cette fonction répertorie les objets présents à l'emplacement spécifié dans la banque d'objets. Les résultats incluent les noms d'objet et les métadonnées supplémentaires sur les objets, telles que la taille, le checksum, l'horodatage de création et l'horodatage de dernière modification.
Syntaxe
DBMS_CLOUD.LIST_OBJECTS
(
credential_name IN VARCHAR2,
location_uri IN VARCHAR2)
RETURN TABLE;
Paramètres
Paramètre | Description |
---|---|
|
Nom des informations d'identification permettant d'accéder au stockage d'objet cloud. Vous pouvez utiliser |
location_uri |
URI de l'objet ou du fichier. Le format de l'URI dépend du service Cloud Object Storage que vous utilisez. Pour obtenir plus de détails, reportez-vous àFormats d'URI DBMS_CLOUD. |
Notes d'utilisation
-
Selon les fonctionnalités de la banque d'objets,
DBMS_CLOUD.LIST_OBJECTS
ne renvoie pas de valeurs pour certains attributs et la valeur renvoyée pour le champ estNULL
dans ce cas.Toutes les banques d'objets prises en charge renvoient des valeurs pour les champs
OBJECT_NAME
,BYTES
etCHECKSUM
.Le tableau suivant présente la prise en charge des champs
CREATED
etLAST_MODIFIED
par la banque d'objets :Banque d'objets CREATED
LAST_MODIFIED
Oracle Cloud Infrastructure natif Renvoie l'horodatage Renvoie l'horodatage Oracle Cloud Infrastructure Swift Renvoie NULL
Renvoie l'horodatage Oracle Cloud Infrastructure Classic Renvoie NULL
Renvoie l'horodatage Amazon S3 Renvoie NULL
Renvoie l'horodatage Compatible avec Amazon S3 Renvoie NULL
Renvoie l'horodatage Azure Renvoie l'horodatage Renvoie l'horodatage Référentiel GitHub -
La valeur de checksum est la somme de contrôle MD5. Il s'agit d'un nombre hexadécimal de 32 caractères calculé sur le contenu de l'objet. Une valeur de somme de contrôle différente est attendue si les informations d'identification
OCI$RESOURCE_PRINCIPAL
sont utilisées. -
Il s'agit d'une fonction de table alignée avec le type de retour
DBMS_CLOUD_TYPES.list_object_ret_t
.
Exemple
Il s'agit d'une fonction pipelinée qui renvoie une ligne pour chaque objet. Par exemple, générez la requête suivante pour utiliser cette fonction :
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
Dans cet exemple, namespace-string
est l'espace de noms d'objet Oracle Cloud Infrastructure et bucketname
est le nom du bucket. Pour plus d'informations, reportez-vous à Présentation des espaces de noms Object Storage.
Rubrique parent : DBMS_CLOUD pour les objets et les fichiers
Procédure MOVE_OBJECT
Cette procédure déplace un objet d'un bucket ou dossier Cloud Object Storage vers un autre.
Le dossier ou le bucket source et cible peuvent se trouver dans le même fournisseur de banque d'objets cloud ou dans un autre fournisseur.
Lorsque la source et la cible se trouvent dans des banques d'objets distinctes ou ont des comptes différents avec le même fournisseur cloud, vous pouvez donner des noms d'informations d'identification distincts pour les emplacements source et cible.
Par défaut, le nom des informations d'identification source est également utilisé par l'emplacement cible lorsque le nom des informations d'identification cible n'est pas fourni.
Syntaxe
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
);
Paramètres
Paramètre | Description |
---|---|
|
Nom des infos d'identification permettant d'accéder au stockage d'objet cloud source. Vous pouvez utiliser Si vous ne fournissez pas de valeur |
|
Spécifie l'URI, qui pointe vers l'emplacement du dossier ou du bucket Object Storage source. Ce paramètre est obligatoire. Le format des URI dépend du service Cloud Object Storage. Pour plus d'informations, reportez-vous à la section DBMS_CLOUD URI Formats. |
|
Indique l'URI du bucket ou dossier Object Storage cible, où les fichiers doivent être déplacés. Ce paramètre est obligatoire. Le format des URI dépend du service Cloud Object Storage. Pour plus d'informations, reportez-vous à la section DBMS_CLOUD URI Formats. |
|
Nom des données d'identification permettant d'accéder à l'emplacement de stockage d'objet cloud cible. Vous pouvez utiliser Si vous ne fournissez pas de valeur |
Exemple
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;
/
Rubrique parent : DBMS_CLOUD pour les objets et les fichiers
Procédure PUT_OBJECT
Cette procédure est surchargée. Dans un formulaire, la procédure copie un fichier d'Autonomous Database vers le stockage d'objet cloud. Sous une autre forme, la procédure copie une instance BLOB
d'Autonomous Database vers Cloud Object Storage.
Syntaxe
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);
Paramètres
Paramètre | Description |
---|---|
|
Nom des informations d'identification permettant d'accéder au stockage d'objet cloud. Vous pouvez utiliser |
|
URI de l'objet ou du fichier. Le format de l'URI dépend du service Cloud Object Storage que vous utilisez. Pour obtenir plus de détails, reportez-vous àFormats d'URI DBMS_CLOUD. |
|
Nom du répertoire sur l'instance Autonomous Database. Pied 2 |
|
Indique la valeur |
|
Nom du fichier dans le répertoire spécifié. |
|
Spécifie la compression utilisée pour stocker l'objet. La valeur par défaut est |
Note de bas de page 2
Pour exécuter DBMS_CLOUD.PUT_OBJECT
avec un utilisateur autre qu'ADMIN, vous devez lui accorder des privilèges d'accès en lecture sur le répertoire. Par exemple, exécutez la commande suivante en tant qu'ADMIN pour accorder des privilèges de lecture à adb_user
:
GRANT READ ON DIRECTORY data_pump_dir TO adb_user;
Exemple
Pour gérer les données BLOB
après le traitement dans la base de données, puis les stocker directement dans un fichier de la banque d'objets, procédez comme suit :
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;
/
Notes d'utilisation
En fonction de votre stockage d'objet cloud, la taille de l'objet que vous transférez est limitée comme suit :
Service Cloud Object Storage | Limite de taille de transfert d'objet |
---|---|
Oracle Cloud Infrastructure Object Storage |
50 Go |
Amazon S3 |
5 Go |
Stockage Azure Blob ou stockage Azure Data Lake |
256 Mo |
Compatible avec Amazon S3 |
Défini par le fournisseur de banque d'objets. Pour plus d'informations, reportez-vous à la documentation du fournisseur. |
La banque d'objets Oracle Cloud Infrastructure ne permet pas d'écrire des fichiers dans un bucket public sans fournir d'informations d'identification (Oracle Cloud Infrastructure permet aux utilisateurs de télécharger des objets à partir de buckets publics). Par conséquent, vous devez fournir un nom d'informations d'identification avec des informations d'identification valides pour stocker un objet dans un bucket public Oracle Cloud Infrastructure à l'aide de PUT_OBJECT
.
Pour plus d'informations, reportez-vous à la section DBMS_CLOUD URI Formats.
Rubrique parent : DBMS_CLOUD pour les objets et les fichiers
Procédure SYNC_EXTERNAL_PART_TABLE
Cette procédure simplifie la mise à jour d'une table partitionnée externe à partir de fichiers dans le cloud. Exécutez cette procédure chaque fois que de nouvelles partitions sont ajoutées ou lorsque des partitions sont supprimées de la source de la banque d'objets pour la table partitionnée externe.
Syntaxe
DBMS_CLOUD.SYNC_EXTERNAL_PART_TABLE
(
table_name IN VARCHAR2,
schema_name IN VARCHAR2 DEFAULT,
update_columns IN BOOLEAN DEFAULT);
Paramètres
Paramètre | Description |
---|---|
|
Nom de la Table cible. La table cible doit être créée avant d'exécuter |
|
Nom du schéma dans lequel réside la table cible. La valeur par défaut est NULL, ce qui signifie que la table cible se trouve dans le même schéma que l'utilisateur qui exécute la procédure. |
|
Les nouveaux fichiers peuvent apporter une modification au schéma. Les mises à jour prises en charge sont les suivantes : nouvelles colonnes, colonnes supprimées. Les mises à jour des colonnes existantes, par exemple une modification du type de données, génèrent des erreurs. Valeur par défaut : False |
Rubrique parent : DBMS_CLOUD pour les objets et les fichiers
Procédure VALIDATE_EXTERNAL_PART_TABLE
Cette procédure valide les fichiers source pour une table externe partitionnée, génère les informations de journal et stocke les lignes qui ne correspondent pas aux options de format indiquées pour la table externe dans une table badfile sur Autonomous Database. La forme surchargée permet d'utiliser le paramètre operation_id
.
Syntaxe
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);
Paramètres
Paramètre | Description |
---|---|
|
Nom de la table externe. |
|
Utilisez ce paramètre pour suivre la progression et le statut final de l'opération de chargement sous l'ID correspondant dans la vue |
|
Si elle est définie, seule une partition spécifique est validée. Si aucune valeur n'est indiquée, lisez toutes les partitions de manière séquentielle jusqu'à ce que |
|
Si elle est définie, seule une sous-partition spécifique est validée. Si aucune valeur n'est indiquée, la lecture de toutes les partitions ou sous-partitions externes est séquentielle jusqu'à ce que |
|
Nom du schéma dans lequel réside la table externe. La valeur par défaut est NULL, ce qui signifie que la table externe se trouve dans le même schéma que l'utilisateur qui exécute la procédure. |
|
Nombre de lignes à analyser. La valeur par défaut est NULL, ce qui signifie que toutes les lignes des fichiers source sont analysées. |
|
Pour usage interne uniquement. N'utilisez pas ce paramètre. |
|
Détermine si la validation doit s'arrêter lorsqu'une ligne est rejetée. La valeur par défaut est |
Rubrique parent : DBMS_CLOUD pour les objets et les fichiers
Procédure VALIDATE_EXTERNAL_TABLE
Cette procédure valide les fichiers source pour une table externe, génère des informations sur le journal et stocke les lignes qui ne correspondent pas aux options de format indiquées pour la table externe dans une table badfile sur Autonomous Database. La forme surchargée permet d'utiliser le paramètre operation_id
.
Syntaxe
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);
Paramètres
Paramètre | Description |
---|---|
|
Nom de la table externe. |
|
Utilisez ce paramètre pour suivre la progression et le statut final de l'opération de chargement sous l'ID correspondant dans la vue |
|
Nom du schéma dans lequel réside la table externe. La valeur par défaut est NULL, ce qui signifie que la table externe se trouve dans le même schéma que l'utilisateur qui exécute la procédure. |
|
Nombre de lignes à analyser. La valeur par défaut est NULL, ce qui signifie que toutes les lignes des fichiers source sont analysées. |
|
Détermine si la validation doit s'arrêter lorsqu'une ligne est rejetée. La valeur par défaut est Si la table externe fait référence à des fichiers Avro, ORC ou Parquet, la validation s'arrête à la première ligne rejetée. Lorsque la table externe indique que le paramètre |
Notes d'utilisation
-
DBMS_CLOUD.VALIDATE_EXTERNAL_TABLE
fonctionne avec les tables externes partitionnées et les tables partitionnées hybrides. Cela permet de lire les données de toutes les partitions externes jusqu'à ce querowcount
soit atteint ou questop_on_error
s'applique. Vous n'avez pas le contrôle sur quelle partition, ou parties d'une partition, est lue dans quel ordre.
Rubrique parent : DBMS_CLOUD pour les objets et les fichiers
Procédure VALIDATE_HYBRID_PART_TABLE
Cette procédure valide les fichiers source pour la table partitionnée hybride, génère les informations relatives au journal et stocke les lignes qui ne correspondent pas aux options de format indiquées pour la table hybride dans une table badfile sur Autonomous Database. La forme surchargée permet d'utiliser le paramètre operation_id
.
Syntaxe
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);
Paramètres
Paramètre | Description |
---|---|
|
Nom de la table externe. |
|
Utilisez ce paramètre pour suivre la progression et le statut final de l'opération de chargement sous l'ID correspondant dans la vue |
|
Si elle est définie, seule une partition spécifique est validée. Si aucune valeur n'est indiquée, la lecture de toutes les partitions externes est séquentielle jusqu'à ce que |
|
Si elle est définie, seule une sous-partition spécifique est validée. Si aucune valeur n'est indiquée, la lecture de toutes les partitions ou sous-partitions externes est séquentielle jusqu'à ce que |
|
Nom du schéma dans lequel réside la table externe. La valeur par défaut est NULL, ce qui signifie que la table externe se trouve dans le même schéma que l'utilisateur qui exécute la procédure. |
|
Nombre de lignes à analyser. La valeur par défaut est NULL, ce qui signifie que toutes les lignes des fichiers source sont analysées. |
|
Pour usage interne uniquement. N'utilisez pas ce paramètre. |
|
Détermine si la validation doit s'arrêter lorsqu'une ligne est rejetée. La valeur par défaut est |
Rubrique parent : DBMS_CLOUD pour les objets et les fichiers
DBMS_CLOUD pour la gestion de fichiers en masse
Sous-programmes pour les opérations de fichier en masse dans le package DBMS_CLOUD.
Sous-programme | Description |
---|---|
Procédure BULK_COPY |
Cette procédure copie les fichiers d'un bucket Cloud Object Storage vers un autre. |
Procédure BULK_DELETE |
La procédure supprime des fichiers du bucket ou du dossier Cloud Object Storage. |
Procédure BULK_DOWNLOAD |
Cette procédure télécharge des fichiers à partir du bucket de banque d'objets cloud vers un répertoire dans Autonomous Database. |
Procédure BULK_MOVE |
Cette procédure déplace les fichiers d'un bucket Cloud Object Storage vers un autre. |
Procédure BULK_UPLOAD |
Cette procédure télécharge des fichiers à partir d'un répertoire dans Autonomous Database vers Cloud Object Storage. |
- Procédure BULK_COPY
Cette procédure copie en masse des fichiers d'un bucket Cloud Object Storage vers un autre. La forme surchargée permet d'utiliser le paramètreoperation_id
. - Procédure BULK_DELETE
Cette procédure supprime en masse des fichiers du stockage d'objets cloud. La forme surchargée permet d'utiliser le paramètreoperation_id
. Vous pouvez filtrer la liste des fichiers à supprimer à l'aide d'un modèle d'expression régulière compatible avec l'opérateurREGEXP_LIKE
. - BULK_DOWNLOAD Procédure
Cette procédure télécharge des fichiers dans un répertoire Autonomous Database à partir de Cloud Object Storage. La forme surchargée permet d'utiliser le paramètreoperation_id
. Vous pouvez filtrer la liste des fichiers à télécharger à l'aide d'un modèle d'expression régulière compatible avec l'opérateurREGEXP_LIKE
. - BULK_MOVE Procédure
Cette procédure déplace en masse des fichiers d'un bucket ou dossier Cloud Object Storage vers un autre. La forme surchargée permet d'utiliser le paramètreoperation_id
. - BULK_UPLOAD Procédure
Cette procédure copie les fichiers dans Cloud Object Storage à partir d'un répertoire Autonomous Database. La forme surchargée permet d'utiliser le paramètreoperation_id
.
Rubrique parent : Sous-programmes DBMS_CLOUD et API REST
Procédure BULK_COPY
Cette procédure copie en masse des fichiers d'un bucket Cloud Object Storage vers un autre. La forme surchargée permet d'utiliser le paramètre operation_id
.
Vous pouvez filtrer la liste des fichiers à supprimer à l'aide d'un modèle d'expression régulière compatible avec l'opérateur REGEXP_LIKE
.
Le dossier ou le bucket source et cible peuvent se trouver dans le même fournisseur de banque d'objets cloud ou dans un autre fournisseur.
Lorsque la source et la cible se trouvent dans des banques d'objets distinctes ou ont des comptes différents avec le même fournisseur cloud, vous pouvez donner des noms d'informations d'identification distincts pour les emplacements source et cible.
Par défaut, le nom des informations d'identification source est également utilisé par l'emplacement cible.
Syntaxe
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
);
Paramètres
Paramètre | Description |
---|---|
|
Nom des informations d'identification permettant d'accéder au stockage d'objet cloud. Vous pouvez utiliser Si vous ne fournissez pas de valeur |
|
Spécifie l'URI, qui pointe vers l'emplacement du dossier ou du bucket Object Storage source. Ce paramètre est obligatoire. Le format des URI dépend du service Cloud Object Storage. Pour plus d'informations, reportez-vous à la section DBMS_CLOUD URI Formats. |
|
Indique l'URI du bucket ou dossier Object Storage cible dans lequel les fichiers doivent être copiés. Ce paramètre est obligatoire. Le format des URI dépend du service Cloud Object Storage. Pour plus d'informations, reportez-vous à la section DBMS_CLOUD URI Formats. |
|
Nom des données d'identification permettant d'accéder à l'emplacement de stockage d'objet cloud cible. Vous pouvez utiliser Si vous ne fournissez pas de valeur |
|
Spécifie l'expression REGEX pour filtrer les fichiers. Le modèle d'expression REGEX doit être compatible avec l'opérateur Si vous ne fournissez pas de valeur Pour plus d'informations, reportez-vous à REGEXP_LIKE Condition. |
|
Spécifie les options de configuration supplémentaires pour l'opération de fichier. Ces options sont indiquées sous forme de chaîne JSON. Les options de format prises en charge sont les suivantes :
Si vous ne fournissez pas de valeur |
|
Utilisez ce paramètre pour suivre la progression et le statut final de l'opération de chargement sous l'ID correspondant dans la vue |
Notes d'utilisation
-
Une erreur est renvoyée lorsque les URI source et cible pointent vers le même bucket ou dossier Object Storage.
Exemple
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;
/
Rubrique parent : DBMS_CLOUD pour la gestion de fichiers en masse
Procédure BULK_DELETE
Cette procédure supprime en masse des fichiers du stockage d'objets cloud. La forme surchargée permet d'utiliser le paramètre operation_id
. Vous pouvez filtrer la liste des fichiers à supprimer à l'aide d'un modèle d'expression régulière compatible avec l'opérateur REGEXP_LIKE
.
Syntaxe
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
);
Paramètres
Paramètre | Description |
---|---|
|
Nom des informations d'identification permettant d'accéder au stockage d'objet cloud. Vous pouvez utiliser Si vous ne fournissez pas de valeur |
|
Spécifie un URI qui pointe vers un emplacement Object Storage dans Autonomous Database. Ce paramètre est obligatoire. Le format des URI dépend du service Cloud Object Storage. Pour plus d'informations, reportez-vous à la section DBMS_CLOUD URI Formats. |
|
Spécifie l'expression REGEX pour filtrer les fichiers. Le modèle d'expression REGEX doit être compatible avec l'opérateur Si vous ne fournissez pas de valeur Pour plus d'informations, reportez-vous à REGEXP_LIKE Condition. |
|
Spécifie les options de configuration supplémentaires pour l'opération de fichier. Ces options sont indiquées sous forme de chaîne JSON. Les options de format prises en charge sont les suivantes :
Si vous ne fournissez pas de valeur |
|
Utilisez ce paramètre pour suivre la progression et le statut final de l'opération de chargement sous l'ID correspondant dans la vue |
Exemple
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;
/
Rubrique parent : DBMS_CLOUD pour la gestion de fichiers en masse
Procédure BULK_DOWNLOAD
Cette procédure télécharge des fichiers dans un répertoire Autonomous Database à partir de Cloud Object Storage. La forme surchargée permet d'utiliser le paramètre operation_id
. Vous pouvez filtrer la liste des fichiers à télécharger à l'aide d'un modèle d'expression régulière compatible avec l'opérateur REGEXP_LIKE
.
Syntaxe
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
);
Paramètres
Paramètre | Description |
---|---|
|
Nom des informations d'identification permettant d'accéder au stockage d'objet cloud. Vous pouvez utiliser Si vous ne fournissez pas de valeur |
|
Spécifie un URI qui pointe vers un emplacement Object Storage dans Autonomous Database. Ce paramètre est obligatoire. Le format des URI dépend du service Cloud Object Storage. Pour plus d'informations, reportez-vous à la section DBMS_CLOUD URI Formats. |
|
Nom du répertoire sur la base de données Autonomous Database à partir duquel télécharger les fichiers. Ce paramètre est obligatoire. |
|
Spécifie l'expression REGEX pour filtrer les fichiers. Le modèle d'expression REGEX doit être compatible avec l'opérateur Si vous ne fournissez pas de valeur Pour plus d'informations, reportez-vous à REGEXP_LIKE Condition. |
|
Spécifie les options de configuration supplémentaires pour l'opération de fichier. Ces options sont indiquées sous forme de chaîne JSON. Les options de format prises en charge sont les suivantes :
Si vous ne fournissez pas de valeur |
|
Utilisez ce paramètre pour suivre la progression et le statut final de l'opération de chargement sous l'ID correspondant dans la vue |
Exemple
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;
/
Rubrique parent : DBMS_CLOUD pour la gestion de fichiers en masse
Procédure BULK_MOVE
Cette procédure déplace en masse des fichiers d'un bucket ou dossier Cloud Object Storage vers un autre. La forme surchargée permet d'utiliser le paramètre operation_id
.
Vous pouvez filtrer la liste des fichiers à supprimer à l'aide d'un modèle d'expression régulière compatible avec l'opérateur REGEXP_LIKE
.
Le dossier ou le bucket source et cible peuvent se trouver dans le même fournisseur de banque d'objets cloud ou dans un autre fournisseur.
Lorsque la source et la cible se trouvent dans des banques d'objets distinctes ou ont des comptes différents avec le même fournisseur cloud, vous pouvez donner des noms d'informations d'identification distincts pour les emplacements source et cible.
Par défaut, le nom des informations d'identification source est également utilisé par l'emplacement cible lorsque le nom des informations d'identification cible n'est pas fourni.
La première étape du déplacement des fichiers consiste à les copier vers l'emplacement cible, puis à supprimer les fichiers source, une fois qu'ils ont été copiés.
L'objet est renommé et non déplacé si la banque d'objets autorise les opérations de changement de nom entre les emplacements source et cible.
Syntaxe
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
);
Paramètres
Paramètre | Description |
---|---|
|
Nom des infos d'identification permettant d'accéder au stockage d'objet cloud source. Vous pouvez utiliser Si vous ne fournissez pas de valeur |
|
Spécifie l'URI, qui pointe vers l'emplacement du dossier ou du bucket Object Storage source. Ce paramètre est obligatoire. Le format des URI dépend du service Cloud Object Storage. Pour plus d'informations, reportez-vous à la section DBMS_CLOUD URI Formats. |
|
Indique l'URI du bucket ou dossier Object Storage cible, où les fichiers doivent être déplacés. Ce paramètre est obligatoire. Le format des URI dépend du service Cloud Object Storage. Pour plus d'informations, reportez-vous à la section DBMS_CLOUD URI Formats. |
|
Nom des données d'identification permettant d'accéder à l'emplacement de stockage d'objet cloud cible. Vous pouvez utiliser Si vous ne fournissez pas de valeur |
|
Spécifie l'expression REGEX pour filtrer les fichiers. Le modèle d'expression REGEX doit être compatible avec l'opérateur Si vous ne fournissez pas de valeur Pour plus d'informations, reportez-vous à REGEXP_LIKE Condition. |
|
Spécifie les options de configuration supplémentaires pour l'opération de fichier. Ces options sont indiquées sous forme de chaîne JSON. Les options de format prises en charge sont les suivantes :
Si vous ne fournissez pas de valeur |
|
Utilisez ce paramètre pour suivre la progression et le statut final de l'opération de chargement sous l'ID correspondant dans la vue |
Exemple
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;
/
Une erreur est renvoyée lorsque les URI source et cible pointent vers le même bucket ou dossier Object Storage.
Rubrique parent : DBMS_CLOUD pour la gestion de fichiers en masse
Procédure BULK_UPLOAD
Cette procédure copie les fichiers dans Cloud Object Storage à partir d'un répertoire Autonomous Database. La forme surchargée permet d'utiliser le paramètre operation_id
.
Syntaxe
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
);
Paramètres
Paramètre | Description |
---|---|
|
Nom des informations d'identification permettant d'accéder au stockage d'objet cloud. Vous pouvez utiliser Si vous ne fournissez pas de valeur |
|
Spécifie l'URI, qui pointe vers un emplacement Object Storage pour télécharger des fichiers. Ce paramètre est obligatoire. Le format des URI dépend du service Cloud Object Storage. Pour plus d'informations, reportez-vous à la section DBMS_CLOUD URI Formats. |
|
Nom du répertoire sur la base de données Autonomous Database à partir duquel vous téléchargez des fichiers. Ce paramètre est obligatoire. |
regex_filter |
Spécifie l'expression REGEX pour filtrer les fichiers. Le modèle d'expression REGEX doit être compatible avec l'opérateur Si vous ne fournissez pas de valeur Pour plus d'informations, reportez-vous à REGEXP_LIKE Condition. |
|
Spécifie les options de configuration supplémentaires pour l'opération de fichier. Ces options sont indiquées sous forme de chaîne JSON. Les options de format prises en charge sont les suivantes :
Si vous ne fournissez pas de valeur |
|
Utilisez ce paramètre pour suivre la progression et le statut final de l'opération de chargement sous l'ID correspondant dans la vue |
Exemple
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;
/
Rubrique parent : DBMS_CLOUD pour la gestion de fichiers en masse
API REST DBMS_CLOUD
Cette section traite des API REST DBMS_CLOUD
fournies avec Autonomous Database.
API REST | Description |
---|---|
Cette fonction renvoie les en-têtes de réponse HTTP en tant que données JSON dans un objet JSON dans Autonomous Database. | |
Cette fonction renvoie la réponse HTTP au format RAW Autonomous Database. Ceci est utile si la réponse HTTP doit être au format binaire. | |
Cette fonction renvoie le code de statut de réponse HTTP sous forme d'entier dans Autonomous Database. Le code statut permet d'identifier si la demande a réussi. | |
Cette fonction renvoie la réponse HTTP au format TEXT (VARCHAR2 ou CLOB ) dans Autonomous Database. Habituellement, la plupart des API REST cloud renvoient une réponse JSON au format texte. Cette fonction est utile si vous prévoyez que la réponse HTTP est au format texte.
|
|
Cette fonction renvoie la taille de cache des résultats configurée. |
|
Cette fonction démarre une demande HTTP, obtient la réponse et termine la réponse dans Autonomous Database. Cette fonction fournit un workflow pour l'envoi d'une demande d'API REST cloud avec des arguments et un code de réponse de retour et une charge utile. | |
Cette procédure définit la taille maximale du cache pour la session en cours. |
- DBMS_CLOUD Présentation de l'API REST
Lorsque vous utilisez du code PL/SQL dans votre application et que vous devez appeler des API REST cloud, vous pouvez utiliserDBMS_CLOUD.SEND_REQUEST
pour envoyer les demandes d'API REST. - DBMS_CLOUD Constantes d'API REST
Décrit les constantesDBMS_CLOUD
permettant d'effectuer des demandesHTTP
à l'aide deDBMS_CLOUD.SEND_REQUEST
. - DBMS_CLOUD Cache des résultats d'API REST
Vous pouvez enregistrer les résultats d'API RESTDBMS_CLOUD
lorsque vous définissez le paramètrecache
sur True avecDBMS_CLOUD.SEND_REQUEST
. La vueSESSION_CLOUD_API_RESULTS
décrit les colonnes que vous pouvez utiliser lorsque les résultats de l'API REST sont enregistrés. - GET_RESPONSE_HEADERS Fonction
Cette fonction renvoie les en-têtes de réponse HTTP en tant que données JSON dans un objet JSON. - GET_RESPONSE_RAW Fonction
Cette fonction renvoie la réponse HTTP au format RAW. Ceci est utile si la réponse HTTP doit être au format binaire. - GET_RESPONSE_STATUS_CODE Fonction
Cette fonction renvoie le code de statut de réponse HTTP sous forme d'entier. Le code statut permet d'identifier si la demande a réussi. - GET_RESPONSE_TEXT Fonction
Cette fonction renvoie la réponse HTTP au formatTEXT
(VARCHAR2
ouCLOB
). Habituellement, la plupart des API REST cloud renvoient une réponse JSON au format texte. Cette fonction est utile si vous prévoyez que la réponse HTTP est au format texte. - GET_API_RESULT_CACHE_SIZE Fonction
Cette fonction renvoie la taille de cache des résultats configurée. La valeur de taille de cache s'applique uniquement à la session en cours. - SEND_REQUEST Fonction et procédure
Cette fonction et cette procédure démarrent une demande HTTP, obtiennent la réponse et mettent fin à la réponse. Cette fonction fournit un workflow pour l'envoi d'une demande d'API REST cloud avec des arguments et la fonction renvoie un code de réponse et une charge utile. Si vous utilisez la procédure, vous pouvez afficher les résultats et les détails de réponse à partir des résultats enregistrés avec la vueSESSION_CLOUD_API_RESULTS
. - Procédure SET_API_RESULT_CACHE_SIZE
Cette procédure définit la taille maximale du cache pour la session en cours. La valeur de taille de cache s'applique uniquement à la session en cours. - DBMS_CLOUD Exemples d'API REST
Affiche des exemples à l'aide deDBMS_CLOUD.SEND_REQUEST
pour créer et supprimer un bucket Oracle Cloud Infrastructure Object Storage, ainsi qu'un exemple pour répertorier tous les compartiments de la location.
Rubrique parent : Sous-programmes DBMS_CLOUD et API REST
DBMS_CLOUD Présentation de l'API REST
Lorsque vous utilisez PL/SQL dans votre application et que vous devez appeler des API REST cloud, vous pouvez utiliser DBMS_CLOUD.SEND_REQUEST
pour envoyer les demandes d'API REST.
Les fonctions d'API REST DBMS_CLOUD
vous permettent d'effectuer des demandes HTTP
à l'aide de DBMS_CLOUD.SEND_REQUEST
, d'obtenir et d'enregistrer des résultats. Ces fonctions fournissent une API générique qui vous permet d'appeler une API REST avec les services cloud pris en charge suivants :
- Oracle Cloud Infrastructure
Pour plus d'informations sur les API REST Oracle Cloud Infrastructure, reportez-vous à Adresses et référence d'API.
- Amazon Web Services (AWS)
Pour plus d'informations sur les API REST Amazon Web Services, reportez-vous à Guides et références d'API.
- Azure Cloud 3e pied
Pour plus d'informations sur les API REST Azure, reportez-vous à Référence d'API REST Azure.
- Oracle Cloud Infrastructure Classic
Pour plus d'informations sur les API REST Oracle Cloud Infrastructure Classic, reportez-vous à Toutes les adresses REST.
- Référentiel GitHub
Pour plus d'informations, reportez-vous à GitHub, API REST.
Rubrique parent : API REST DBMS_CLOUD
DBMS_CLOUD Constantes d'API REST
Décrit les constantes DBMS_CLOUD
pour effectuer des demandes HTTP
à l'aide de DBMS_CLOUD.SEND_REQUEST
.
DBMS_CLOUD
prend en charge les méthodes HTTP GET
, PUT
, POST
, HEAD
et DELETE
. La méthode d'API REST à utiliser pour une demande HTTP est généralement documentée dans la documentation de l'API REST cloud.
Nom | Type | Valeur |
---|---|---|
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' |
Rubrique parent : API REST DBMS_CLOUD
DBMS_CLOUD Cache de résultats d'API REST
Vous pouvez enregistrer les résultats de l'API REST DBMS_CLOUD
lorsque vous définissez le paramètre cache
sur True avec DBMS_CLOUD.SEND_REQUEST
. La vue SESSION_CLOUD_API_RESULTS
décrit les colonnes que vous pouvez utiliser lorsque les résultats de l'API REST sont enregistrés.
Par défaut, les appels d'API REST DBMS_CLOUD
n'enregistrent pas les résultats de la session. Dans ce cas, vous utilisez la fonction DBMS_CLOUD.SEND_REQUEST
pour renvoyer des résultats.
Lorsque vous utilisez DBMS_CLOUD.SEND_REQUEST
et définissez le paramètre cache
sur TRUE
, les résultats sont enregistrés et vous pouvez visualiser les résultats passés dans la vue SESSION_CLOUD_API_RESULTS
. L'enregistrement et l'interrogation des résultats historiques des demandes d'API REST DBMS_CLOUD
peuvent vous aider lorsque vous avez besoin d'utiliser les résultats précédents dans vos applications.
Par exemple, pour interroger les résultats récents de l'API REST DBMS_CLOUD
, utilisez la vue SESSION_CLOUD_API_RESULTS
:
SELECT timestamp FROM SESSION_CLOUD_API_RESULTS;
Lorsque vous enregistrez les résultats de l'API REST DBMS_CLOUD
avec DBMS_CLOUD.SEND_REQUEST
, les données enregistrées ne sont disponibles que dans la même session (connexion). Une fois la session terminée, les données enregistrées ne sont plus disponibles.
Utilisez DBMS_CLOUD.GET_API_RESULT_CACHE_SIZE
et DBMS_CLOUD.SET_API_RESULT_CACHE_SIZE
pour visualiser et définir la taille de cache de l'API REST DBMS_CLOUD
, et pour désactiver la mise en cache.
- Paramètre cache_scope des résultats d'API REST DBMS_CLOUD
Lorsque vous enregistrez les résultats d'API RESTDBMS_CLOUD
avecDBMS_CLOUD.SEND_REQUEST
, l'accès aux résultats dansSESSION_CLOUD_API_RESULTS
est fourni en fonction de la valeur decache_scope
. - Vue SESSION_CLOUD_API_RESULTS de l'API REST DBMS_CLOUD
Vous pouvez enregistrer les résultats de l'API RESTDBMS_CLOUD
lorsque vous définissez le paramètrecache
sur True avecDBMS_CLOUD.SEND_REQUEST
. La vueSESSION_CLOUD_API_RESULTS
décrit les colonnes que vous pouvez utiliser lorsque les résultats de l'API REST sont enregistrés.
Rubrique parent : API REST DBMS_CLOUD
Paramètre cache_scope des résultats d'API REST DBMS_CLOUD
Lorsque vous enregistrez les résultats de l'API REST DBMS_CLOUD
avec DBMS_CLOUD.SEND_REQUEST
, l'accès aux résultats dans SESSION_CLOUD_API_RESULTS
est fourni en fonction de la valeur de cache_scope
.
Par défaut, cache_scope
est 'PRIVATE'
et seul l'utilisateur en cours de la session peut accéder aux résultats. Si vous définissez cache_scope
sur 'PUBLIC'
, tous les utilisateurs de session peuvent accéder aux résultats. La valeur par défaut de cache_scope
indique que chaque utilisateur ne peut voir que les résultats de l'API REST DBMS_CLOUD.SEND_REQUEST
générés par les procédures qu'il appelle avec les droits de l'appelant. Lorsque vous appelez DBMS_CLOUD.SEND_REQUEST
dans une session, trois possibilités déterminent si l'utilisateur en cours peut voir les résultats dans le cache, en fonction de la valeur cache_scope
:
-
Vous exécutez directement
DBMS_CLOUD.SEND_REQUEST
en tant qu'instruction de niveau supérieur. Les résultats de l'appel versDBMS_CLOUD.SEND_REQUEST
et de l'API REST sont enregistrés avec le même nom utilisateur. Dans ce cas, vous avez accès à tous les résultats avec la valeur par défaut, 'PRIVATE'
, définie pourcache_scope
. -
Vous écrivez la procédure avec droits d'un appelant wrapper. En tant qu'utilisateur en cours, votre appel avec
DBMS_CLOUD.SEND_REQUEST
appelle la procédure et les résultats de l'API REST sont enregistrés avec le même nom utilisateur. Dans ce cas, et vous avez accès à tous les résultats avec la valeur par défaut, 'PRIVATE'
, définie pourcache_scope
. -
Vous écrivez la procédure de droits d'un créateur de wrapper et celle-ci appartient à un autre utilisateur. Lorsque vous appelez
DBMS_CLOUD.SEND_REQUEST
au sein de la procédure, les résultats sont enregistrés avec le nom utilisateur du propriétaire de la procédure.Dans ce cas, un autre utilisateur de droits de créateur appelle
DBMS_CLOUD.SEND_REQUEST
et les résultats de l'API REST sont enregistrés avec le propriétaire de cette procédure de créateur. Dans ce cas, par défaut, lorsquecache_scope
estPRIVATE'
, la session de l'appelant ne peut pas voir les résultats.Si le propriétaire de la procédure du créateur veut que les résultats soient disponibles pour tout utilisateur de session appelant, il doit définir
cache_scope
sur'PUBLIC'
dansDBMS_CLOUD.SEND_REQUEST
.
Rubrique parent : DBMS_CLOUD Cache de résultats d'API REST
DBMS_CLOUD Vue SESSION_CLOUD_API_RESULTS de l'API REST
Vous pouvez enregistrer les résultats de l'API REST DBMS_CLOUD
lorsque vous définissez le paramètre cache
sur True avec DBMS_CLOUD.SEND_REQUEST
. La vue SESSION_CLOUD_API_RESULTS
décrit les colonnes que vous pouvez utiliser lorsque les résultats de l'API REST sont enregistrés.
La vue SESSION_CLOUD_API_RESULTS
est la vue créée si vous mettez en cache les résultats avec DBMS_CLOUD.SEND_REQUEST
. Vous pouvez interroger les résultats historiques qui appartiennent à votre session utilisateur. Lorsque la session se termine, les données dans SESSION_CLOUD_API_RESULTS
sont purgées.
Colonne | Description |
---|---|
URI |
URL de demande d'API REST DBMS_CLOUD
|
TIMESTAMP |
Horodatage de la réponse de l'API REST DBMS_CLOUD
|
CLOUD_TYPE |
Type de cloud d'API REST DBMS_CLOUD , tel qu'Oracle Cloud Infrastructure, AMAZON_S3 et AZURE_BLOB
|
REQUEST_METHOD |
Méthode de demande d'API REST DBMS_CLOUD , telle que GET , PUT et HEAD |
REQUEST_HEADERS |
En-têtes de demande d'API REST DBMS_CLOUD
|
REQUEST_BODY_TEXT |
Corps de la demande d'API REST DBMS_CLOUD dans CLOB |
RESPONSE_STATUS_CODE |
Code de statut de réponse de l'API REST DBMS_CLOUD , tel que 200(OK) et 404(Not Found) |
RESPONSE_HEADERS |
En-têtes de réponse d'API REST DBMS_CLOUD
|
RESPONSE_BODY_TEXT |
Corps de réponse de l'API REST DBMS_CLOUD dans CLOB |
SCOPE |
|
Rubrique parent : DBMS_CLOUD Cache de résultats d'API REST
Fonction GET_RESPONSE_HEADERS
Cette fonction renvoie les en-têtes de réponse HTTP en tant que données JSON dans un objet JSON.
Syntaxe
DBMS_CLOUD.GET_RESPONSE_HEADERS
(
resp IN DBMS_CLOUD_TYPES.resp)
RETURN JSON_OBJECT_T;
Paramètres
Paramètre | Description |
---|---|
resp |
Type de réponse HTTP renvoyé par |
Exceptions
Exception | Erreur | Description |
---|---|---|
invalid_response |
ORA-20025 |
Objet de type de réponse non valide transmis à |
Rubrique parent : API REST DBMS_CLOUD
Fonction GET_RESPONSE_RAW
Cette fonction renvoie la réponse HTTP au format RAW. Ceci est utile si la réponse HTTP doit être au format binaire.
Syntaxe
DBMS_CLOUD.GET_RESPONSE_RAW
(
resp IN DBMS_CLOUD_TYPES.resp)
RETURN BLOB;
Paramètres
Paramètre | Description |
---|---|
resp |
Type de réponse HTTP renvoyé par |
Exceptions
Exception | Erreur | Description |
---|---|---|
invalid_response |
ORA-20025 |
Objet de type de réponse non valide transmis à |
Rubrique parent : API REST DBMS_CLOUD
Fonction GET_RESPONSE_STATUS_CODE
Cette fonction renvoie le code de statut de réponse HTTP sous forme d'entier. Le code statut permet d'identifier si la demande a réussi.
Syntaxe
DBMS_CLOUD.GET_RESPONSE_STATUS_CODE
(
resp IN DBMS_CLOUD_TYPES.resp)
RETURN PLS_INTEGER;
Paramètres
Paramètre | Description |
---|---|
resp |
Type de réponse HTTP renvoyé par |
Exceptions
Exception | Erreur | Description |
---|---|---|
invalid_response |
ORA-20025 |
Objet de type de réponse non valide transmis à |
Rubrique parent : API REST DBMS_CLOUD
Fonction GET_RESPONSE_TEXT
Cette fonction renvoie la réponse HTTP au format TEXT
(VARCHAR2
ou CLOB
). Habituellement, la plupart des API REST cloud renvoient une réponse JSON au format texte. Cette fonction est utile si vous prévoyez que la réponse HTTP est au format texte.
Syntaxe
DBMS_CLOUD.GET_RESPONSE_TEXT
(
resp IN DBMS_CLOUD_TYPES.resp)
RETURN CLOB;
Paramètres
Paramètre | Description |
---|---|
resp |
Type de réponse HTTP renvoyé par |
Exceptions
Exception | Erreur | Description |
---|---|---|
invalid_response |
ORA-20025 |
Objet de type de réponse non valide transmis à |
Rubrique parent : API REST DBMS_CLOUD
Fonction GET_API_RESULT_CACHE_SIZE
Cette fonction renvoie la taille de cache des résultats configurée. La valeur de taille de cache s'applique uniquement à la session en cours.
Syntaxe
DBMS_CLOUD.GET_API_RESULT_CACHE_SIZE
()
RETURN NUMBER;
Rubrique parent : API REST DBMS_CLOUD
SEND_REQUEST Fonction et procédure
Cette fonction et cette procédure démarrent une demande HTTP, obtiennent la réponse et mettent fin à la réponse. Cette fonction fournit un workflow pour l'envoi d'une demande d'API REST cloud avec des arguments et la fonction renvoie un code de réponse et une charge utile. Si vous utilisez la procédure, vous pouvez afficher les résultats et les détails de réponse à partir des résultats enregistrés avec la vue SESSION_CLOUD_API_RESULTS
.
Syntaxe
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);
Paramètres
Paramètre | Description |
---|---|
|
Nom des informations d'identification pour l'authentification auprès de l'API native cloud correspondante. Vous pouvez utiliser |
uri |
URI HTTP pour effectuer la demande. |
method |
Méthode de demande HTTP : Pour plus d'informations, reportez-vous à DBMS_CLOUD Constantes d'API REST. |
headers |
En-têtes de demande HTTP pour l'API native cloud correspondante au format JSON. Les en-têtes d'authentification sont définis automatiquement et ne transmettent que des en-têtes personnalisés. |
|
URL de demande asynchrone. Pour obtenir l'URL, sélectionnez l'API de demande dans la liste des API (reportez-vous à https://docs.cloud.oracle.com/en-us/iaas/api/). Accédez ensuite à l'API de votre demande dans le panneau de gauche. Par exemple, API des services de base de données → Autonomous Database → StopAutonomousDatabase. Cette page affiche le répertoire de base de l'API (et l'adresse de base). Ajoutez ensuite l'adresse de base au chemin relatif obtenu pour le lien WorkRequest de la demande de travail. |
wait_for_states |
Le statut Attendre pour les états est de type Plusieurs états sont autorisés pour |
timeout |
Indique le délai d'expiration, en secondes, des demandes asynchrones avec les paramètres La valeur par défaut est |
cache |
Si La valeur par défaut est |
cache_scope |
Indique si tout le monde peut accéder à ce cache de résultats de demande. Valeurs valides : |
body |
Corps de demande HTTP pour les demandes |
Exceptions
Exception | Erreur | Description |
---|---|---|
invalid_req_method |
ORA-20023 |
La méthode de demande transmise à |
invalid_req_header |
ORA-20024 |
Les en-têtes de demande transmis à |
Notes d'utilisation
-
Si vous utilisez Oracle Cloud Infrastructure, vous devez utiliser une valeur d'informations d'identification basée sur une clé de signature pour
credential_name
. Pour plus d'informations, reportez-vous à Procédure CREATE_CREDENTIAL. -
Les paramètres facultatifs
async_request_url
,wait_for_states
ettimeout
vous permettent de gérer les demandes à longue durée d'exécution. A l'aide de ce formulaire asynchrone desend_request
, la fonction attend le statut de fin indiqué danswait_for_states
avant de renvoyer. Avec ces paramètres dans la demande d'envoi, vous transmettez les états de retour attendus dans le paramètrewait_for_states
, et vous utilisez le paramètreasync_request_url
pour indiquer une demande de travail associée, la demande ne revient pas immédiatement. Au lieu de cela, la demande sondeasync_request_url
jusqu'à ce que l'état de retour soit l'un des états attendus ou quetimeout
soit dépassé (timeout
est facultatif). Si aucune valeurtimeout
n'est indiquée, la demande attend qu'un état trouvé danswait_for_states
se produise.
Rubrique parent : API REST DBMS_CLOUD
Procédure SET_API_RESULT_CACHE_SIZE
Cette procédure définit la taille maximale du cache pour la session en cours. La valeur de taille de cache s'applique uniquement à la session en cours.
Syntaxe
DBMS_CLOUD.SET_API_RESULT_CACHE_SIZE
(
cache_size IN NUMBER);
Paramètres
Paramètre | Description |
---|---|
cache_size |
Définissez la taille maximale du cache sur la valeur indiquée Si la taille du cache est définie sur La taille de cache par défaut est |
Exceptions
Exception | Erreur | Description |
---|---|---|
invalid API result cache size |
ORA-20032 |
La valeur minimale est 0 et la valeur maximale est 10000. Cette exception s'affiche lorsque la valeur d'entrée est inférieure à 0 ou supérieure à 10000. |
Exemple
EXEC DBMS_CLOUD.SET_API_RESULT_CACHE_SIZE
(101);
Rubrique parent : API REST DBMS_CLOUD
DBMS_CLOUD Exemples d'API REST
Affiche des exemples utilisant DBMS_CLOUD.SEND_REQUEST
pour créer et supprimer un bucket Oracle Cloud Infrastructure Object Storage, ainsi qu'un exemple pour répertorier tous les compartiments de la location.
Ces exemples présentent les API de demande Oracle Cloud Infrastructure et exigent que vous utilisiez des informations d'identification basées sur une clé de signature pour credential_name
. Les informations d'identification basées sur la clé de signature Oracle Cloud Infrastructure incluent les arguments private_key
et fingerprint
.
Par exemple :
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;
/
Pour plus d'informations sur DBMS_CLOUD.CREATE_CREDENTIAL
, reportez-vous à Procédure CREATE_CREDENTIAL.
Exemple de création de bucket
Affiche un exemple utilisant DBMS_CLOUD.SEND_REQUEST
avec la méthode HTTP POST
pour créer un bucket de banque d'objets nommé bucketname
.
Pour plus de détails sur l'API de service Oracle Cloud Infrastructure Object Storage de cet exemple, reportez-vous à 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;
/
Notes :
-
Dans cet exemple,
namespace-string
est l'espace de noms d'objet Oracle Cloud Infrastructure etbucketname
est le nom du bucket. Pour plus d'informations, reportez-vous à Présentation des espaces de noms Object Storage. -
Où :
region
est une région d'adresse. Pour plus d'informations, reportez-vous à la référence d'API Object Storage dans Adresses et référence d'API. Par exemple, oùregion
est :us-phoenix-1
.
Exemple de suppression de bucket
Affiche un exemple utilisant DBMS_CLOUD.SEND_REQUEST
avec la méthode HTTP DELETE
pour supprimer un bucket de banque d'objets nommé bucketname
.
Pour plus de détails sur l'API de service Oracle Cloud Infrastructure Object Storage de cet exemple, reportez-vous à 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;
/
Notes :
-
Dans cet exemple,
namespace-string
est l'espace de noms d'objet Oracle Cloud Infrastructure etbucketname
est le nom du bucket. Pour plus d'informations, reportez-vous à Présentation des espaces de noms Object Storage. -
Où :
region
est une région d'adresse. Pour plus d'informations, reportez-vous à la référence d'API Object Storage dans Adresses et référence d'API. Par exemple, oùregion
est :us-phoenix-1
.
Exemple de liste de compartiments
Affiche un exemple utilisant DBMS_CLOUD.SEND_REQUEST
avec la méthode HTTP GET
pour répertorier tous les compartiments de la location (compartiment racine). Cet exemple montre comment transmettre des en-têtes de demande dans DBMS_CLOUD.SEND_REQUEST
.
Pour plus de détails sur l'API de service Oracle Cloud Infrastructure Identity and Access Management pour cet exemple, reportez-vous à 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;
/
Où : region
est une région d'adresse. Pour plus d'informations, reportez-vous à la référence d'API Identity and Access Management (IAM) dans Adresses et référence d'API. Par exemple, où region
est : uk-london-1
.
Exemple de demande asynchrone
Affiche un exemple utilisant DBMS_CLOUD.SEND_REQUEST
avec la méthode HTTP POST
pour effectuer l'opération d'arrêt Autonomous Database et attendre le statut. Cet exemple montre comment utiliser DBMS_CLOUD.SEND_REQUEST
avec les paramètres async_request_url
, wait_for_states
et timeout
.
--
-- 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;
/
Où : region
est une région d'adresse. Pour plus d'informations, reportez-vous à la référence d'API Identity and Access Management (IAM) dans Adresses et référence d'API. Par exemple, où region
est : uk-london-1
.
ocid
est l'identificateur de ressource Oracle Cloud Infrastructure. Pour plus d'informations, reportez-vous à Identificateurs de ressource.
Rubrique parent : API REST DBMS_CLOUD
Légende de la note de bas de page
Note de bas de page 3 : La prise en charge des appels d'API REST Azure Cloud est limitée au domaine "blob.windows.net".