API REST et sous-programmes DBMS_CLOUD
Cette section traite des sous-programmes DBMS_CLOUD et des API REST fournis avec Autonomous AI 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_CLOUDfournies avec la base de données Autonomous AI. 
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 la base de données Autonomous AI. | |
| Cette procédure enlevez des informations d'identification existantes de la base de données Autonomous AI. | |
| 
 Cette procédure actualise 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 l'élément   | 
|
| Cette procédure met à jour les attributs d'informations d'identification de service cloud dans la base de données Autonomous AI. | 
- Procédure CREATE_CREDENTIAL
Cette procédure stocke les informations d'identification de service cloud dans la base de données Autonomous AI. - Procédure DROP_CREDENTIAL
Cette procédure enlève des informations d'identification existantes de la base de données Autonomous AI. - 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_namespé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 la base de données Autonomous AI.
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_keyetfingerprint, uniquement lorsque vous utilisez l'authentification à l'aide de clés de signature Oracle Cloud Infrastructure. - 
Utilisez le paramètre
paramspour 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
ADMINpeut 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_CLOUDqui 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_keyoufingerprint), 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_iden 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_CREDENTIALutilise la valeurregionmise en correspondance à partir de la clé de région danssecret_id. Par exemple,us-ashburn-1est 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 de base de données Autonomous AI, 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éfautregionest 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
EXECUTEsur 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 enlevez des informations d'identification existantes de la base de données Autonomous AI.
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
ADMINpeut 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
ADMINpeut 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_CLOUDqui 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 de base de données Autonomous AI existantes à partir du stockage d'objets cloud ou des 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 de base de données Autonomous AI 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. | |
| 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.  | 
| 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'une base de données Autonomous AI. | |
| 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'une base de données Autonomous AI.  | 
| 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'une base de données Autonomous AI. | |
| 
 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'une base de données Autonomous AI. | |
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 la base de données Autonomous AI | |
| 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'une base de données Autonomous AI 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. Cette procédure lit un objet à partir du stockage d'objet cloud et le copier vers la base de données Autonomous AI. Le formulaire de fonction lit un objet à partir du stockage d'objet cloud et renvoie une valeur BLOB vers la base de données Autonomous AI.
                               | 
|
| 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 AI Database vers Cloud Object Storage. Dans un autre formulaire, la procédure copie une valeur BLOB d'Autonomous AI 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 une information 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 AI 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 AI 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 la base de données Autonomous AI. | 
- 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 AI Database existantes à partir de fichiers dans le cloud ou de fichiers dans 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ètreformattypedéfini sur la valeuravro,orcouparquetcharge les données dans les tables de base de données Autonomous AI existantes à partir des fichiers Avro, ORC ou Parquet dans le cloud ou à partir des 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 des fichiers d'un répertoire. Vous pouvez ainsi exécuter des requêtes sur des données externes à partir d'une base de données Autonomous AI. - 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'une base de données Autonomous AI. - 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ètreformattypedéfini sur la valeuravro,orcouparquetcré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'une base de données Autonomous AI à 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_operationsde votre schéma, ou toutes les opérations de chargement de données du type spécifié, comme indiqué dans le paramètretype. - DELETE_FILE Procédure
Cette procédure enlève le fichier spécifié du répertoire indiqué sur la base de données Autonomous AI. - 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_operationsoudba_load_operationsde 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'une base de données Autonomous AI 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. Cette procédure lit un objet à partir du stockage d'objet cloud et le copier vers la base de données Autonomous AI. Le formulaire de fonction lit un objet à partir du stockage d'objet cloud et renvoie une valeurBLOBvers la base de données Autonomous AI. - 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 AI Database vers Cloud Object Storage. Dans un autre formulaire, la procédure copie une valeurBLOBd'Autonomous AI 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 partitionnée externe, génère une information 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 AI Database, La forme surchargée permet d'utiliser le paramètreoperation_id. - VALIDATE_EXTERNAL_TABLE Procédure
Cette procédure valide les fichiers source pour une table externe, génère des 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 AI 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 la base de données Autonomous AI. 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 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 :  | 
| 
 
  | 
 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 AI Database prend aussi en charge d'autres formats. Pour obtenir la liste des arguments de format pris en charge par Autonomous AI Database, reportez-vous à DBMS_CLOUD Options de format de package.  | 
