Sous-programmes et API REST DBMS_CLOUD
Cette section décrit les sous-programmes DBMS_CLOUD et les API REST fournis avec Autonomous AI Database.
Pour exécuter les sous-programmes de
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'administrateur pour accorder des privilèges à adb_user :GRANT EXECUTE ON DBMS_CLOUD TO adb_user;L'ensemble DBMS_CLOUD se compose des éléments suivants :
- DBMS_CLOUD pour la gestion de l'accès
Sous-programmes pour la gestion des données d'identification dans l'ensemble DBMS_CLOUD, notamment la création, la suppression et la mise à jour des données d'identification. - DBMS_CLOUD pour les objets et les fichiers
Sous-programmes pour la gestion des objets et des fichiers dans l'ensemble DBMS_CLOUD. - DBMS_CLOUD pour la gestion des fichiers en masse
Sous-programmes pour les opérations de fichier en masse dans l'ensemble DBMS_CLOUD. - API REST DBMS_CLOUD
Cette section traite des API RESTDBMS_CLOUDfournies avec Autonomous AI Database.
Rubrique parent : DBMS_CLOUD Ensemble
DBMS_CLOUD pour la gestion de l'accès
Sous-programmes de gestion des données d'identification de l'ensemble DBMS_CLOUD, permettant notamment de créer, supprimer et mettre à jour les données d'identification.
| Sous-programme | Description |
|---|---|
| Cette procédure stocke les données d'identification du service en nuage dans Autonomous AI Database. | |
| Cette procédure supprime les données d'identification existantes de la base de données Autonomous AI Database. | |
|
Cette procédure actualise immédiatement la clé secrète de chambre forte d'une donnée d'identification de clé secrète de chambre forte pour obtenir la dernière version de la clé secrète de chambre forte pour |
|
| Cette procédure met à jour les attributs de données d'identification du service en nuage dans Autonomous AI Database. |
- Procédure CREATE_CREDENTIAL
Cette procédure stocke les données d'identification du service en nuage dans Autonomous AI Database. - Procédure DROP_CREDENTIAL
Cette procédure supprime des données d'identification existantes de la base de données d'intelligence artificielle autonome. - Procédure REFRESH_VAULT_CREDENTIAL
Cette procédure actualise la clé secrète de chambre forte d'une clé secrète de chambre forte. - 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 et API RESTDBMS_CLOUD
Procédure CREATE_CREDENTIAL
Cette procédure stocke les données d'identification du service en nuage dans Autonomous AI Database.
Utilisez les données d'identification du service en nuage stockées pour accéder au service pour charger des données, pour interroger des données externes résidant dans le nuage ou pour d'autres cas, lorsque vous utilisez les procédures DBMS_CLOUD avec un paramètre credential_name. Cette procédure est surchargée :
-
Utilisez les paramètres relatifs à Oracle Cloud Infrastructure, notamment :
user_ocid,tenancy_ocid,private_keyetfingerprintuniquement lorsque vous utilisez l'authentification par clés de signature Oracle Cloud Infrastructure. -
Utilisez le paramètre
paramspour l'un des éléments suivants :-
Données d'identification Amazon Resource Names (ARNs)
-
Données d'identification Google Analytics ou Google BigQuery
-
Données d'identification de clé secrète de chambre forte à utiliser avec une chambre forte prise en charge :
- Service de chambre forte pour Oracle Cloud Infrastructure
- Chambre forte de clés Azure
- Gestionnaire de clés secrètes AWS
- 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 données d'identification à stocker. Le paramètre |
|
|
Les arguments |
|
|
Les arguments |
|
|
Spécifie le texte du commentaire pour les données d'identification. Ce champ peut être utile pour décrire et distinguer les données d'identification. La longueur maximale du commentaire 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, voir Où obtenir l'OCID de la location et l'OCID de l'utilisateur. |
|
|
Spécifie l'OCID de la location. Pour plus de détails sur l'obtention de l'OCID de la location, voir Où obtenir l'OCID de la location et l'OCID de l'utilisateur. |
|
|
Spécifie la clé privée générée. Les clés privées générées avec une phrase secrète ne sont pas prises en charge. Vous devez générer la clé privée sans phrase secrète. Pour plus de détails sur la génération d'une paire de clés au format PEM, voir Comment générer une clé de signature d'API. |
|
|
Spécifie une empreinte numérique. Une fois qu'une clé publique générée est chargée dans le compte de l'utilisateur, l'empreinte numérique s'affiche dans la console. Utilisez l'empreinte numérique affichée pour cet argument. Pour plus d'informations, voir Comment obtenir l'empreinte numérique de la clé et Comment générer une clé de signature d'API. |
|
|
Spécifie les paramètres de données d'identification pour l'un des éléments suivants :
|
Notes d'utilisation
-
Cette opération stocke les données d'identification dans la base de données dans un format chiffré.
-
Vous pouvez voir les données d'identification de votre schéma en interrogeant la table
user_credentials. -
Vous pouvez voir les commentaires de données d'identification de votre schéma en interrogeant la table
user_credentials. Exemple :SELECT comments FROM user_credentials WHERE credential_name = 'MY_CRED'; -
L'utilisateur
ADMINpeut voir toutes les données d'identification en interrogeant la tabledba_credentials. -
Les données d'identification ne doivent être créées qu'une seule fois, sauf si vos données d'identification pour le service en nuage changent. Une fois que vous avez stocké les données d'identification, vous pouvez utiliser le même nom 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és sur une clé,
user_ocid,tenancy_ocid,private_keyoufingerprint, on suppose qu'il s'agit de données d'identification basées sur une clé de signature Oracle Cloud Infrastructure. -
Vous pouvez lister les données d'identification à partir de la vue
ALL_CREDENTIALS. Par exemple, exécutez la commande suivante pour lister les données d'identification :SELECT credential_name, username, comments FROM all_credentials;
Données d'identification Oracle Cloud Infrastructure (jetons d'authentification)
Pour Oracle Cloud Infrastructure, username est votre nom d'utilisateur Oracle Cloud Infrastructure. password est votre jeton d'authentification Oracle Cloud Infrastructure. Voir Utilisation de jetons d'authentification.
Exemple :
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'DEF_CRED_NAME',
username => 'adb_user@example.com',
password => 'password' );
END;
/
Utilisez des données d'identification basées sur un jeton d'authentification lorsque vous authentifiez des appels au service de stockage d'objets pour OCI. Pour les appels à tout autre type de service Oracle Cloud Infrastructure Cloud, utilisez les données d'identification basées sur une clé de signature Oracle Cloud Infrastructure.
Pour le service de stockage d'objets pour OCI, la valeur du paramètre username doit inclure le domaine d'identité et le nom d'utilisateur de votre profil. Vous pouvez trouver le domaine d'identité associé à un utilisateur dans la console Oracle Cloud Infrastructure.
Exemple :
oracleidentitycloudservice/adb_user@example.com
Avec le domaine d'identité par défaut, vous n'avez pas besoin d'inclure le nom de domaine Default. Exemple :
adb_user@example.com
Données d'identification basées sur une clé de signature pour Oracle Cloud Infrastructure
Utilisez les paramètres liés à la clé de signature Oracle Cloud Infrastructure, notamment : user_ocid, tenancy_ocid, private_key et fingerprint avec l'authentification par clés de signature Oracle Cloud Infrastructure.
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 secrète ne sont pas prises en charge. Vous devez générer la clé privée sans phrase secrète. Pour plus d'informations, voir Comment générer une clé de signature d'API.
Données d'identification du service Stockage d'objets pour Oracle Cloud Infrastructure version classique
Si vos fichiers sources résident dans le service Stockage d'objets pour Oracle Cloud Infrastructure version classique, username est votre nom d'utilisateur Oracle Cloud Infrastructure version classique et password est votre mot de passe Oracle Cloud Infrastructure version classique.
Données d'identification Amazon Web Services (AWS)
Si vos fichiers sources 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. Voir Gestion des identités et des accès AWS.
Données d'identification Microsoft Azure
Si vos fichiers sources résident dans le service de stockage Azure Blob ou Azure Data Lake Storage ou que vous appelez une API Azure, username est votre nom de compte de stockage Azure et password est une clé d'accès à un compte de stockage Azure. Voir À propos des comptes de stockage Azure.
Données d'identification compatibles avec Amazon S3
| Service | Informations sur les données d'identification |
|---|---|
|
Oracle Cloud Infrastructure (clés secrètes de client) |
Si vos fichiers sources résident dans Oracle Cloud Infrastructure, vous devez utiliser des clés secrètes de client avec des URL compatibles avec S3. Pour plus d'informations, voir Utilisation des clés secrètes du client. |
|
Google Cloud Storage |
Si vos fichiers sources 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 données d'identification à fournir avec les URL Google Cloud Storage compatibles avec S3. Utilisez l'ID de clé HMAC comme nom d'utilisateur et la clé secrète HMAC comme mot de passe. |
|
Wasabi Hot Cloud Storage |
Si vos fichiers sources 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 données d'identification à fournir avec les URL compatibles avec S3. Utilisez la clé d'accès Wasabi Hot Cloud Storage en tant que nom d'utilisateur et la clé secrète Wasabi Hot Cloud Storage en tant que mot de passe. Pour plus d'informations, voir Création d'un jeu de clés d'accès à l'API Wasabi. |
Données d'identification AWS Amazon Resource Names (ARN)
Si vos fichiers sources résident dans Amazon S3 ou que vous appelez une API AWS, utilisez params pour spécifier les paramètres des 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 données d'identification, |
external_id_type |
Facultativement, réglez Si ce paramètre n'est pas indiqué lors de la création des données d'identification, la valeur par défaut est |
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 sources résident dans un référentiel GitHub ou que vous appelez une API GitHub, username est votre adresse de courriel GitHub et password est votre jeton d'accès personnel GitHub. Pour plus d'informations, voir Création d'un jeton d'accès personnel.
Exemple :
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'MY_GITHUB_CRED',
username => 'user@example.com',
password => 'your_personal_access_token' );
END;
/
Données d'identification Google Analytics ou Google BigQuery
Si vous accédez à Google Analytics ou à Google BigQuery, utilisez le paramètre params pour spécifier les paramètres de données d'identification Google OAuth 2.0.
| Paramètre | Valeur |
|---|---|
gcp_oauth2 |
Spécifie 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 :
Voir Utilisation de OAuth 2.0 pour accéder aux API Google pour plus d'informations sur les données d'identification Google OAuth. |
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;
/
Données d'identification de clé secrète de la chambre forte avec Oracle Cloud Infrastructure Vault
Pour créer des données d'identification de clé secrète de chambre forte avec Oracle Cloud Infrastructure Vault, utilisez le paramètre params pour spécifier les paramètres requis :
-
username: Spécifie le nom d'utilisateur de tout type de données d'identification de nom d'utilisateur ou de mot de passe, par exemple le nom d'utilisateur du mot de passe OCI Swift. Par exemple, si vous avez des données d'identification Swift avec le nom d'utilisateur "scott" et le mot de passe "mot de passe", indiquez "scott" comme paramètreusername. -
secret_id: ID clé secrète de la chambre forte. Spécifiez la valeursecret_idcomme OCID de la clé secrète de la chambre forte. Voir Aperçu du service de chambre forte pour plus d'informations. -
region: Paramètre facultatif qui spécifie l'identificateur de région oracle cloud. La région, lorsqu'elle est spécifiée, indique l'emplacement de la clé secrète Oracle Cloud Infrastructure Vault.Par défaut,
CREATE_CREDENTIALutiliseregionmappé à partir de la clé de région danssecret_id. Un exemple de région estus-ashburn-1.Pour obtenir la liste complète des régions, voir régions et domaines de disponibilité.
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;
/
Notes pour l'utilisation d'une clé secrète Oracle Cloud Infrastructure Vault pour stocker les clés secrètes de chambre forte :
- Lorsque vous utilisez Oracle Cloud Infrastructure Vault, sur l'instance Autonomous AI Database, vous devez activer l'authentification principale avec
DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL. -
Sur Oracle Cloud Infrastructure, vous devez spécifier une politique pour que le principal de ressource puisse accéder à la clé secrète.
Pour créer des données d'identification de clé secrète de chambre forte, vous devez disposer du privilège EXECUTE sur l'ensemble DBMS_CLOUD.
Données d'identification de clé secrète de chambre forte avec chambre forte de clés Azure
Pour créer les données d'identification du service de chambre forte de clés Azure, utilisez le paramètre params pour spécifier les paramètres requis :
-
username: Spécifie le nom d'utilisateur associé à la clé. -
secret_id: Spécifie le nom de la clé secrète. -
azure_vault_name: Spécifie le nom de la chambre forte où se trouve la clé secrète.
Pour plus d'informations, voir Créer une chambre forte de clés.
Pour créer des données d'identification de clé secrète de chambre forte, vous devez disposer du privilège EXECUTE sur l'ensemble DBMS_CLOUD.
Données d'identification de clé secrète de chambre forte avec AWS Secrets Manager
Pour créer des données d'identification de clé secrète de chambre forte avec AWS Secrets Manager, utilisez le paramètre params pour spécifier les paramètres requis :
-
username: Spécifie la clé d'accès AWS Secrets Manager. -
secret_id: Est l'ARN AWS Secrets Manager. -
region: (Facultatif) Spécifie la région de service AWS où se trouvent la chambre forte et la clé secrète. Un exemple de la région AWS est "us-east-2". La valeur par défautregionest la région spécifiée avec l'ARN dans le paramètresecret_id.Pour plus d'informations, voir Gestion des régions AWS.
Pour créer des données d'identification de clé secrète de chambre forte, vous devez disposer du privilège
EXECUTEsur l'ensembleDBMS_CLOUD.
Données d'identification de clé secrète de la chambre forte avec le gestionnaire de clés secrètes GCP
Pour créer les données d'identification du gestionnaire de clés secrètes GCP, utilisez le paramètre params pour spécifier les paramètres requis :
-
username: Spécifie le nom d'utilisateur associé à la clé secrète. -
secret_id: Nom de la clé secrète. -
gcp_project_id: Spécifie l'ID du projet où se trouve la clé secrète.
Pour plus d'informations, voir Gestionnaire de clés secrètes.
Pour créer des données d'identification de clé secrète de chambre forte, vous devez disposer du privilège EXECUTE sur l'ensemble DBMS_CLOUD.
Rubrique parent : DBMS_CLOUD pour la gestion des accès
Procédure DROP_CREDENTIAL
Cette procédure supprime les données d'identification existantes de la base de données Autonomous AI Database.
Syntaxe
DBMS_CLOUD.DROP_CREDENTIAL (
credential_name IN VARCHAR2);
Paramètres
| Paramètre | Description |
|---|---|
|
|
Nom des données d'identification à supprimer. |
Rubrique parent : DBMS_CLOUD pour la gestion des accès
REFRESH_VAULT_CREDENTIAL Procédure
Cette procédure actualise la clé secrète de chambre forte d'une clé secrète de chambre forte.
Cette procédure vous permet d'actualiser immédiatement la clé secrète de chambre forte d'une donnée d'identification de clé secrète de chambre forte pour obtenir la dernière version de la clé secrète de chambre forte pour credential_name spécifiée.
Syntaxe
DBMS_CLOUD.REFRESH_VAULT_CREDENTIAL (
credential_name IN VARCHAR2);
Paramètres
| Paramètre | Description |
|---|---|
|
|
Nom des données d'identification à actualiser. |
Notes d'utilisation
-
L'utilisateur
ADMINpeut voir toutes les données d'identification en interrogeant la tabledba_credentials. -
Vous pouvez lister les données d'identification à partir de la vue
ALL_CREDENTIALS. Par exemple, exécutez la commande suivante pour lister les données 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 met à jour un attribut avec une nouvelle valeur pour un paramètre credential_name spécifié.
Utilisez les données d'identification stockées pour charger des données, pour interroger des données externes résidant dans le nuage ou lorsque vous utilisez les 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 données d'identification à mettre à jour. |
|
|
Nom de l'attribut à mettre à jour. Pour les données d'identification de type nom d'utilisateur/mot de passe, les valeurs Pour les données d'identification d'un ARN Amazon, les valeurs Pour des données d'identification pour Google BigQuery ou Google Analytics, les valeurs Selon la chambre forte que vous utilisez, pour les données d'identification de clé secrète de la chambre forte, les valeurs
attribute valides sont les suivantes :
Pour plus d'informations, voir ProcédureCREATE_CREDENTIAL. |
|
|
Nouvelle valeur pour l'attribut spécifié. |
Notes d'utilisation
-
La valeur du nom d'utilisateur est sensible à la casse. Il ne peut pas contenir de guillemets doubles ni d'espaces.
-
L'utilisateur
ADMINpeut voir toutes les données d'identification en interrogeantdba_credentials. -
Les données d'identification ne doivent être créées qu'une seule fois, sauf si vos données d'identification pour le service en nuage changent. Une fois que vous avez stocké les données d'identification, vous pouvez utiliser le même nom pour les procédures
DBMS_CLOUDqui nécessitent un paramètrecredential_name. -
Vous pouvez lister les données d'identification à partir de la vue
ALL_CREDENTIALS. Par exemple, exécutez la commande suivante pour lister les données 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 de l'ensemble DBMS_CLOUD.
| Sous-programme | Description |
|---|---|
| Cette procédure charge les données dans la collection SODA existante, soit à partir du stockage d'objets en nuage, soit à partir de fichiers d'un répertoire. | |
| Cette procédure charge des données dans les tables existantes de la base de données d'intelligence artificielle autonome à partir du stockage d'objets en nuage ou de fichiers d'un répertoire. | |
Cette procédure avec le paramètre format type réglé à la valeur orc, parquet ou avro charge des données dans les tables existantes de la base de données d'intelligence artificielle autonome à partir de fichiers ORC, Parquet ou Avro dans le nuage 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 seau de stockage d'objets en nuage vers un autre. | |
| CREATE_CLOUD_TABLE Procédure |
Cette procédure crée une table en nuage dans laquelle toutes les données persistantes sont stockées dans le service de stockage d'objets géré par Oracle. |
| Cette procédure crée une table externe pour des fichiers en nuage ou dans un répertoire. Cela vous permet d'exécuter des interrogations sur des données externes à partir de la base de données Autonomous AI Database. | |
| CREATE_EXTERNAL_TABLE Procédure pour Apache Iceberg |
Cette procédure crée des tables externes pour les tables Apache Iceberg dans les configurations prises en charge. |
|
Procédure CREATE_EXTERNAL_TABLE pour les fichiers Avro, ORC ou Parquet |
Cette procédure, avec le paramètre format type réglé à la valeur parquet, orc ou avro, crée une table externe avec des fichiers au format Parquet, ORC ou Avro dans le nuage ou dans un répertoire.
Cela vous permet d'exécuter des interrogations sur des données externes à partir de la base de données Autonomous AI Database. |
| Cette procédure crée une table partitionnée externe pour des fichiers en nuage. Cela vous permet d'exécuter des interrogations sur des données externes à partir de la base de données Autonomous AI Database. | |
|
Cette procédure crée un index de texte sur les fichiers du magasin d'objets. |
|
| Cette procédure crée une table partitionnée hybride. Cela vous permet d'exécuter des interrogations sur des données partitionnées hybrides à partir de la base de données Autonomous AI Database. | |
Cette procédure efface toutes les opérations de chargement de données enregistré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é par le paramètre type.
|
|
| Cette procédure supprime le fichier spécifié du répertoire spécifié dans la base de données d'intelligence artificielle autonome | |
| Cette procédure supprime l'objet spécifié du magasin d'objets. | |
|
Cette procédure accepte |
|
|
Cette procédure supprime l'index de texte sur les fichiers du magasin d'objets. |
|
Cette procédure exporte les données de la base de données IA autonome vers des fichiers dans le nuage en fonction du résultat d'une interrogation. Le formulaire surchargé vous permet d'utiliser le paramètre operation_id. Selon l'option type du paramètre format spécifiée, la procédure exporte les rangées vers le magasin d'objets en nuage sous forme de texte avec les options CSV, JSON, Parquet ou XML; ou à l'aide du pilote d'accès ORACLE_DATAPUMP pour écrire des données dans un fichier de vidage. |
|
Cette procédure est surchargée. Le formulaire de procédure lit un objet à partir du service de stockage d'objets en nuage et le copie dans Autonomous AI Database. Le formulaire de fonction lit un objet à partir du service de stockage d'objets en nuage et retourne une valeur BLOB à la base de données d'intelligence artificielle autonome.
|
|
| Cette fonction répertorie les fichiers du répertoire indiqué. Les résultats comprennent les noms des fichiers et des métadonnées supplémentaires sur ceux-ci, telles que leur taille en octets, l'horodatage de la création et l'horodatage de la dernière modification. | |
| Cette fonction liste les objets situés dans l'emplacement spécifié du magasin d'objets. Les résultats comprennent les noms des objets et des métadonnées supplémentaires sur ceux-ci, telles que leur taille, la somme de contrôle, l'horodatage de la création et l'horodatage de la dernière modification. | |
| Cette procédure déplace un objet d'un seau de stockage d'objets en nuage vers un autre. | |
Cette procédure est surchargée. Dans un formulaire, la procédure copie un fichier de la base de données IA autonome vers le stockage d'objets en nuage. Dans un autre format, la procédure copie une BLOB de la base de données d'IA autonome vers le stockage d'objets en nuage.
|
|
|
Cette procédure simplifie la mise à jour d'une table partitionnée externe à partir de fichiers dans le nuage. Exécutez cette procédure chaque fois que de nouvelles partitions sont ajoutées ou lorsque des partitions sont supprimées de la source du magasin d'objets pour la table partitionnée externe. |
|
| Cette procédure valide les fichiers sources d'une table externe, génère des informations de journal et stocke les rangées qui ne correspondent pas aux options de format spécifiées pour la table externe dans une table badfile de la base de données de l'IA autonome. | |
| Cette procédure valide les fichiers sources d'une table partitionnée externe, génère des informations de journal et stocke les rangées qui ne correspondent pas aux options de format spécifiées pour la table externe dans une table badfile de la base de données IA autonome. | |
| Cette procédure valide les fichiers sources d'une table partitionnée hybride, génère des informations de journal et stocke les rangées qui ne correspondent pas aux options de format spécifiées pour la table hybride dans une table badfile de la base de données IA autonome. |
- COPY_COLLECTION Procédure
Cette procédure charge des données dans une collection SODA à partir du service de stockage d'objets en nuage ou d'un répertoire. Si la collection SODA indiquée n'existe pas, la procédure la crée. Le formulaire surchargé vous permet d'utiliser le paramètreoperation_id. - Procédure COPY_DATA
Cette procédure charge les données dans les tables existantes de la base de données d'IA autonome à partir de fichiers dans le nuage ou à partir de fichiers d'un répertoire. Le formulaire surchargé vous permet d'utiliser le paramètreoperation_id. - Procédure COPY_DATA pour les fichiers Avro, ORC ou Parquet
Cette procédure avec le paramètreformattyperéglé à la valeuravro,orcouparquetcharge des données dans les tables existantes de la base de données d'intelligence artificielle autonome à partir des fichiers Avro, ORC ou Parquet dans le nuage ou à partir de fichiers d'un répertoire. - Procédure COPY_OBJECT
Cette procédure copie un objet d'un seau ou d'un dossier de stockage d'objets en nuage vers un autre. - Procédure CREATE_CLOUD_TABLE
Cette procédure crée une table Cloud. Toutes les données de table en nuage sont stockées dans le service de stockage d'objets géré par Oracle (les tables en nuage stockent uniquement leurs métadonnées dans la base de données). - Procédure CREATE_EXTERNAL_PART_TABLE
Cette procédure crée une table partitionnée externe pour des fichiers en nuage ou à partir de fichiers d'un répertoire. Cela vous permet d'exécuter des interrogations sur des données externes à partir de la base de données Autonomous AI Database. - Procédure CREATE_EXTERNAL_TABLE
Cette procédure crée une table externe pour des fichiers en nuage ou à partir de fichiers d'un répertoire. Cela vous permet d'exécuter des interrogations sur des données externes à partir de la base de données Autonomous AI Database. - CREATE_EXTERNAL_TABLE Procedure for Apache Iceberg
This procedure creates external tables for Apache Iceberg tables in the supported configurations. - Procédure CREATE_EXTERNAL_TABLE pour les fichiers Avro, ORC ou Parquet
Cette procédure avec le paramètreformattyperéglé à la valeuravro,orcouparquetcrée une table externe avec des fichiers de format Avro, ORC ou Parquet dans le nuage ou dans un répertoire. - Procédure CREATE_EXTERNAL_TEXT_INDEX
Cette procédure crée un index de texte sur les fichiers de stockage d'objets. - Procédure CREATE_HYBRID_PART_TABLE
Cette procédure crée une table partitionnée hybride. Cela vous permet d'exécuter des interrogations sur des données partitionnées hybrides à partir de Autonomous AI Database à l'aide d'objets et de fichiers de base de données dans le nuage 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 enregistrées dans la tableuser_load_operationsde votre schéma ou toutes les opérations de chargement de données du type spécifié par le paramètretype. - Procédure DELETE_FILE
Cette procédure supprime le fichier spécifié du répertoire spécifié dans Autonomous AI Database. - Procédure DELETE_OBJECT
Cette procédure supprime l'objet spécifié du magasin d'objets. - Procédure DELETE_OPERATION
Cette procédure efface les entrées de chargement de données pour l'ID opération spécifié connecté aux 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 de stockage d'objets. - Procédure EXPORT_DATA
Cette procédure exporte les données de la base de données IA autonome en fonction du résultat d'une interrogation. Cette procédure est surchargée et prend en charge l'écriture de fichiers dans le nuage ou dans un répertoire. - GET_OBJECT Procédure et fonction
Cette procédure est surchargée. Le formulaire de procédure lit un objet à partir du service de stockage d'objets en nuage et le copie dans Autonomous AI Database. Le formulaire de fonction lit un objet à partir du service de stockage d'objets en nuage et retourne une valeurBLOBà la base de données d'intelligence artificielle autonome. - Fonction LIST_FILES
Cette fonction liste les fichiers du répertoire spécifié. Les résultats comprennent les noms des fichiers et des métadonnées supplémentaires sur ceux-ci, telles que leur taille en octets, l'horodatage de la création et l'horodatage de la dernière modification. - Fonction LIST_OBJECTS
Cette fonction liste les objets situés dans l'emplacement spécifié du magasin d'objets. Les résultats comprennent les noms des objets et des métadonnées supplémentaires sur ceux-ci, telles que leur taille, la somme de contrôle, l'horodatage de la création et l'horodatage de la dernière modification. - Procédure MOVE_OBJECT
Cette procédure déplace un objet d'un seau ou d'un dossier de stockage d'objets en nuage vers un autre. - Procédure PUT_OBJECT
Cette procédure est surchargée. Dans un formulaire, la procédure copie un fichier de la base de données IA autonome vers le stockage d'objets en nuage. Dans un autre format, la procédure copie uneBLOBde la base de données d'IA autonome vers le stockage d'objets en nuage. - Procédure SYNC_EXTERNAL_PART_TABLE
Cette procédure simplifie la mise à jour d'une table partitionnée externe à partir de fichiers dans le nuage. Exécutez cette procédure chaque fois que de nouvelles partitions sont ajoutées ou lorsque des partitions sont supprimées de la source du magasin d'objets pour la table partitionnée externe. - Procédure VALIDATE_EXTERNAL_PART_TABLE
Cette procédure valide les fichiers sources d'une table partitionnée externe, génère des informations de journal et stocke les rangées qui ne correspondent pas aux options de format spécifiées pour la table externe dans une table badfile de la base de données IA autonome. Le formulaire surchargé vous permet d'utiliser le paramètreoperation_id. - Procédure VALIDATE_EXTERNAL_TABLE
Cette procédure valide les fichiers sources d'une table externe, génère des informations de journal et stocke les rangées qui ne correspondent pas aux options de format spécifiées pour la table externe dans une table badfile de la base de données d'IA autonome. Le formulaire surchargé vous permet d'utiliser le paramètreoperation_id. - Procédure VALIDATE_HYBRID_PART_TABLE
Cette procédure valide les fichiers sources d'une table partitionnée hybride, génère des informations de journal et stocke les rangées qui ne correspondent pas aux options de format spécifiées pour la table hybride dans une table badfile de la base de données IA autonome. Le formulaire surchargé vous permet d'utiliser le paramètreoperation_id.
Rubrique parent : Sous-programmes et API RESTDBMS_CLOUD
Procédure COPY_COLLECTION
Cette procédure charge des données dans une collection SODA à partir du service de stockage d'objets en nuage ou d'un répertoire. Si la collection SODA indiquée n'existe pas, la procédure la crée. Le formulaire surchargé vous 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 seront chargées. Si une collection portant ce nom existe déjà, les données spécifiées seront chargées, sinon une nouvelle collection sera créée. |
|
|
Nom des données d'identification permettant d'accéder au service de stockage d'objets en nuage. Vous pouvez utiliser Ce paramètre n'est pas utilisé lorsque vous spécifiez un répertoire avec |
|
|
Ce paramètre spécifie une liste délimitée par des virgules d'URI de fichier source ou un ou plusieurs répertoires et fichiers sources. URI de fichier source en nuage Vous pouvez utiliser des caractères génériques ainsi que des expressions rationnelles dans les noms de fichier dans les URI de fichier source Cloud. Les expressions rationnelles 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 rationnelle ne sont pris en charge que pour le nom de fichier ou le chemin du sous-dossier dans vos URI et la correspondance de modèle est identique à celle effectuée par la fonction Exemple : Le format des URI dépend du service de stockage d'objets en nuage que vous utilisez, pour plus de détails, voir Formats d'URI DBMS_CLOUD. Voir Condition REGEXP_LIKE pour plus d'informations sur la condition Répertoire Vous pouvez spécifier 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 rationnelles ne sont pas prises en charge lors de la spécification des noms de fichier dans un répertoire. Vous ne pouvez utiliser que des caractères génériques pour spécifier des noms de fichier dans un répertoire. Le caractère "*" peut être utilisé pour plusieurs caractères, et le caractère "?" peut être utilisé 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 spécifier un nom de répertoire sensible à la casse. Par exemple : Pour inclure un caractère de guillemet, utilisez deux guillemets. Par exemple : |
|
|
Options décrivant le format des fichiers sources. Ces options sont spécifiées en tant que chaîne JSON. Les formats pris en charge sont : Outre les formats mentionnés pour les données JSON, Autonomous AI Database prend également en charge d'autres formats. Pour la liste des arguments de format pris en charge par Autonomous AI Database, voir Options de format d'ensemble DBMS_CLOUD. |
|
|
Utilisez ce paramètre pour suivre la progression et le statut final de l'opération de chargement avec 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 existantes de la base de données d'IA autonome à partir de fichiers dans le nuage ou à partir de fichiers d'un répertoire. Le formulaire surchargé vous 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. La table cible doit être créée avant l'exécution de |
|
|
Nom des données d'identification permettant d'accéder au service de stockage d'objets en nuage. Vous pouvez utiliser Ce paramètre n'est pas utilisé lorsque vous spécifiez une URL de répertoire ou d'hyperlien de table avec |
|
|
Ce paramètre spécifie l'un des éléments suivants :
Vous pouvez utiliser des caractères génériques ainsi que des expressions rationnelles dans les noms de fichier dans les URI de fichier source Cloud. URI de fichier source en nuage Ce paramètre spécifie une liste délimitée par des virgules d'URI de fichier source ou un ou plusieurs répertoires et fichiers sources. Les expressions rationnelles 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 rationnelle ne sont pris en charge que pour le nom de fichier ou le chemin du sous-dossier dans vos URI et la correspondance de modèle est identique à celle effectuée par la fonction Exemple : Le format des URI dépend du service de stockage d'objets en nuage que vous utilisez, pour plus de détails, voir Formats d'URI DBMS_CLOUD. Voir Condition REGEXP_LIKE pour plus d'informations sur la condition URL de l'hyperlien de la table Vous pouvez utiliser un hyperlien de table comme suit :
Répertoire Vous pouvez spécifier 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 rationnelles ne sont pas prises en charge lors de la spécification des noms de fichier dans un répertoire. Vous ne pouvez utiliser que des caractères génériques pour spécifier des noms de fichier dans un répertoire. Le caractère "*" peut être utilisé pour plusieurs caractères, et le caractère "?" peut être utilisé 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 spécifier un nom de répertoire sensible à la casse. Par exemple : Pour inclure un caractère de 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 des fichiers sources et leur type de données. La valeur par défaut est NULL, ce qui signifie que les champs et leur type de données sont déterminés par la définition de la table cible. La syntaxe de cet argument est identique à celle de la clause Lorsque la valeur de l'option Pour un exemple d'utilisation de |
|
|
Options décrivant le format des fichiers source, journal et défectueux. Pour la liste des options et la façon de spécifier les valeurs, voir Options de format d'ensemble DBMS_CLOUD. Pour les options de format de fichier Avro, ORC ou Parquet, voir Options de format de l'ensemble DBMS_CLOUD pour Avro, ORC ou Parquet. |
|
|
Utilisez ce paramètre pour suivre la progression et le statut final de l'opération de chargement avec l'ID correspondant dans la vue |
Note d'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 nouvelle ligne Windows \r\n. S'il trouve le caractère de saut de ligne Windows, celui-ci est utilisé comme délimiteur d'enregistrement pour tous les fichiers de la procédure. Si aucun caractère de nouvelle ligne Windows n'est trouvé, DBMS_CLOUD recherche le caractère de nouvelle ligne UNIX/Linux \n et, s'il le trouve, il utilise \n comme délimiteur d'enregistrement pour tous les fichiers de la procédure. Si les fichiers sources utilisent une combinaison de différents délimiteurs d'enregistrement, une erreur telle que "KUP-04020: found record longer than buffer size supported" peut se produire. Dans ce cas, vous devez modifier les fichiers sources pour utiliser le même délimiteur d'enregistrement ou spécifier uniquement les fichiers sources qui utilisent le même délimiteur d'enregistrement.
Voir Options de format d'ensemble DBMS_CLOUD 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
Procédure COPY_DATA pour les fichiers Avro, ORC ou Parquet
format type réglé à la valeur avro, orc ou parquet charge des données dans les tables existantes de la base de données d'intelligence artificielle autonome à partir de fichiers Avro, ORC ou Parquet dans le nuage ou à partir de 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. La table cible doit être créée avant l'exécution de |
|
|
Nom des données d'identification permettant d'accéder au service de stockage d'objets en nuage. Vous pouvez utiliser Ce paramètre n'est pas utilisé lorsque vous spécifiez un répertoire avec |
|
|
Ce paramètre spécifie une liste délimitée par des virgules d'URI de fichier source ou un ou plusieurs répertoires et fichiers sources. URI de fichier source en nuage Vous pouvez utiliser des caractères génériques ainsi que des expressions rationnelles dans les noms de fichier dans les URI de fichier source Cloud. Les expressions rationnelles 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 rationnelle ne sont pris en charge que pour le nom de fichier ou le chemin du sous-dossier dans vos URI et la correspondance de modèle est identique à celle effectuée par la fonction Exemple : Le format des URI dépend du service de stockage d'objets en nuage que vous utilisez, pour plus de détails, voir Formats d'URI DBMS_CLOUD. Voir Condition REGEXP_LIKE pour plus d'informations sur la condition Répertoire Vous pouvez spécifier 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 rationnelles ne sont pas prises en charge lors de la spécification des noms de fichier dans un répertoire. Vous ne pouvez utiliser que des caractères génériques pour spécifier des noms de fichier dans un répertoire. Le caractère "*" peut être utilisé pour plusieurs caractères, et le caractère "?" peut être utilisé 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 spécifier un nom de répertoire sensible à la casse. Par exemple : Pour inclure un caractère de 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 sources sont convertis en type de données de colonne de table externe. Pour les fichiers ORC, voir Mappage de types de données Oracle dans l'ensemble DBMS_CLOUD. Pour les fichiers Parquet, voir Mappage de type de données Parquet à Oracle de l'ensemble DBMS_CLOUD pour plus de détails sur le mappage. Pour les fichiers Avro, voir Mappage de type de données Avro à Oracle de l'ensemble DBMS_CLOUD pour plus de détails sur le mappage. |
|
|
Options décrivant le format des fichiers sources. Pour les fichiers Avro, ORC ou Parquet, seules deux options sont prises en charge : voir Options de format d'ensemble DBMS_CLOUD 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 affichables 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 journal fournit des informations sommaires sur le chargement.
-
Pour Avro, ORC ou Parquet, lorsque le paramètre
formattypeest réglé à 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, la colonne cible n'est pas assez grande pour contenir la valeur convertie, la valeur de la colonne est réglée à
NULL. Cela ne produit pas d'enregistrement rejeté.
-
Rubrique parent : DBMS_CLOUD pour les objets et les fichiers
COPY_OBJECT Procédure
Cette procédure copie un objet d'un seau ou d'un dossier de stockage d'objets en nuage vers un autre.
Le seau ou le dossier source et cible peuvent se trouver dans le même fournisseur ou dans un autre magasin d'objets en nuage.
Lorsque la source et la cible se trouvent dans des magasins d'objets distincts ou ont des comptes différents avec le même fournisseur de services en nuage, vous pouvez donner des noms de données d'identification distincts pour les emplacements source et cible.
Le nom des données d'identification sources est également utilisé par défaut par l'emplacement cible lorsque le nom des données d'identification cibles n'est pas indiqué.
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 données d'identification permettant d'accéder au service de stockage d'objets en nuage source. Vous pouvez utiliser Si vous n'indiquez pas de valeur |
|
|
Spécifie l'URI, qui pointe vers le seau ou l'emplacement du dossier de stockage d'objets source. Ce paramètre est obligatoire. Le format des URI dépend du service de stockage d'objets en nuage. Pour plus d'informations, voir Formats d'URI DBMS_CLOUD. |
|
|
Indique l'URI du magasin d'objets cible. Ce paramètre est obligatoire. Le format des URI dépend du service de stockage d'objets en nuage. Pour plus d'informations, voir Formats d'URI DBMS_CLOUD. |
|
|
Nom des données d'identification permettant d'accéder à l'emplacement de stockage d'objets en nuage cible. Vous pouvez utiliser Si vous n'indiquez 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
CREATE_CLOUD_TABLE Procédure
Cette procédure crée une table Cloud. Toutes les données de table en nuage sont stockées dans le service de stockage d'objets géré par Oracle (les tables en nuage 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 en nuage. |
|
|
Liste séparée par des virgules de noms de colonne et de types de données pour la table Cloud. |
Notes d'utilisation
-
Attributs
DEFAULT:column_listpeut inclure la clauseDEFAULT, qui fonctionne comme la clauseDEFAULTdans une clauseCREATE TABLEordinaire. Voir CREATE TABLE pour plus d'informations sur le comportement de la clauseDEFAULT. -
Utilisez
DROP TABLEpour supprimer une table en nuage. Les tables Cloud ne prennent pas en charge la corbeille.Exemple :
DROP TABLE CLOUD_TAB1; -
Vous pouvez accorder des privilèges
SELECT,INSERTetUPDATEpour une table en nuage. Aucun autre privilège ne peut être accordé à une table en nuage.Pour plus d'informations, voir Configuration du privilège et de l'autorisation 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
CREATE_EXTERNAL_PART_TABLE Procédure
Cette procédure crée une table partitionnée externe pour des fichiers en nuage ou à partir de fichiers d'un répertoire. Cela vous permet d'exécuter des interrogations sur des données externes à partir de la base de données Autonomous AI Database.
Syntaxe
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE (
table_name IN VARCHAR2,
credential_name IN VARCHAR2,
partitioning_clause IN CLOB,
column_list IN CLOB,
field_list IN CLOB DEFAULT,
format IN CLOB DEFAULT);
DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE (
table_name IN VARCHAR2,
credential_name IN VARCHAR2,
file_uri_list IN VARCHAR2,
column_list IN CLOB,
field_list IN CLOB DEFAULT,
format IN CLOB DEFAULT);
Paramètres
| Paramètre | Description |
|---|---|
|
|
Nom de la table externe. |
|
|
Nom des données d'identification permettant d'accéder au service de stockage d'objets en nuage. 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élimitée par des virgules d'URI de fichier source ou un ou plusieurs répertoires et fichiers sources. URI de fichier source en nuage Vous pouvez utiliser des caractères génériques ainsi que des expressions rationnelles dans les noms de fichier dans les URI de fichier source Cloud. Les expressions rationnelles 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 rationnelle ne sont pris en charge que pour le nom de fichier ou le chemin du sous-dossier dans vos URI et la correspondance de modèle est identique à celle effectuée par la fonction Cette option n'est prise en charge qu'avec les tables externes créées dans un fichier du service de stockage d'objets. Exemple :
Si vous utilisez le paramètre Le format des URI dépend du service de stockage d'objets en nuage. Pour plus d'informations, voir Formats d'URI DBMS_CLOUD. Voir Condition REGEXP_LIKE pour plus d'informations sur la condition |
|
|
Liste délimitée par des virgules de noms de colonne et de types de données pour la table externe. Ce paramètre a les exigences suivantes, selon le type des fichiers de données spécifié avec le paramètre
|
|
|
Identifie les champs des fichiers sources et leur type de données. La valeur par défaut est NULL, ce qui signifie que les champs et leur type de données sont déterminés par le paramètre column_list. La syntaxe de cet argument est identique à celle de 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 spécifié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 des fichiers de données structurés, notamment les fichiers de données Avro, Parquet ou ORC. Sicolumn_listn'est pas spécifié, l'optionpartition_columnsdu paramètreformatdoit inclure à la foisnameettype. -
Le paramètre
column_listest requis pour 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 en nuage pris en charge, notamment :-
Service de stockage d'objets pour Oracle Cloud Infrastructure
-
Stockage Azure Blob ou stockage Azure Data Lake
-
Amazon S3
-
Compatible avec Amazon S3, notamment : Oracle Cloud Infrastructure Object Storage, Google Cloud Storage et Wasabi Hot Cloud Storage.
-
Référentiel GitHub
Pour plus d'informations, voir Formats d'URI DBMS_CLOUD.
-
-
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 des colonnes spécifiées dans le nom du fichier du magasin d'objets en nuage 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 nouvelle ligne Windows\r\n. S'il trouve le caractère de saut de ligne Windows, celui-ci est utilisé comme délimiteur d'enregistrement pour tous les fichiers de la procédure. Si aucun caractère de nouvelle ligne Windows n'est trouvé,DBMS_CLOUDrecherche le caractère de nouvelle ligne UNIX/Linux\net, s'il le trouve, il utilise\ncomme délimiteur d'enregistrement pour tous les fichiers de la procédure. Si les fichiers sources utilisent une combinaison de différents délimiteurs d'enregistrement, une erreur telle que "KUP-04020: found record longer than buffer size supported" peut se produire. Dans ce cas, vous devez modifier les fichiers sources pour utiliser le même délimiteur d'enregistrement ou spécifier uniquement les fichiers sources qui utilisent le même délimiteur d'enregistrement.Voir Options de format d'ensemble DBMS_CLOUD 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: Spécifie le texte du chemin d'accès au fichier jusqu'au début du nom de l'objet. -
file$name: Spécifie le nom de l'objet, y compris tout le texte qui suit le nom du seau.
-
Exemples
Exemple utilisant le 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 le paramètre file_uri_list sans le paramètre column_list avec des fichiers de données structurés :
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 pour des fichiers en nuage ou à partir de fichiers d'un répertoire. Cela vous permet d'exécuter des interrogations sur des données externes à partir de la base de données Autonomous AI Database.
Syntaxe
DBMS_CLOUD.CREATE_EXTERNAL_TABLE (
table_name IN VARCHAR2,
credential_name IN VARCHAR2 DEFAULT NULL,
file_uri_list IN CLOB,
column_list IN CLOB,
field_list IN CLOB DEFAULT,
format IN CLOB DEFAULT);
Paramètres
| Paramètre | Description |
|---|---|
|
|
Nom de la table externe. |
|
|
Nom des données d'identification permettant d'accéder au service de stockage d'objets en nuage. Vous pouvez utiliser Ce paramètre n'est pas utilisé lorsque vous spécifiez un répertoire ou une URL d'hyperlien de table avec |
|
|
Ce paramètre spécifie l'un des éléments suivants :
URI de fichier source en nuage Vous pouvez utiliser des caractères génériques ainsi que des expressions rationnelles dans les noms de fichier dans les URI de fichier source Cloud. Les expressions rationnelles 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 rationnelle ne sont pris en charge que pour le nom de fichier ou le chemin du sous-dossier dans vos URI et la correspondance de modèle est identique à celle effectuée par la fonction Cette option n'est prise en charge qu'avec les tables externes créées dans un fichier du service de stockage d'objets. Exemple :
Le format des URI dépend du service de stockage d'objets en nuage que vous utilisez, pour plus de détails, voir Formats d'URI DBMS_CLOUD. Voir Condition REGEXP_LIKE pour plus d'informations sur la condition URL de l'hyperlien de la table Vous pouvez utiliser une URL d'hyperlien de table pour créer une table externe de la manière suivante :
Répertoire
Note Pour plus d'informations, voir À propos des hyperliens de table sur la base de données d'IA autonome et Procédure CREATE_URL.
Les URL d'hyperlien de table ne prennent pas en charge les caractères génériques. Vous pouvez spécifier 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 rationnelles ne sont pas prises en charge lors de la spécification des noms de fichier dans un répertoire. Vous ne pouvez utiliser que des caractères génériques pour spécifier des noms de fichier dans un répertoire. Le caractère "*" peut être utilisé pour plusieurs caractères, et le caractère "?" peut être utilisé 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 spécifier un nom de répertoire sensible à la casse. Par exemple : Pour inclure un caractère de guillemet, utilisez deux guillemets. Par exemple : |
|
|
Liste délimitée par des virgules de noms de colonne et de types de données pour la table externe. |
|
|
Identifie les champs des fichiers sources et leur type de données. La valeur par défaut est NULL, ce qui signifie que les champs et leur type de données sont déterminés par le paramètre |
|
|
Options décrivant le format des fichiers sources. Pour la liste des options et la façon de spécifier les valeurs, voir Options de format d'ensemble DBMS_CLOUD. For Avro, ORC, or Parquet format files, see CREATE_EXTERNAL_TABLE Procedure for Avro, ORC, or Parquet Files. |
Notes d'utilisation
-
La procédure
DBMS_CLOUD.CREATE_EXTERNAL_TABLEprend en charge les fichiers partitionnés externes dans les sources de stockage d'objets en nuage prises en charge, notamment :-
Service de stockage d'objets pour Oracle Cloud Infrastructure
-
Stockage Azure Blob ou stockage Azure Data Lake
-
Amazon S3
-
Compatible avec Amazon S3, notamment : 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 d'hyperlien de table
Les informations d'identification sont une propriété de niveau table. Par conséquent, les fichiers externes doivent se trouver dans le même magasin d'objets.
Pour plus d'informations, voir Formats d'URI DBMS_CLOUD.
-
-
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 nouvelle ligne Windows\r\n. S'il trouve le caractère de saut de ligne Windows, celui-ci est utilisé comme délimiteur d'enregistrement pour tous les fichiers de la procédure. Si aucun caractère de nouvelle ligne Windows n'est trouvé,DBMS_CLOUDrecherche le caractère de nouvelle ligne UNIX/Linux\net, s'il le trouve, il utilise\ncomme délimiteur d'enregistrement pour tous les fichiers de la procédure. Si les fichiers sources utilisent une combinaison de différents délimiteurs d'enregistrement, une erreur telle que "KUP-04020: found record longer than buffer size supported" peut se produire. Dans ce cas, vous devez modifier les fichiers sources pour utiliser le même délimiteur d'enregistrement ou spécifier uniquement les fichiers sources qui utilisent le même délimiteur d'enregistrement.Voir Options de format d'ensemble DBMS_CLOUD 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
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.
- Iceberg tables sur AWS :
- Tables Iceberg enregistrées avec AWS Glue Data Catalog, créées avec Spark ou Athena.
Pour plus d'informations, voir Utiliser le 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 des tables Iceberg.
- Tables Iceberg stockées sur AWS S3 en fournissant directement l'URL du fichier de métadonnées racine.
- Tables Iceberg enregistrées avec AWS Glue Data Catalog, créées avec Spark ou Athena.
- Tables d'iceberg sur OCI :
- Tables Iceberg générées avec le service de flux de données OCI à l'aide d'un catalogue Hadoop.
Pour plus d'informations, voir Exemples de flux de données Oracle et Utilisation d'un catalogue Hadoop.
- Tables Iceberg stockées dans le service de stockage d'objets pour OCI en fournissant directement l'URL du fichier de métadonnées racine.
- Tables Iceberg générées avec le service de flux de données OCI à 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 données d'identification utilisées pour accéder aux fichiers de données, aux fichiers de métadonnées et au catalogue Iceberg (si utilisé). Pour les configurations AWS et OCI, les données d'identification doivent être créées comme décrit dans la procédure CREATE_CREDENTIAL. Les données d'identification AWS Amazon Resource Names (ARN) ne sont actuellement pas prises en charge. |
|
|
Doit être NULL si un catalogue Iceberg est spécifié (voir le paramètre format ci-dessous). Si aucun catalogue d'iceberg n'est utilisé, 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 mappages Parquet/Avro/ORC entre les types de données Iceberg et 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, voir Prise en charge d'Iceberg sur les exemples de flux de données OCI 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é spécifiant les détails du catalogue iceberg.iceberg_catalog_type: Doit être'aws_glue'iceberg_glue_region: Région du 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 à l'aide d'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 :format => json_object('access_protocol' value
json_object('protocol_type' value 'iceberg')Exemple de paramètre de format pour la table Iceberg OCI à l'aide du catalogue HadoopCatalog
format lors de la création de tables sur une table Iceberg OCI créée par le service de flux de données OCI à 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é spécifiant les détails du catalogue iceberg.iceberg_catalog_type: Doit être'hadoop'iceberg_lakehouse: Chemin d'accès au répertoire Lakehouse utilisé lors de la génération de la table, dans le format d'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 Iceberg OCI à l'aide de l'URI du fichier de métadonnées
format lors de la création de tables sur une table Iceberg OCI à l'aide de l'URI du fichier de métadonnées :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
Procédure CREATE_EXTERNAL_TABLE pour les fichiers Avro, ORC ou Parquet
format type réglé à la valeur avro, orc ou parquet crée une table externe avec des fichiers au format Avro, ORC ou Parquet dans le nuage ou dans un répertoire.
Cela vous permet d'exécuter des interrogations sur des données externes à partir de la base de données Autonomous AI Database.
Syntaxe
DBMS_CLOUD.CREATE_EXTERNAL_TABLE (
table_name IN VARCHAR2,
credential_name IN VARCHAR2 DEFAULT NULL,
file_uri_list IN CLOB,
column_list IN CLOB,
field_list IN CLOB DEFAULT,
format IN CLOB DEFAULT);
Paramètres
| Paramètre | Description |
|---|---|
|
|
Nom de la table externe. |
|
|
Nom des données d'identification permettant d'accéder au service de stockage d'objets en nuage. Vous pouvez utiliser Ce paramètre n'est pas utilisé lorsque vous spécifiez un répertoire avec |
|
|
Ce paramètre spécifie une liste délimitée par des virgules d'URI de fichier source ou un ou plusieurs répertoires et fichiers sources. URI de fichier source en nuage Vous pouvez utiliser des caractères génériques ainsi que des expressions rationnelles dans les noms de fichier dans les URI de fichier source Cloud. Les expressions rationnelles 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 rationnelle ne sont pris en charge que pour le nom de fichier ou le chemin du sous-dossier dans vos URI et la correspondance de modèle est identique à celle effectuée par la fonction Cette option n'est prise en charge qu'avec les tables externes créées dans un fichier du service de stockage d'objets. Exemple : Le format des URI dépend du service de stockage d'objets en nuage que vous utilisez, pour plus de détails, voir Formats d'URI DBMS_CLOUD. Voir Condition REGEXP_LIKE pour plus d'informations sur la condition Répertoire Vous pouvez spécifier 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 rationnelles ne sont pas prises en charge lors de la spécification des noms de fichier dans un répertoire. Vous ne pouvez utiliser que des caractères génériques pour spécifier des noms de fichier dans un répertoire. Le caractère "*" peut être utilisé comme caractère générique pour plusieurs caractères, et le caractère "?" peut être utilisé comme 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 spécifier un nom de répertoire sensible à la casse. Par exemple : Pour inclure un caractère de guillemet, utilisez deux guillemets. Par exemple : |
|
|
(Facultatif) Ce champ, lorsqu'il est spécifié, remplace le paramètre Lorsque Pour les fichiers Parquet, voir Mappage de type de données Parquet à Oracle de l'ensemble DBMS_CLOUD pour plus de détails. Pour les fichiers ORC, voir Mappage de type de données ORC à Oracle de l'ensemble DBMS_CLOUD pour plus de détails. Pour les fichiers Avro, voir Mappage de type de données Avro à Oracle de l'ensemble DBMS_CLOUD pour plus de détails. |
|
|
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 sources sont convertis en type de données de colonne de table externe. Pour les fichiers ORC, voir Mappage de types de données Oracle dans l'ensemble DBMS_CLOUD Pour les fichiers Parquet, voir Mappage de type de données Parquet à Oracle de l'ensemble DBMS_CLOUD pour plus de détails. Pour les fichiers Avro, voir Mappage de type de données Avro à Oracle de l'ensemble DBMS_CLOUD pour plus de détails. |
|
|
Pour les fichiers sources 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')Mappage des noms de colonne Avro, ORC ou Parquet avec les noms de colonne Oracle
See DBMS_CLOUD Package Avro, ORC, and Parquet to Oracle Column Name Mapping for information on column name mapping and column name conversion usage in Oracle SQL.
Rubrique parent : DBMS_CLOUD pour les objets et les fichiers
CREATE_EXTERNAL_TEXT_INDEX Procédure
Cette procédure crée un index de texte sur les fichiers de stockage d'objets.
La procédure CREATE_EXTERNAL_TEXT_INDEX crée un index de texte sur les fichiers de stockage d'objets spécifiés à l'emplacement location_uri. L'index est actualisé à intervalles réguliers, pour tout nouvel ajout ou suppression effectué avec des fichiers sur l'URI de l'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'objets en nuage. Pour les URI de seau public, préauthentifié ou pré-signé, une valeur NULL peut être spécifiée. Pour plus d'informations, voir Configurer les politiques et les rôles pour accéder aux ressources. Si vous n'indiquez pas de valeur |
location_uri |
Ce paramètre spécifie une liste délimitée par des virgules d'URI de fichier source. Vous pouvez utiliser des caractères génériques ainsi que des expressions rationnelles dans les noms de fichier dans les URI de fichier source Cloud. Ce paramètre est obligatoire. URI de fichier source en nuage Ce paramètre spécifie une liste délimitée par des virgules d'URI de fichier source ou un ou plusieurs répertoires et fichiers sources. Les expressions rationnelles 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 rationnelle ne sont pris en charge que pour le nom de fichier ou le chemin du sous-dossier dans vos URI et la correspondance de modèle est identique à celle effectuée par la fonction Exemple utilisant des expressions rationnelles :
Exemple utilisant des caractères génériques :
Le format des URI dépend du service de stockage d'objets en nuage que vous utilisez, pour plus de détails, voir Formats d'URI DBMS_CLOUD. Voir Condition REGEXP_LIKE 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 spécifiées en tant que chaîne JSON. Les options de formatage prises en charge sont les suivantes :
La valeur Vous pouvez spécifier des mots vides à 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
CREATE_HYBRID_PART_TABLE Procédure
Cette procédure crée une table partitionnée hybride. Cela vous permet d'exécuter des interrogations sur des données partitionnées hybrides à partir de Autonomous AI Database à l'aide d'objets et de fichiers de base de données dans le nuage 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 données d'identification permettant d'accéder au service de stockage d'objets en nuage. 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 rationnelles dans les noms de fichier dans les URI de fichier source Cloud. Les expressions rationnelles 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 rationnelle ne sont pris en charge que pour le nom de fichier ou le chemin du sous-dossier dans vos URI et la correspondance de modèle est identique à celle effectuée par la fonction Exemple : Voir Condition REGEXP_LIKE pour plus d'informations sur la condition |
|
|
Liste délimitée par des virgules de noms de colonne et de types de données pour la table externe. |
|
|
Identifie les champs des fichiers sources et leur type de données. La valeur par défaut est NULL, ce qui signifie que les champs et leur type de données sont déterminés par le paramètre column_list. La syntaxe de cet argument est identique à celle de la clause |
|
|
Options décrivant le format des fichiers sources. Pour la liste des options et la façon de spécifier les valeurs, voir Options de format d'ensemble DBMS_CLOUD. |
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 en nuage pris en charge, notamment :-
Service de stockage d'objets pour Oracle Cloud Infrastructure
-
Stockage Azure Blob ou stockage Azure Data Lake
-
Amazon S3
-
Compatible avec Amazon S3, notamment : Oracle Cloud Infrastructure Object Storage, Google Cloud Storage et Wasabi Hot Cloud Storage.
-
Référentiel GitHub
Les informations d'identification sont une propriété de niveau table. Par conséquent, les fichiers externes doivent se trouver dans le même magasin d'objets.
Pour plus d'informations, voir Formats d'URI DBMS_CLOUD.
-
-
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: Spécifie le texte du chemin d'accès au fichier jusqu'au début du nom de l'objet. -
file$name: Spécifie le nom de l'objet, y compris tout le texte qui suit le nom du seau.
-
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 enregistré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é par 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 aucun |
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 toutes les tables de journalisation et tous 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 supprime le fichier spécifié du répertoire spécifié dans la base de données d'intelligence artificielle autonome.
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 de l'instance de base de données du service d'intelligence artificielle autonome. |
|
|
Nom du fichier à supprimer. |
force |
Ignorer et ne pas signaler les erreurs si le fichier n'existe pas. Les valeurs valides sont les suivantes : |
Pour exécuter
DBMS_CLOUD.DELETE_FILE avec un utilisateur autre qu'ADMIN, vous devez accorder les droits d'écriture sur le répertoire qui contient le fichier à cet utilisateur. Par exemple, exécutez la commande suivante en tant qu'administrateur pour accorder les droits 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é du magasin 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 données d'identification permettant d'accéder au service de stockage d'objets en nuage. Vous pouvez utiliser |
object_uri |
URI d'objet ou de fichier de l'objet à supprimer. Le format de l'URI dépend du service de stockage d'objets en nuage que vous utilisez. Pour des détails, voir Formats d'URI DBMS_CLOUD. |
force |
Ignorer et ne pas signaler les erreurs si l'objet n'existe pas. Les valeurs valides sont les suivantes : |
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
DELETE_OPERATION Procédure
Cette procédure efface les entrées de chargement de données pour l'ID opération spécifié connecté aux 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 opération associé aux entrées de fichier journal à supprimer. |
Note d'utilisation
-
Cette procédure supprime toutes les tables de journalisation et tous les fichiers journaux associés à l'ID 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
DROP_EXTERNAL_TEXT_INDEX Procédure
Cette procédure supprime l'index de texte des fichiers de stockage d'objets.
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 la création de l'index. 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
EXPORT_DATA Procédure
Selon le paramètre format type, la procédure exporte les fichiers vers le nuage ou vers un emplacement de répertoire sous forme de fichiers texte au format CSV, JSON, Parquet ou XML, ou à l'aide du pilote d'accès ORACLE_DATAPUMP pour écrire des données dans un fichier de vidage d'extraction de données Oracle.
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 données d'identification permettant d'accéder au service de stockage d'objets en nuage. Vous pouvez utiliser Lorsque le paramètre de données d'identification n'est pas inclus, cela spécifie la sortie vers un répertoire. |
|
|
Il existe différents formulaires, selon la valeur du paramètre de format et selon que vous incluez ou non un paramètre de données d'identification :
Le format des URI dépend du service de stockage d'objets en nuage que vous utilisez. pour plus de détails, voir Formats d'URI DBMS_CLOUD. |
|
|
Chaîne JSON qui fournit des options de format d'exportation. L'option prise en charge est :
Voir Options de format d'ensemble DBMS_CLOUD pour EXPORT_DATA. |
|
|
Utilisez ce paramètre pour spécifier un énoncé SELECT lakehouse_id, quantity FROM inventoriesPour plus d'informations sur la valeur Lorsque la valeur Exemple : SELECT JSON_OBJECT(* RETURNING CLOB) from(SELECT lakehouse_id, quantity FROM inventories) |
|
|
Utilisez ce paramètre pour suivre la progression et le statut final de l'opération d'exportation avec l'ID correspondant dans la vue |
Notes d'utilisation :
-
La valeur de paramètre
queryque vous fournissez peut être une interrogation avancée, si nécessaire, telle qu'une interrogation qui inclut des jointures ou des sous-interrogations. -
Selon le paramètre de format spécifié,
DBMS_CLOUD.EXPORT_DATAretourne les résultats de l'interrogation spécifiée dans le magasin d'objets en nuage ou vers un emplacement de répertoire dans l'un des formats suivants :-
Fichiers CSV, JSON, Parquet ou XML.
Voir Exporter les données dans le magasin d'objets en tant que texte et Exporter les données dans 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 de vidage.
-
-
Pour la sortie CSV, JSON ou XML, par défaut lorsqu'un fichier généré contient 10 Mo de données, un nouveau fichier de sortie est créé. Toutefois, si vous avez moins de 10 Mo de données de résultat, vous pouvez avoir plusieurs fichiers de sortie, selon le service de base de données et le nombre d'ECPU (OCPU si votre base de données utilise des OCPU) pour l'instance de base de données de l'IA autonome.
Pour plus d'informations, voir Attribution de nom de fichier pour une sortie de texte (CSV, JSON, Parquet ou XML).
La taille de fragment du fichier de sortie par défaut est de 10 Mo pour CSV, JSON ou XML. Vous pouvez modifier cette valeur avec l'option
maxfilesizedu paramètreformat. Pour plus d'informations, voir Options de format d'ensemble DBMS_CLOUD 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 avez moins de 128 Mo de données de résultat, vous pouvez avoir plusieurs fichiers de sortie en fonction du service de base de données et du nombre d'ECPU (OCPU si votre base de données utilise des OCPU) pour l'instance de base de données de l'IA autonome.
Pour plus d'informations, voir Attribution de nom de fichier pour une sortie de 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. -
L'exportation de base de données du service d'intelligence artificielle autonome à l'aide de
DBMS_CLOUD.EXPORT_DATAavec le paramètreformatde l'optiontypedatapumpprend uniquement en charge le service de stockage d'objets d'Oracle Cloud Infrastructure Object Storage, les magasins d'objets du service de stockage d'objets d'Oracle Cloud Infrastructure Object Storage Classic ou la sortie du répertoire. -
Lorsque vous spécifiez
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 du fichier de vidage en fragments plus petits pour accélérer les chargements. La console du service de stockage d'objets pour Oracle Cloud Infrastructure affiche plusieurs fichiers pour chaque partie de fichier de vidage que vous exportez. La taille des fichiers de vidage réels affichée est de zéro (0) et celle des fragments associés est de 10 Mo ou moins. Exemple :
En téléchargeant les fichiers de vidage à zéro octet à partir de la console Oracle Cloud Infrastructure ou à l'aide de l'interface de ligne de commande Oracle Cloud Infrastructure, vous n'obtiendrez pas les fichiers de vidage complets. Pour télécharger les fichiers de vidage complets à partir du magasin d'objets, utilisez un outil qui prend en charge Swift, tel que curl, et fournissez votre nom de connexion d'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 n'avez qu'à fournir le nom du fichier principal. Les procédures qui prennent en charge le type de format 'datapump' détectent et téléchargent automatiquement les fragments.Lorsque vous utilisez
DBMS_CLOUD.DELETE_OBJECT, la procédure détecte et supprime automatiquement les fragments lorsque la procédure supprime le fichier principal. -
La procédure
DBMS_CLOUD.EXPORT_DATAcrée les fichiers de vidage à partir des valeursfile_uri_listque vous spécifiez, comme suit :-
Comme d'autres fichiers sont nécessaires, la procédure crée des fichiers supplémentaires à partir de
file_uri_list. -
La procédure ne remplace pas les fichiers. Si un fichier de vidage existe dans
file_uri_list,DBMS_CLOUD.EXPORT_DATAsignale une erreur. -
DBMS_CLOUD.EXPORT_DATAne crée pas de seaux.
-
-
Le nombre de fichiers de vidage générés par
DBMS_CLOUD.EXPORT_DATAest déterminé lors de l'exécution de la procédure. Le nombre de fichiers de vidage générés dépend du nombre de noms de fichier que vous fournissez dans le paramètrefile_uri_list, ainsi que du nombre d'OCPU de base de données d'intelligence artificielle autonome 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 d'IA autonome à 1 OCPU ou le service
low, un seul fichier de vidage est exporté sans parallélisme, même si vous fournissez plusieurs noms de fichier. Si vous utilisez une instance de base de données du service d'intelligence artificielle autonome à 4 OCPU avec le servicemediumouhigh, les tâches peuvent être exécutées en parallèle et plusieurs fichiers de vidage sont exportés si vous fournissez plusieurs noms de fichier. -
Les fichiers de vidage que vous créez avec
DBMS_CLOUD.EXPORT_DATAne peuvent pas être importés à l'aide d'Oracle Data Pumpimpdp. Selon la base de données, vous pouvez utiliser ces fichiers comme suit :-
Dans une base de données d'intelligence artificielle autonome, vous pouvez utiliser les fichiers de vidage avec les procédures
DBMS_CLOUDqui prennent en charge le paramètreformattypeavec la valeur 'datapump'. Vous pouvez importer les fichiers de vidage à l'aide deDBMS_CLOUD.COPY_DATAou appelerDBMS_CLOUD.CREATE_EXTERNAL_TABLEpour créer une table externe. -
Sur n'importe quel autre service Oracle Database, tel qu'Oracle Database 19c sur place, vous pouvez importer les fichiers de vidage créés avec la procédure
DBMS_CLOUD.EXPORT_DATAà l'aide du pilote d'accèsORACLE_DATAPUMP. Pour plus d'informations, voir 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 interrogation avancée, si nécessaire, telle qu'une interrogation qui inclut des jointures ou des sous-interrogations.
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 avoir l'accèsWRITEau répertoire. -
DBMS_CLOUD.EXPORT_DATAne crée pas de répertoires. -
La procédure ne remplace pas les fichiers. Par exemple, si un fichier de vidage existe dans
file_uri_list,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 du stockage d'objets pour Oracle Cloud Infrastructure et bucketname est le nom du seau. Pour plus d'informations, voir Présentation des espaces de noms du stockage d'objets.
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 montre DBMS_CLOUD.EXPORT_DATA exportant des données 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. Le formulaire de procédure lit un objet à partir du service de stockage d'objets en nuage et le copie dans Autonomous AI Database. Le formulaire de fonction lit un objet à partir du service de stockage d'objets en nuage et retourne une valeur BLOB à la base de données d'intelligence artificielle autonome.
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 données d'identification permettant d'accéder au service de stockage d'objets en nuage. Vous pouvez utiliser |
|
|
URI d'objet ou de fichier. Le format de l'URI dépend du service de stockage d'objets en nuage que vous utilisez. Pour des détails, voir Formats d'URI DBMS_CLOUD. |
|
|
Nom du répertoire dans la base de données. Note de bas de page 1Vous pouvez utiliser une URL d'hyperlien de table comme suit :
|
|
|
Spécifie le nom du fichier à créer. Si le nom du fichier n'est pas spécifié, la valeur qui suit la dernière barre oblique du paramètre |
startoffset |
Décalage, en octets, à partir duquel la procédure commence la lecture. |
endoffset |
Décalage, en octets, auquel la procédure s'arrête de lire. |
|
|
Indique la compression utilisée pour stocker l'objet. Lorsque |
Note de bas de page 1
Pour exécuter DBMS_CLOUD.GET_OBJECT avec un utilisateur autre qu'ADMIN, vous devez accorder à cet utilisateur les privilèges WRITE sur le répertoire. Par exemple, exécutez la commande suivante en tant qu'administrateur pour accorder les privilèges d'écriture à adb_user :
GRANT WRITE ON DIRECTORY data_pump_dir TO adb_user;
Valeurs retournées
Le formulaire de fonction lit à partir du magasin d'objets et DBMS_CLOUD.GET_OBJECT retourne 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 de caractère à partir d'un fichier du magasin 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 le magasin d'objets dans un fichier BLOB de la base de données :
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 du stockage d'objets pour Oracle Cloud Infrastructure et bucketname est le nom du seau. Pour plus d'informations, voir Présentation des espaces de noms du stockage d'objets.
Rubrique parent : DBMS_CLOUD pour les objets et les fichiers
Fonction LIST_FILES
Cette fonction répertorie les fichiers du répertoire indiqué. Les résultats comprennent les noms des fichiers et des métadonnées supplémentaires sur ceux-ci, telles que leur taille en octets, l'horodatage de la création et l'horodatage de la 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 accorder à cet utilisateur les droits de lecture sur le répertoire. Par exemple, exécutez la commande suivante en tant qu'ADMIN pour accorder les droits de lecture àadb_user:GRANT READ ON DIRECTORY data_pump_dir TO adb_user; -
Il s'agit d'une fonction de table pipelinée dont le type de retour est
DBMS_CLOUD_TYPES.list_object_ret_t. -
DBMS_CLOUD.LIST_FILESn'obtient pas la valeur de somme de contrôle et retourneNULLpour 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 retourne une ligne pour chaque fichier. Par exemple, utilisez l'interrogation 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 d'interrogation utilisant des caractères génériques :
Vous pouvez utiliser DBMS_CLOUD.LIST_FILES avec la syntaxe DIRECTORY:FILE, soit en spécifiant un fichier, soit en utilisant des caractères génériques. * et? sont les caractères génériques pris en charge.
Exemple 1 : Listez 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 : Listez 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 liste les objets situés dans l'emplacement spécifié du magasin d'objets. Les résultats comprennent les noms des objets et des métadonnées supplémentaires sur ceux-ci, telles que leur taille, la somme de contrôle, l'horodatage de la création et l'horodatage de la 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 données d'identification permettant d'accéder au service de stockage d'objets en nuage. Vous pouvez utiliser |
location_uri |
URI du seau ou du dossier de stockage d'objets. Le format des URI dépend du service de stockage d'objets en nuage que vous utilisez, pour plus de détails, voir Formats d'URI DBMS_CLOUD. Les caractères génériques sont pris en charge pour lister sélectivement des fichiers ou des sous-dossiers dans un URI. Les caractères " Exemple utilisant des caractères génériques : |
Notes d'utilisation
-
Selon les capacités du magasin d'objets,
DBMS_CLOUD.LIST_OBJECTSne retourne pas de valeurs pour certains attributs et la valeur retournée pour le champ estNULLdans ce cas.Tous les magasins d'objets pris en charge retournent des valeurs pour les champs
OBJECT_NAME,BYTESetCHECKSUM.Le tableau suivant présente la prise en charge des champs
CREATEDetLAST_MODIFIEDpar le magasin d'objets :Magasin d'objets CREATEDLAST_MODIFIEDOracle Cloud Infrastructure natif Horodatage des retours Horodatage des retours Swift d'Oracle Cloud Infrastructure Retourne NULLHorodatage des retours Oracle Cloud Infrastructure - Classique Retourne NULLHorodatage des retours Amazon S3 Retourne NULLHorodatage des retours Compatible avec Amazon S3 Retourne NULLHorodatage des retours Azure Horodatage des retours Horodatage des retours Référentiel GitHub -
La valeur de somme de contrôle est la somme de contrôle MD5. Il s'agit d'un nombre hexadécimal de 32 caractères qui est calculé sur le contenu de l'objet. Une valeur de somme de contrôle différente est attendue si les données d'identification
OCI$RESOURCE_PRINCIPALsont utilisées. -
Il s'agit d'une fonction de table pipelinée dont le type de retour est
DBMS_CLOUD_TYPES.list_object_ret_t.
Exemple
Il s'agit d'une fonction pipelinée qui retourne une ligne pour chaque objet. Par exemple, utilisez l'interrogation 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 du stockage d'objets pour Oracle Cloud Infrastructure et bucketname est le nom du seau. Pour plus d'informations, voir Présentation des espaces de noms du stockage d'objets.
Rubrique parent : DBMS_CLOUD pour les objets et les fichiers
MOVE_OBJECT Procédure
Cette procédure déplace un objet d'un seau ou d'un dossier de stockage d'objets en nuage vers un autre.
Le seau ou le dossier source et cible peuvent se trouver dans le même fournisseur ou dans un autre magasin d'objets en nuage.
Lorsque la source et la cible se trouvent dans des magasins d'objets distincts ou ont des comptes différents avec le même fournisseur de services en nuage, vous pouvez donner des noms de données d'identification distincts pour les emplacements source et cible.
Le nom des données d'identification sources est également utilisé par défaut par l'emplacement cible lorsque le nom des données d'identification cibles n'est pas indiqué.
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 données d'identification permettant d'accéder au service de stockage d'objets en nuage source. Vous pouvez utiliser Si vous n'indiquez pas de valeur |
|
|
Spécifie l'URI, qui pointe vers le seau ou l'emplacement du dossier de stockage d'objets source. Ce paramètre est obligatoire. Le format des URI dépend du service de stockage d'objets en nuage. Pour plus d'informations, voir Formats d'URI DBMS_CLOUD. |
|
|
Spécifie l'URI du seau ou du dossier de stockage d'objets cible, où les fichiers doivent être déplacés. Ce paramètre est obligatoire. Le format des URI dépend du service de stockage d'objets en nuage. Pour plus d'informations, voir Formats d'URI DBMS_CLOUD. |
|
|
Nom des données d'identification permettant d'accéder à l'emplacement de stockage d'objets en nuage cible. Vous pouvez utiliser Si vous n'indiquez 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 de la base de données IA autonome vers le stockage d'objets en nuage. Dans un autre format, la procédure copie une BLOB de la base de données d'IA autonome vers le stockage d'objets en nuage.
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 données d'identification permettant d'accéder au service de stockage d'objets en nuage. Vous pouvez utiliser |
|
|
URI d'objet ou de fichier. Le format de l'URI dépend du service de stockage d'objets en nuage que vous utilisez. Pour des détails, voir Formats d'URI DBMS_CLOUD. |
|
|
Nom du répertoire dans la base de données d'intelligence artificielle autonome. Note de bas de page 2 |
|
|
Spécifie |
|
|
Nom du fichier dans le répertoire indiqué. |
|
|
Indique la compression utilisée pour stocker l'objet. Valeur par défaut : |
Note de bas de page 2
Pour exécuter DBMS_CLOUD.PUT_OBJECT avec un utilisateur autre qu'ADMIN, vous devez accorder à cet utilisateur les droits de lecture sur le répertoire. Par exemple, exécutez la commande suivante en tant qu'administrateur pour accorder les privilèges de lecture à adb_user :
GRANT READ ON DIRECTORY data_pump_dir TO adb_user;
Exemple
Pour traiter les données BLOB après le traitement dans la base de données, puis stocker les données directement dans un fichier du magasin d'objets :
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
Selon votre service de stockage d'objets en nuage, la taille de l'objet que vous transférez est limitée comme suit :
| Service de stockage d'objets en nuage | Limite de taille du transfert d'objets |
|---|---|
|
Service de stockage d'objets pour Oracle Cloud Infrastructure |
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 du magasin d'objets. Pour plus d'informations, consultez la documentation du fournisseur. |
Le service de stockage d'objets pour Oracle Cloud Infrastructure ne permet pas d'écrire des fichiers dans un seau public sans fournir de données d'identification (Oracle Cloud Infrastructure permet aux utilisateurs de télécharger des objets à partir de seaux publics). Ainsi, vous devez indiquer un nom de données d'identification avec des données d'identification valides pour stocker un objet dans un seau public Oracle Cloud Infrastructure à l'aide de PUT_OBJECT.
Pour plus d'informations, voir Formats d'URI DBMS_CLOUD.
Rubrique parent : DBMS_CLOUD pour les objets et les fichiers
SYNC_EXTERNAL_PART_TABLE Procédure
Cette procédure simplifie la mise à jour d'une table partitionnée externe à partir de fichiers dans le nuage. Exécutez cette procédure chaque fois que de nouvelles partitions sont ajoutées ou lorsque des partitions sont supprimées de la source du magasin 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 l'exécution de |
|
|
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 introduire une modification du 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 : Faux |
Rubrique parent : DBMS_CLOUD pour les objets et les fichiers
Procédure VALIDATE_EXTERNAL_PART_TABLE
Cette procédure valide les fichiers sources d'une table partitionnée externe, génère des informations de journal et stocke les rangées qui ne correspondent pas aux options de format spécifiées pour la table externe dans une table badfile de la base de données IA autonome. Le formulaire surchargé vous 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 avec l'ID correspondant dans la vue |
|
|
Si elle est définie, seule une partition spécifique est validée. S'il n'est pas spécifié, 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. S'il n'est pas spécifié, lisez séquentiellement à partir de toutes les partitions ou sous-partitions externes 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 rangées à balayer. La valeur par défaut est NULL, ce qui signifie que toutes les rangées des fichiers sources sont balayées. |
|
|
Pour usage interne uniquement. N'utilisez pas ce paramètre. |
|
|
Détermine si la validation doit s'arrêter lorsqu'une rangée 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 sources d'une table externe, génère des informations de journal et stocke les rangées qui ne correspondent pas aux options de format spécifiées pour la table externe dans une table badfile de la base de données de l'IA autonome. Le formulaire surchargé vous 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 avec 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 rangées à balayer. La valeur par défaut est NULL, ce qui signifie que toutes les rangées des fichiers sources sont balayées. |
|
|
Détermine si la validation doit s'arrêter lorsqu'une rangée 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 spécifie le paramètre |
Notes d'utilisation
-
DBMS_CLOUD.VALIDATE_EXTERNAL_TABLEfonctionne avec les tables externes partitionnées et les tables partitionnées hybrides. Cela lit potentiellement 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
VALIDATE_HYBRID_PART_TABLE Procédure
Cette procédure valide les fichiers sources d'une table partitionnée hybride, génère des informations de journal et stocke les rangées qui ne correspondent pas aux options de format spécifiées pour la table hybride dans une table badfile de la base de données IA autonome. Le formulaire surchargé vous 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 avec l'ID correspondant dans la vue |
|
|
Si elle est définie, seule une partition spécifique est validée. S'il n'est pas spécifié, lisez séquentiellement à partir de toutes les partitions externes jusqu'à ce que |
|
|
Si elle est définie, seule une sous-partition spécifique est validée. S'il n'est pas spécifié, lisez séquentiellement à partir de toutes les partitions ou sous-partitions externes 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 rangées à balayer. La valeur par défaut est NULL, ce qui signifie que toutes les rangées des fichiers sources sont balayées. |
|
|
Pour usage interne uniquement. N'utilisez pas ce paramètre. |
|
|
Détermine si la validation doit s'arrêter lorsqu'une rangée 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 l'ensemble DBMS_CLOUD.
| Sous-programme | Description |
|---|---|
| BULK_COPY Procédure |
Cette procédure copie les fichiers d'un seau de stockage d'objets en nuage vers un autre. |
| BULK_DELETE Procédure |
La procédure supprime des fichiers du seau ou du dossier de stockage d'objets en nuage. |
| BULK_DOWNLOAD Procédure |
Cette procédure télécharge les fichiers du seau du magasin d'objets en nuage dans un répertoire d'Autonomous Database. |
| BULK_MOVE Procédure |
Cette procédure déplace les fichiers d'un seau de stockage d'objets en nuage vers un autre. |
| BULK_UPLOAD Procédure |
Cette procédure charge les fichiers d'un répertoire dans Autonomous Database vers le stockage d'objets en nuage. |
- Procédure BULK_COPY
Cette procédure copie en masse des fichiers d'un seau de stockage d'objets en nuage vers un autre. Le formulaire surchargé vous permet d'utiliser le paramètreoperation_id. - Procédure BULK_DELETE
Cette procédure supprime en masse des fichiers du stockage d'objets en nuage. Le formulaire surchargé vous permet d'utiliser le paramètreoperation_id. Vous pouvez filtrer la liste des fichiers à supprimer à l'aide d'un modèle d'expression rationnelle compatible avec l'opérateurREGEXP_LIKE. - Procédure BULK_DOWNLOAD
Cette procédure télécharge les fichiers dans un répertoire Autonomous Database à partir du service de stockage d'objets en nuage. Le formulaire surchargé vous 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 rationnelle compatible avec l'opérateurREGEXP_LIKE. - Procédure BULK_MOVE
Cette procédure déplace en masse des fichiers d'un seau ou d'un dossier de stockage d'objets en nuage vers un autre. Le formulaire surchargé vous permet d'utiliser le paramètreoperation_id. - Procédure BULK_UPLOAD
Cette procédure copie les fichiers dans le stockage d'objets en nuage à partir d'un répertoire Autonomous Database. Le formulaire surchargé vous permet d'utiliser le paramètreoperation_id.
Rubrique parent : Sous-programmes et API RESTDBMS_CLOUD
BULK_COPY Procédure
Cette procédure copie en masse des fichiers d'un seau de stockage d'objets en nuage vers un autre. Le formulaire surchargé vous permet d'utiliser le paramètre operation_id.
Vous pouvez filtrer la liste des fichiers à supprimer à l'aide d'un modèle d'expression rationnelle compatible avec l'opérateur REGEXP_LIKE.
Le seau ou le dossier source et cible peuvent se trouver dans le même fournisseur ou dans un autre magasin d'objets en nuage.
Lorsque la source et la cible se trouvent dans des magasins d'objets distincts ou ont des comptes différents avec le même fournisseur de services en nuage, vous pouvez donner des noms de données d'identification distincts pour les emplacements source et cible.
Le nom des données d'identification sources est également utilisé par défaut 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 données d'identification permettant d'accéder au service de stockage d'objets en nuage. Vous pouvez utiliser Si vous n'indiquez pas de valeur |
|
|
Spécifie l'URI qui pointe vers le seau ou l'emplacement du dossier de stockage d'objets source. Ce paramètre est obligatoire. URI de fichier source en nuage Vous pouvez utiliser des caractères génériques ainsi que des expressions rationnelles dans les noms de fichier dans les URI de fichier source Cloud. Les expressions rationnelles 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 rationnelle ne sont pris en charge que pour le nom de fichier ou le chemin du sous-dossier dans vos URI et la correspondance de modèle est identique à celle effectuée par la fonction Exemple utilisant des expressions rationnelles :
Exemple utilisant des caractères génériques :
Le format des URI dépend du service de stockage d'objets en nuage que vous utilisez, pour plus de détails, voir Formats d'URI DBMS_CLOUD. Voir Condition REGEXP_LIKE pour plus d'informations sur la condition |
|
|
Spécifie l'URI du seau ou du dossier de stockage d'objets cible, où les fichiers doivent être copiés. Ce paramètre est obligatoire. Spécifie l'URI, qui pointe vers le seau ou l'emplacement du dossier de stockage d'objets source. Ce paramètre est obligatoire. Le format des URI dépend du service de stockage d'objets en nuage. Pour plus d'informations, voir Formats d'URI DBMS_CLOUD. |
|
|
Nom des données d'identification permettant d'accéder à l'emplacement de stockage d'objets en nuage cible. Vous pouvez utiliser Si vous n'indiquez 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 n'indiquez pas de valeur Pour plus d'informations, voir ConditionREGEXP_LIKE. |
|
|
Spécifie les options de configuration supplémentaires pour l'opération de fichier. Ces options sont spécifiées en tant que chaîne JSON. Les options de formatage prises en charge sont les suivantes :
Si vous n'indiquez pas de valeur |
|
|
Utilisez ce paramètre pour suivre la progression et le statut final de l'opération de chargement avec l'ID correspondant dans la vue |
Notes d'utilisation
-
Une erreur est retournée lorsque les URI source et cible pointent vers le même seau ou dossier de stockage d'objets.
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 des fichiers en masse
BULK_DELETE Procédure
Cette procédure supprime en masse des fichiers du service de stockage d'objets en nuage. Le formulaire surchargé vous permet d'utiliser le paramètre operation_id. Vous pouvez filtrer la liste des fichiers à supprimer à l'aide d'un modèle d'expression rationnelle 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 données d'identification permettant d'accéder au service de stockage d'objets en nuage. Vous pouvez utiliser Si vous n'indiquez pas de valeur |
|
|
Spécifie l'URI, qui pointe vers un emplacement de stockage d'objets dans la base de données Autonomous Database. Ce paramètre est obligatoire. URI de fichier source en nuage Vous pouvez utiliser des caractères génériques ainsi que des expressions rationnelles dans les noms de fichier dans les URI de fichier source Cloud. Les expressions rationnelles 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 rationnelle ne sont pris en charge que pour le nom de fichier ou le chemin du sous-dossier dans vos URI et la correspondance de modèle est identique à celle effectuée par la fonction Exemple :
Le format des URI dépend du service de stockage d'objets en nuage que vous utilisez, pour plus de détails, voir Formats d'URI DBMS_CLOUD. Voir Condition REGEXP_LIKE pour plus d'informations sur la condition Le format des URI dépend du service de stockage d'objets en nuage. Pour plus d'informations, voir Formats d'URI DBMS_CLOUD. |
|
|
Spécifie l'expression REGEX pour filtrer les fichiers. Le modèle d'expression REGEX doit être compatible avec l'opérateur Si vous n'indiquez pas de valeur Pour plus d'informations, voir ConditionREGEXP_LIKE. |
|
|
Spécifie les options de configuration supplémentaires pour l'opération de fichier. Ces options sont spécifiées en tant que chaîne JSON. Les options de formatage prises en charge sont les suivantes :
Si vous n'indiquez pas de valeur |
|
|
Utilisez ce paramètre pour suivre la progression et le statut final de l'opération de chargement avec 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 des fichiers en masse
BULK_DOWNLOAD Procédure
Cette procédure télécharge les fichiers dans un répertoire Autonomous Database à partir du stockage d'objets en nuage. Le formulaire surchargé vous 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 rationnelle 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 données d'identification permettant d'accéder au service de stockage d'objets en nuage. Vous pouvez utiliser Si vous n'indiquez pas de valeur |
|
|
Spécifie l'URI, qui pointe vers un emplacement de stockage d'objets dans la base de données Autonomous Database. Ce paramètre est obligatoire. URI de fichier source en nuage Vous pouvez utiliser des caractères génériques ainsi que des expressions rationnelles dans les noms de fichier dans les URI de fichier source Cloud. Les expressions rationnelles 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 rationnelle ne sont pris en charge que pour le nom de fichier ou le chemin du sous-dossier dans vos URI et la correspondance de modèle est identique à celle effectuée par la fonction Exemple :
Le format des URI dépend du service de stockage d'objets en nuage que vous utilisez, pour plus de détails, voir Formats d'URI DBMS_CLOUD. Voir Condition REGEXP_LIKE pour plus d'informations sur la condition Le format des URI dépend du service de stockage d'objets en nuage. Pour plus d'informations, voir Formats d'URI DBMS_CLOUD. |
|
|
Nom du répertoire dans la base de données Autonomous Database à partir duquel vous voulez 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 n'indiquez pas de valeur Pour plus d'informations, voir ConditionREGEXP_LIKE. |
|
|
Spécifie les options de configuration supplémentaires pour l'opération de fichier. Ces options sont spécifiées en tant que chaîne JSON. Les options de formatage prises en charge sont les suivantes :
Si vous n'indiquez pas de valeur |
|
|
Utilisez ce paramètre pour suivre la progression et le statut final de l'opération de chargement avec 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 des fichiers en masse
BULK_MOVE Procédure
Cette procédure déplace en masse des fichiers d'un seau ou d'un dossier de stockage d'objets en nuage vers un autre. Le formulaire surchargé vous permet d'utiliser le paramètre operation_id.
Vous pouvez filtrer la liste des fichiers à supprimer à l'aide d'un modèle d'expression rationnelle compatible avec l'opérateur REGEXP_LIKE.
Le seau ou le dossier source et cible peuvent se trouver dans le même fournisseur ou dans un autre magasin d'objets en nuage.
Lorsque la source et la cible se trouvent dans des magasins d'objets distincts ou ont des comptes différents avec le même fournisseur de services en nuage, vous pouvez donner des noms de données d'identification distincts pour les emplacements source et cible.
Le nom des données d'identification sources est également utilisé par défaut par l'emplacement cible lorsque le nom des données d'identification cibles n'est pas indiqué.
La première étape du déplacement des fichiers consiste à les copier vers l'emplacement cible, puis à supprimer les fichiers sources, une fois qu'ils ont été copiés.
L'objet est renommé plutôt que déplacé si le magasin d'objets permet de renommer les opérations 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 données d'identification permettant d'accéder au service de stockage d'objets en nuage source. Vous pouvez utiliser Si vous n'indiquez pas de valeur |
|
|
Spécifie l'URI qui pointe vers le seau ou l'emplacement du dossier de stockage d'objets source. Ce paramètre est obligatoire. URI de fichier source en nuage Vous pouvez utiliser des caractères génériques ainsi que des expressions rationnelles dans les noms de fichier dans les URI de fichier source Cloud. Les expressions rationnelles 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 rationnelle ne sont pris en charge que pour le nom de fichier ou le chemin du sous-dossier dans vos URI et la correspondance de modèle est identique à celle effectuée par la fonction Exemple utilisant des expressions rationnelles :
Exemple utilisant des caractères génériques :
Le format des URI dépend du service de stockage d'objets en nuage que vous utilisez, pour plus de détails, voir Formats d'URI DBMS_CLOUD. Voir Condition REGEXP_LIKE pour plus d'informations sur la condition |
|
|
Spécifie l'URI du seau ou du dossier de stockage d'objets cible, où les fichiers doivent être déplacés. Ce paramètre est obligatoire. Le format des URI dépend du service de stockage d'objets en nuage que vous utilisez, pour plus de détails, voir Formats d'URI DBMS_CLOUD. |
|
|
Nom des données d'identification permettant d'accéder à l'emplacement de stockage d'objets en nuage cible. Vous pouvez utiliser Si vous n'indiquez 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 n'indiquez pas de valeur Pour plus d'informations, voir ConditionREGEXP_LIKE. |
|
|
Spécifie les options de configuration supplémentaires pour l'opération de fichier. Ces options sont spécifiées en tant que chaîne JSON. Les options de formatage prises en charge sont les suivantes :
Si vous n'indiquez pas de valeur |
|
|
Utilisez ce paramètre pour suivre la progression et le statut final de l'opération de chargement avec 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 retournée lorsque les URI source et cible pointent vers le même seau ou dossier de stockage d'objets.
Rubrique parent : DBMS_CLOUD pour la gestion des fichiers en masse
BULK_UPLOAD Procédure
Cette procédure copie les fichiers dans le stockage d'objets en nuage à partir d'un répertoire Autonomous Database. Le formulaire surchargé vous 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 données d'identification permettant d'accéder au service de stockage d'objets en nuage. Vous pouvez utiliser Si vous n'indiquez pas de valeur |
|
|
Spécifie l'URI, qui pointe vers un emplacement de stockage d'objets pour charger des fichiers. Ce paramètre est obligatoire. Le format des URI dépend du service de stockage d'objets en nuage. Pour plus d'informations, voir Formats d'URI DBMS_CLOUD. |
|
|
Nom du répertoire dans la base de données Autonomous Database à partir duquel vous chargez des fichiers. Ce paramètre est obligatoire. Répertoire Vous pouvez spécifier 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 rationnelles ne sont pas prises en charge lors de la spécification des noms de fichier dans un répertoire. Vous ne pouvez utiliser que des caractères génériques pour spécifier des noms de fichier dans un répertoire. Le caractère "*" peut être utilisé pour plusieurs caractères, et le caractère "?" peut être utilisé 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 spécifier un nom de répertoire sensible à la casse. Par exemple : Pour inclure un caractère de 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 n'indiquez pas de valeur Pour plus d'informations, voir ConditionREGEXP_LIKE. |
|
|
Spécifie les options de configuration supplémentaires pour l'opération de fichier. Ces options sont spécifiées en tant que chaîne JSON. Les options de formatage prises en charge sont les suivantes :
Si vous n'indiquez pas de valeur |
|
|
Utilisez ce paramètre pour suivre la progression et le statut final de l'opération de chargement avec 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 des fichiers en masse
API REST de DBMS_CLOUD
Cette section décrit les API REST DBMS_CLOUD fournies avec Autonomous AI Database.
| API REST | Description |
|---|---|
| Cette fonction retourne les en-têtes de réponse HTTP en tant que données JSON dans un objet JSON de la base de données autonome d'IA. | |
| Cette fonction retourne la réponse HTTP au format RAW de la base de données d'IA autonome. Ceci est utile si la réponse HTTP doit être au format binaire. | |
| Cette fonction retourne le code de statut de réponse HTTP en tant qu'entier dans la base de données d'intelligence artificielle autonome. Le code de statut permet de déterminer si la demande a réussi. | |
Cette fonction retourne la réponse HTTP au format TEXT (VARCHAR2 ou CLOB) dans la base de données d'IA autonome. Habituellement, la plupart des API REST en nuage retournent une réponse JSON au format texte. Cette fonction est utile si vous pensez que la réponse HTTP est au format texte.
|
|
|
Cette fonction retourne la taille de mémoire 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 d'IA autonome. Cette fonction fournit un flux de travail pour envoyer une demande d'API REST en nuage avec des arguments, un code de réponse de retour et des données utiles. | |
|
Cette procédure définit la taille maximale du cache pour la session en cours. |
- Aperçu de l'API REST DBMS_CLOUD
Lorsque vous utilisez PL/SQL dans votre application et que vous devez appeler des API REST en nuage, vous pouvez utiliserDBMS_CLOUD.SEND_REQUESTpour envoyer les demandes d'API REST. - DBMS_CLOUD Constantes d'API REST
Décrit les constantesDBMS_CLOUDpour effectuer des demandesHTTPà l'aide deDBMS_CLOUD.SEND_REQUEST. - Cache de résultats d'API REST DBMS_CLOUD
Vous pouvez enregistrer les résultats de l'API RESTDBMS_CLOUDlorsque vous réglez le paramètrecacheà Vrai avecDBMS_CLOUD.SEND_REQUEST. La vueSESSION_CLOUD_API_RESULTSdécrit les colonnes que vous pouvez utiliser lors de l'enregistrement des résultats de l'API REST. - Fonction GET_RESPONSE_HEADERS
Cette fonction retourne les en-têtes de réponse HTTP en tant que données JSON dans un objet JSON. - Fonction GET_RESPONSE_RAW
Cette fonction retourne la réponse HTTP au format RAW. Ceci est utile si la réponse HTTP doit être au format binaire. - Fonction GET_RESPONSE_STATUS_CODE
Cette fonction retourne le code de statut de réponse HTTP en tant qu'entier. Le code de statut permet de déterminer si la demande a réussi. - Fonction GET_RESPONSE_TEXT
Cette fonction retourne la réponse HTTP au formatTEXT(VARCHAR2ouCLOB). Habituellement, la plupart des API REST en nuage retournent une réponse JSON au format texte. Cette fonction est utile si vous pensez que la réponse HTTP est au format texte. - Fonction GET_API_RESULT_CACHE_SIZE
Cette fonction retourne la taille de mémoire cache des résultats configurée. La taille du cache ne s'applique qu'à 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 flux de travail pour envoyer une demande d'API REST en nuage avec des arguments et retourne un code de réponse et des données utiles. Si vous utilisez la procédure, vous pouvez voir les résultats et les détails de la 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 de la mémoire cache pour la session courante. La taille du cache ne s'applique qu'à la session en cours. - Exemples d'API REST DBMS_CLOUD
Affiche des exemples utilisantDBMS_CLOUD.SEND_REQUESTpour créer et supprimer un seau Oracle Cloud Infrastructure Object Storage, et un exemple pour lister tous les compartiments de la location.
Rubrique parent : Sous-programmes et API RESTDBMS_CLOUD
Aperçu de l'API REST DBMS_CLOUD
Lorsque vous utilisez PL/SQL dans votre application et que vous devez appeler des API REST en nuage, vous pouvez utiliser DBMS_CLOUD.SEND_REQUEST pour envoyer les demandes d'API REST.
Les fonctions d'API REST DBMS_CLOUD vous permettent de faire des demandes HTTP à l'aide de DBMS_CLOUD.SEND_REQUEST et d'obtenir et d'enregistrer des résultats. Ces fonctions fournissent une API générique qui vous permet d'appeler n'importe quelle API REST avec les services en nuage pris en charge suivants :
- Oracle Cloud Infrastructure
Voir Informations de référence sur les API et points d'extrémité d'API pour plus d'informations sur les API REST Oracle Cloud Infrastructure.
- Amazon Web Services (AWS)
Voir Guides et références d'API pour plus d'informations sur les API REST d'Amazon Web Services.
- Azure Cloud Note de bas de page 3
Voir Informations de référence sur l'API REST Azure pour plus d'informations sur les API REST Azure.
- Oracle Cloud Infrastructure - Classique
Voir Tous les points d'extrémité REST pour plus d'informations sur les API REST du service Oracle Cloud Infrastructure version classique.
- Référentiel GitHub
Pour plus d'informations, voir API REST GitHub.
Rubrique parent : API REST DBMS_CLOUD
Constantes d'API REST DBMS_CLOUD
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 sur l'API REST en nuage.
| Le 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
Mémoire cache des résultats de l'API REST DBMS_CLOUD
Vous pouvez enregistrer les résultats de l'API REST DBMS_CLOUD lorsque vous réglez le paramètre cache à Vrai avec DBMS_CLOUD.SEND_REQUEST. La vue SESSION_CLOUD_API_RESULTS décrit les colonnes que vous pouvez utiliser lors de l'enregistrement des résultats de l'API REST.
Par défaut, les appels d'API REST DBMS_CLOUD n'enregistrent pas les résultats de votre session. Dans ce cas, vous utilisez la fonction DBMS_CLOUD.SEND_REQUEST pour retourner des résultats.
Lorsque vous utilisez DBMS_CLOUD.SEND_REQUEST et réglez le paramètre cache à TRUE, les résultats sont enregistrés et vous pouvez voir 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 devez utiliser vos 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 voir et définir la taille de la mémoire cache de l'API REST DBMS_CLOUD et pour désactiver la mise en mémoire cache.
- Paramètre cache_scope Résultats de l'API REST DBMS_CLOUD
Lorsque vous enregistrez les résultats de l'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 réglez le paramètrecacheà Vrai avecDBMS_CLOUD.SEND_REQUEST. La vueSESSION_CLOUD_API_RESULTSdécrit les colonnes que vous pouvez utiliser lors de l'enregistrement des résultats de l'API REST.
Rubrique parent : API REST DBMS_CLOUD
Paramètre cache_scope Résultats de l'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 courant de la session peut accéder aux résultats. Si vous réglez cache_scope à 'PUBLIC', tous les utilisateurs de session peuvent accéder aux résultats. La valeur par défaut de cache_scope spécifie 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, il existe trois possibilités qui déterminent si l'utilisateur courant 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'énoncé de niveau supérieur et l'appel àDBMS_CLOUD.SEND_REQUESTet aux résultats de l'API REST sont enregistrés avec le même nom d'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 une procédure de droits d'appel d'encapsuleur et, en tant qu'utilisateur courant, 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 d'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 une procédure de droits du créateur de wrapper et la procédure appartient à un autre utilisateur. Lorsque vous appelez
DBMS_CLOUD.SEND_REQUESTdans la procédure, les résultats sont enregistrés avec le nom d'utilisateur du responsable de la procédure.Dans ce cas, un autre utilisateur des droits du créateur appelle
DBMS_CLOUD.SEND_REQUESTet les résultats de l'API REST sont enregistrés avec le responsable de la procédure du créateur. Dans ce cas, par défaut, lorsquecache_scopea la valeurPRIVATE', la session de l'appelant ne peut pas voir les résultats.Si le responsable de la procédure du créateur veut que les résultats soient disponibles pour tout utilisateur de session appelant, il doit régler
cache_scopeà'PUBLIC'dansDBMS_CLOUD.SEND_REQUEST.
Rubrique parent : Cache de résultats d'API REST DBMS_CLOUD
DBMS_CLOUD API REST SESSION_CLOUD_API_RESULTS Voir
Vous pouvez enregistrer les résultats de l'API REST DBMS_CLOUD lorsque vous réglez le paramètre cache à Vrai avec DBMS_CLOUD.SEND_REQUEST. La vue SESSION_CLOUD_API_RESULTS décrit les colonnes que vous pouvez utiliser lors de l'enregistrement des résultats de l'API REST.
La vue SESSION_CLOUD_API_RESULTS est la vue créée si vous mettez en mémoire cache les résultats avec DBMS_CLOUD.SEND_REQUEST. Vous pouvez interroger les résultats historiques appartenant à votre session utilisateur. Lorsque la session se termine, les données dans SESSION_CLOUD_API_RESULTS sont épuré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 en nuage de l'API REST DBMS_CLOUD, par exemple Oracle Cloud Infrastructure, AMAZON_S3 et AZURE_BLOB
|
REQUEST_METHOD |
Méthode de demande d'API REST DBMS_CLOUD, par exemple GET, PUT, 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, par exemple 200(OK), 404(Not Found) |
RESPONSE_HEADERS |
En-têtes de réponse de l'API REST DBMS_CLOUD
|
RESPONSE_BODY_TEXT |
Corps de réponse de l'API REST DBMS_CLOUD dans CLOB |
SCOPE |
|
Rubrique parent : Cache de résultats d'API REST DBMS_CLOUD
Fonction GET_RESPONSE_HEADERS
Cette fonction retourne 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 retourné 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 retourne 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 retourné 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 retourne le code de statut de réponse HTTP en tant qu'entier. Le code de statut permet de déterminer 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 retourné 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 retourne la réponse HTTP au format TEXT (VARCHAR2 ou CLOB). Habituellement, la plupart des API REST en nuage retournent une réponse JSON au format texte. Cette fonction est utile si vous pensez 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 retourné 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 retourne la taille de mémoire cache des résultats configurée. La taille du cache ne s'applique qu'à 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 flux de travail pour envoyer une demande d'API REST en nuage avec des arguments et retourne un code de réponse et des données utiles. Si vous utilisez la procédure, vous pouvez voir les résultats et les détails de la 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 données d'identification pour l'authentification à l'aide de l'API native en nuage correspondante. Vous pouvez utiliser |
uri |
URI HTTP pour effectuer la demande. |
method |
Méthode de demande HTTP : Pour plus d'informations, voir DBMS_CLOUD Constantes d'API REST. |
headers |
En-têtes de demande HTTP pour l'API native en nuage 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 votre API de demande dans la liste des API (voir https://docs.cloud.oracle.com/en-us/iaas/api/). Ensuite, naviguez pour trouver l'API de votre demande dans le volet de gauche. Par exemple, API des services de base de données → Autonomous Database → StopAutonomousDatabase. Cette page présente le répertoire de base de l'API (et le point d'extrémité de base). Ajoutez ensuite le point d'extrémité de base avec le chemin relatif obtenu pour le lien WorkRequest de votre demande de travail. |
wait_for_states |
Le statut Attendre les états est de type : Plusieurs états sont autorisés pour |
timeout |
Spécifie la temporisation, en secondes, pour les 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 à cette mémoire 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 de données d'identification basée sur une clé de signature pour
credential_name. Pour plus d'informations, voir ProcédureCREATE_CREDENTIAL. -
Les paramètres facultatifs
async_request_url,wait_for_statesettimeoutvous permettent de traiter les demandes de longue durée. À l'aide de cette forme asynchrone desend_request, la fonction attend le statut d'achèvement spécifié danswait_for_statesavant de retourner. Avec ces paramètres dans la demande d'envoi, vous transmettez les états de retour attendus dans le paramètrewait_for_stateset vous utilisez le paramètreasync_request_urlpour spécifier une demande de travail associée. La demande ne retourne pas immédiatement. À la place, 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 spécifiée, la demande attend qu'un état trouvé danswait_for_statesse produise.
Rubrique parent : API REST DBMS_CLOUD
SET_API_RESULT_CACHE_SIZE Procédure
Cette procédure définit la taille maximale du cache pour la session en cours. La taille du cache ne s'applique qu'à la session en cours.
Syntaxe
DBMS_CLOUD.SET_API_RESULT_CACHE_SIZE(
cache_size IN NUMBER);
Paramètres
| Paramètre | Description |
|---|---|
cache_size |
Réglez la taille maximale de la mémoire cache à la valeur spécifiée Si la taille de la mémoire cache est réglée à La taille de mémoire 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
Exemples d'API REST DBMS_CLOUD
Affiche des exemples utilisant DBMS_CLOUD.SEND_REQUEST pour créer et supprimer un seau Oracle Cloud Infrastructure Object Storage, et un exemple pour lister tous les compartiments de la location.
Ces exemples montrent les API de demande Oracle Cloud Infrastructure et exigent que vous utilisiez des données d'identification basées sur une clé de signature pour credential_name. Les données d'identification basées sur la clé de signature Oracle Cloud Infrastructure comprennent les arguments private_key et fingerprint.
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;
/Voir Procédure CREATE_CREDENTIAL pour plus d'informations sur DBMS_CLOUD.CREATE_CREDENTIAL.
Créer un exemple de seau
Affiche un exemple utilisant DBMS_CLOUD.SEND_REQUEST avec la méthode HTTP POST pour créer un seau de magasin d'objets nommé bucketname.
Voir CreateBucket pour plus de détails sur l'API du service Oracle Cloud Infrastructure Object Storage pour cet exemple.
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 du stockage d'objets pour Oracle Cloud Infrastructure etbucketnameest le nom du seau. Pour plus d'informations, voir Présentation des espaces de noms du stockage d'objets. -
Où :
regionest une région de point d'extrémité. Pour plus d'informations, voir Informations de référence sur les API de stockage d'objets dans Informations de référence sur les API et les points d'extrémité. Par exemple, oùregionest :us-phoenix-1.
Exemple de suppression de seau
Affiche un exemple utilisant DBMS_CLOUD.SEND_REQUEST avec la méthode HTTP DELETE pour supprimer un seau de magasin d'objets nommé bucketname.
Voir DeleteBucket pour plus de détails sur l'API du service Oracle Cloud Infrastructure Object Storage pour cet exemple.
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 du stockage d'objets pour Oracle Cloud Infrastructure etbucketnameest le nom du seau. Pour plus d'informations, voir Présentation des espaces de noms du stockage d'objets. -
Où :
regionest une région de point d'extrémité. Pour plus d'informations, voir Informations de référence sur les API de stockage d'objets dans Informations de référence sur les API et les points d'extrémité. Par exemple, oùregionest :us-phoenix-1.
Exemple de compartiments de liste
Affiche un exemple utilisant DBMS_CLOUD.SEND_REQUEST avec la méthode HTTP GET pour lister tous les compartiments de la location (compartiment racine). Cet exemple montre comment transmettre les en-têtes de demande dans DBMS_CLOUD.SEND_REQUEST.
Voir ListCompartments pour plus de détails sur l'API du service Oracle Cloud Infrastructure Identity and Access Management pour cet exemple.
--
-- 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 de point d'extrémité. Pour plus d'informations, voir Informations de référence sur l'API du service de gestion des identités et des accès (IAM) dans Informations de référence sur les API et les points d'extrémité 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 d'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 de point d'extrémité. Pour plus d'informations, voir Informations de référence sur l'API du service de gestion des identités et des accès (IAM) dans Informations de référence sur les API et les points d'extrémité d'API. Par exemple, où region est : uk-london-1.
ocid est l'identificateur de ressource Oracle Cloud Infrastructure. Pour plus d'informations, voir Identificateurs de ressource.
Rubrique parent : API REST DBMS_CLOUD
Légende de note de bas de page
Note 3 : La prise en charge des appels d'API REST Azure Cloud est limitée au domaine "blob.windows.net".