| 
 
  | 
 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 de base de données Autonomous AI existantes à partir de fichiers dans le cloud ou de fichiers dans 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 obtenir plus de détails, reportez-vous à la page 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 de base de données Autonomous AI 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 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 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.  | 
| 
 
  | 
 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_operationsetuser_load_operations. Chaque opération de chargement ajoute un enregistrement àdba[user]_load_operationsqui 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
formattypeest défini sur la valeuravro,orcouparquet, la tableBADFILE_TABLEest toujours vide.- 
Pour les fichiers Parquet, les erreurs de contrainte
PRIMARY KEYgé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_listpeut inclure la clauseDEFAULT, qui fonctionne comme la clauseDEFAULTdans une clauseCREATE TABLEordinaire. Pour plus d'informations sur le comportement de la clauseDEFAULT, reportez-vous à CREATE TABLE. - 
Utilisez
DROP TABLEpour 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,INSERTetUPDATEpour 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'une base de données Autonomous AI.
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_clauseetfile_uri_list. - 
La spécification du paramètre
column_listest facultative avec les fichiers de données structurées, notamment les fichiers de données Avro, Parquet ou ORC. Sicolumn_listn'est pas spécifié, l'optionpartition_columnsdu paramètreformatdoit inclurenameettype. - 
Le paramètre
column_listest requis avec les fichiers de données non structurés, tels que les fichiers texte CSV. - 
La procédure
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLEprend 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_TABLEprend 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_TABLEavec 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_CLOUDtente de trouver automatiquement le caractère de nouvelle ligne correct à utiliser comme délimiteur d'enregistrement.DBMS_CLOUDrecherche 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_CLOUDsearches for the UNIX/Linux newline character\n, and if it finds one it uses\nas 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_TABLEincluent deux colonnes invisiblesfile$pathetfile$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'une base de données Autonomous AI.
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 une base de données Autonomous AI 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_TABLEprend 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_CLOUDtente de trouver automatiquement le caractère de nouvelle ligne correct à utiliser comme délimiteur d'enregistrement.DBMS_CLOUDrecherche 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_CLOUDsearches for the UNIX/Linux newline character\n, and if it finds one it uses\nas 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_lakehouse'     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_lakehouse: chemin de répertoire Lakehouse utilisé lors de la génération de la table, au format URI natif.iceberg_table_path: chemindatabase_name.table nameutilisé 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'une base de données Autonomous AI.
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 | 
 Ce paramètre spécifie une liste d'URI de fichier source, séparés par des virgules. 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. Ce paramètre est obligatoire. 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  Exemple d'utilisation d'expressions régulières : 
Exemple avec des caractères génériques : 
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   | 
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'une base de données Autonomous AI à 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_TABLEprend 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_TABLEprend 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_TABLEincluent deux colonnes invisiblesfile$pathetfile$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 AI 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 de base de données Autonomous AI.  | 
| 
 
  | 
 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 lakehouse_id, quantity FROM inventoriesPour plus d'informations sur la valeur de format  Lorsque la valeur  Par exemple : SELECT JSON_OBJECT(* RETURNING CLOB) from(SELECT lakehouse_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
queryque 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_DATAgé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_DATAavec 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 de base de données Autonomous AI.
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 de base de données Autonomous AI.
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_DATAutiliseDATA_PUMP_DIRcomme répertoire de journalisation par défaut. Le privilège d'écriture surDATA_PUMP_DIRest donc requis lors de l'utilisation de la sortieORACLE_DATAPUMP. - 
Autonomous AI Database export using
DBMS_CLOUD.EXPORT_DATAwithformatparametertypeoptiondatapumponly supports Oracle Cloud Infrastructure Object Storage, Oracle Cloud Infrastructure Object Storage Classic object stores or directory output. - 
Lorsque vous indiquez
DBMS_CLOUD.EXPORT_DATAavec l'optiondatapumpdu paramètreformattype, la valeur du paramètrecredential_namene 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_aaaaaacurl -O -v -X GET -u 'user1@example.com:auth_token' \ https://swiftobjectstorage.us-ashburn-1.oraclecloud.com/v1/namespace-string/bucketname/exp01.dmpSi vous importez un fichier avec les procédures
DBMS_CLOUDqui prennent en charge le paramètreformattypeavec 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_DATAcrée les fichiers dump à partir des valeursfile_uri_listque 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_listexiste,DBMS_CLOUD.EXPORT_DATAsignale une erreur. - 
DBMS_CLOUD.EXPORT_DATAne crée pas de buckets. 
 - 
 - 
Le nombre de fichiers dump générés par
DBMS_CLOUD.EXPORT_DATAest 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 fournis dans le paramètrefile_uri_list, ainsi que du nombre d'OCPU de base de données Autonomous AI disponibles pour l'instance, du niveau de service et de la taille des données.Par exemple, si vous utilisez une instance de base de données Autonomous AI à 1 OCPU ou le service
low, un seul fichier dump est exporté sans parallélisme, même si vous fournissez plusieurs noms de fichier. Si vous utilisez une instance de base de données Autonomous AI à 4 OCPU avec le servicemediumouhigh, les travaux peuvent être exécutés en parallèle et plusieurs fichiers dump sont exportés si vous fournissez plusieurs noms de fichier. - 
Les fichiers dump que vous créez avec
DBMS_CLOUD.EXPORT_DATAne 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 base de données Autonomous AI, vous pouvez utiliser les fichiers dump avec les procédures
DBMS_CLOUDqui prennent en charge le paramètreformattypeavec la valeur 'datapump'. Vous pouvez importer les fichiers dump à l'aide deDBMS_CLOUD.COPY_DATAou appelerDBMS_CLOUD.CREATE_EXTERNAL_TABLEpour 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
queryque 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
ADMINou disposer d'un accèsWRITEau répertoire. - 
DBMS_CLOUD.EXPORT_DATAne crée pas de répertoires. - 
La procédure n'écrase pas les fichiers. Par exemple, si un fichier dump dans
file_uri_listexiste,DBMS_CLOUD.EXPORT_DATAsignale 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 lakehouse_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. Cette procédure lit un objet à partir du stockage d'objet cloud et le copier vers la base de données Autonomous AI. Le formulaire de fonction lit un objet à partir du stockage d'objet cloud et renvoie une valeur BLOB vers la base de données Autonomous AI.
                     
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. Ce paramètre prend en charge les caractères génériques.  | 
Notes d'utilisation
- 
Pour exécuter
DBMS_CLOUD.LIST_FILESavec 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_FILESn'obtient pas la valeur de somme de contrôle et renvoieNULLpour ce champ. - 
DBMS_CLOUD.LIST_FILESprend en charge le filtrage sélectif des fichiers à l'aide de la syntaxedirectory:filename. Les caractères génériques sont pris en charge dans le nom de fichier. 
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
Exemples de requêtes utilisant des caractères génériques :
Vous pouvez utiliser DBMS_CLOUD.LIST_FILES avec la syntaxe DIRECTORY:FILE, en spécifiant un fichier ou en utilisant des caractères génériques. * et ? sont les caractères génériques pris en charge.
                        
Exemple 1 : répertoriez tous les fichiers CSV commençant par "f" dans le répertoire DATA_PUMP_DIR à l'aide d'un caractère générique. 
                        
SELECT * FROM DBMS_CLOUD.LIST_FILES('DATA_PUMP_DIR:f*.csv');
Exemple 2 : répertoriez le fichier f1.csv dans le répertoire DATA_PUMP_DIR en spécifiant le nom du fichier.
                        
SELECT * FROM DBMS_CLOUD.LIST_FILES('DATA_PUMP_DIR:f1.csv');
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 dossier ou de bucket Object Storage. 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. Les caractères génériques sont pris en charge pour répertorier de manière sélective les fichiers ou sous-dossiers dans un URI. Les caractères " Exemple avec des caractères génériques :  | 
Notes d'utilisation
- 
Selon les fonctionnalités de la banque d'objets,
DBMS_CLOUD.LIST_OBJECTSne renvoie pas de valeurs pour certains attributs et la valeur renvoyée pour le champ estNULLdans ce cas.Toutes les banques d'objets prises en charge renvoient des valeurs pour les champs
OBJECT_NAME,BYTESetCHECKSUM.Le tableau suivant présente la prise en charge des champs
CREATEDetLAST_MODIFIEDpar la banque d'objets :Banque d'objets CREATEDLAST_MODIFIEDOracle Cloud Infrastructure natif Renvoie l'horodatage Renvoie l'horodatage Oracle Cloud Infrastructure Swift Renvoie NULLRenvoie l'horodatage Oracle Cloud Infrastructure Classic Renvoie NULLRenvoie l'horodatage Amazon S3 Renvoie NULLRenvoie l'horodatage Compatible avec Amazon S3 Renvoie NULLRenvoie 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_PRINCIPALsont 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 AI Database vers Cloud Object Storage. Dans un autre formulaire, la procédure copie une valeur BLOB d'Autonomous AI 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 la bases de données Autonomous AI. Pied 2 | 
| 
 
  | 
 Indique le   | 
| 
 
  | 
 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 AI 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 une information 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 AI 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_TABLEfonctionne 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 querowcountsoit atteint ou questop_on_errors'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 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 la base de données Autonomous AI. 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   | 
| 
 
  | 
 Indique l'URI qui pointe vers l'emplacement du dossier ou du bucket Object Storage source. Ce paramètre est obligatoire. 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  Exemple d'utilisation d'expressions régulières : 
Exemple avec des caractères génériques : 
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   | 
| 
 
  | 
 Indique l'URI du bucket ou dossier Object Storage cible dans lequel les fichiers doivent être copiés. Ce paramètre est obligatoire. 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.  | 
| 
 
  | 
 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 l'URI qui pointe vers un emplacement Object Storage dans Autonomous Database. Ce paramètre est obligatoire. 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  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 l'URI qui pointe vers un emplacement Object Storage dans Autonomous Database. Ce paramètre est obligatoire. 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  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   | 
| 
 
  | 
 Indique l'URI qui pointe vers l'emplacement du dossier ou du bucket Object Storage source. Ce paramètre est obligatoire. 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  Exemple d'utilisation d'expressions régulières : 
Exemple avec des caractères génériques : 
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   | 
| 
 
  | 
 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 que vous utilisez. Pour en savoir plus, reportez-vous àFormats d'URI DBMS_CLOUD.  | 
| 
 
  | 
 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. 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 :  | 
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 AI 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 la base de données Autonomous AI. | |
| Cette fonction renvoie la réponse HTTP au format RAW Autonomous AI 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 la base de données Autonomous AI. 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 la base de données Autonomous AI. 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 met fin à la réponse dans la base de données Autonomous AI. 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_REQUESTpour envoyer les demandes d'API REST. - DBMS_CLOUD Constantes d'API REST
Décrit les constantesDBMS_CLOUDpermettant 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_CLOUDlorsque vous définissez le paramètrecachesur True avecDBMS_CLOUD.SEND_REQUEST. La vueSESSION_CLOUD_API_RESULTSdé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(VARCHAR2ouCLOB). 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_REQUESTpour 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_CLOUDavecDBMS_CLOUD.SEND_REQUEST, l'accès aux résultats dansSESSION_CLOUD_API_RESULTSest 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_CLOUDlorsque vous définissez le paramètrecachesur True avecDBMS_CLOUD.SEND_REQUEST. La vueSESSION_CLOUD_API_RESULTSdé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_REQUESTen tant qu'instruction de niveau supérieur. Les résultats de l'appel versDBMS_CLOUD.SEND_REQUESTet 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_REQUESTappelle 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_REQUESTau 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_REQUESTet 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_scopeestPRIVATE', 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_scopesur'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_statesettimeoutvous 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_statesavant 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_urlpour indiquer une demande de travail associée, la demande ne revient pas immédiatement. Au lieu de cela, la demande sondeasync_request_urljusqu'à ce que l'état de retour soit l'un des états attendus ou quetimeoutsoit dépassé (timeoutest facultatif). Si aucune valeurtimeoutn'est indiquée, la demande attend qu'un état trouvé danswait_for_statesse 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-stringest l'espace de noms d'objet Oracle Cloud Infrastructure etbucketnameest le nom du bucket. Pour plus d'informations, reportez-vous à Présentation des espaces de noms Object Storage. - 
Où :
regionest 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ùregionest :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-stringest l'espace de noms d'objet Oracle Cloud Infrastructure etbucketnameest le nom du bucket. Pour plus d'informations, reportez-vous à Présentation des espaces de noms Object Storage. - 
Où :
regionest 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ùregionest :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".