Package DBMS_CLOUD_REPO
Le package DBMS_CLOUD_REPO
permet d'utiliser et de gérer des référentiels de code hébergés sur le cloud à partir d'Oracle Database. Les référentiels de code cloud pris en charge sont les suivants : GitHub, AWS CodeCommit et Azure Repos.
- DBMS_CLOUD_REPO Présentation
Le packageDBMS_CLOUD_REPO
permet d'accéder facilement aux fichiers des référentiels de code cloud (Git), notamment GitHub, AWS CodeCommit et Azure Repos. - DBMS_CLOUD_REPO Structures de données
Le packageDBMS_CLOUD_REPO
définit les types d'enregistrement et un type d'objet JSON génériquerepo
. - Groupes de sous-programmes DBMS_CLOUD_REPO
Les sous-programmes du packageDBMS_CLOUD_REPO
peuvent être regroupés en quatre catégories : opérations d'initialisation, opérations de gestion de référentiel, opérations de fichier et opérations d'installation SQL. - Récapitulatif des sous-programmes DBMS_CLOUD_REPO
Cette section traite des sous-programmesDBMS_CLOUD_REPO
fournis avec Autonomous Database.
Rubrique parent : Référence de package fourni avec Autonomous Database
Présentation de DBMS_CLOUD_REPO
Le package DBMS_CLOUD_REPO
permet d'accéder facilement aux fichiers des référentiels de code cloud (Git), notamment GitHub, AWS CodeCommit et Azure Repos.
Ce package est une interface unique permettant d'accéder aux référentiels de code multicloud et vous permet de télécharger des fichiers SQL vers des dépôts Git ou d'installer des scripts SQL directement à partir de référentiels de code cloud. Ce package vous permet également d'utiliser un référentiel de code cloud afin de gérer les versions de code pour les scripts SQL, et d'installer un code d'application ou d'appliquer des patches à ce code à partir de référentiels Git.
Concepts
-
Système de contrôle des versions Git : Git est un logiciel qui permet de suivre les modifications apportées à un ensemble de fichiers. Il est généralement utilisé pour coordonner le travail des programmeurs qui développent de manière collaborative du code source lors du développement logiciel. Ses objectifs incluent la vitesse, l'intégrité des données et la prise en charge des workflows non linéaires et distribués.
-
Répertoire Git : un référentiel Git est un stockage virtuel de votre projet. Il vous permet d'enregistrer des versions de votre code, auxquelles vous pouvez accéder en cas de besoin.
Architecture
DBMS_CLOUD_REPO
fournit quatre types de fonctionnalité :
-
Initialisation de référentiel avec un descripteur de référentiel de code cloud générique
-
Initialisation d'un référentiel de code GitHub
-
Initialisation d'un référentiel de code AWS CodeCommit
-
Initialisation d'un référentiel de code Azure Repos
-
-
Opérations de gestion de référentiel
-
Créer un référentiel
-
Mettre à jour un référentiel
-
Liste des référentiels
-
Supprimer un référentiel
-
-
Opérations de gestion de fichiers de référentiel
-
Téléchargement d'un fichier vers un référentiel de code à partir d'Oracle Database
-
Téléchargement d'un fichier à partir d'un référentiel de code vers Oracle Database
-
Suppression de fichiers d'un référentiel de code
-
Etablissement de la liste des fichiers d'un référentiel de code
-
-
Opérations d'installation SQL
- Export des métadonnées DDL d'objet de base de données vers un référentiel
-
Installation d'instructions SQL à partir d'un fichier du référentiel de code dans Oracle Database
-
Installation d'instructions SQL à partir d'un tampon
Rubrique parent : Package DBMS_CLOUD_REPO
DBMS_CLOUD_REPO Structures de données
Le package DBMS_CLOUD_REPO
définit les types d'enregistrement et un type d'objet JSON générique repo
.
Objet JSON REPO
DBMS_CLOUD_REPO
REPO
est un objet JSON opaque qui représente le référentiel de code cloud d'un fournisseur cloud spécifique. Un objet REPO peut être transmis à différentes API DBMS_CLOUD_REPO
. Cet objet opaque garantit que les procédures et les fonctions DBMS_CLOUD_REPO
sont compatibles avec plusieurs clouds. Il n'est pas nécessaire de modifier le code lors de la migration d'un fournisseur de référentiel de code cloud vers un autre référentiel de code cloud.
Rubrique parent : Package DBMS_CLOUD_REPO
DBMS_CLOUD_REPO Groupes de sous-programmes
Les sous-programmes du package DBMS_CLOUD_REPO
peuvent être regroupés en quatre catégories : opérations d'initialisation, opérations de gestion de référentiel, opérations de fichier et opérations d'installation SQL.
- DBMS_CLOUD_REPO Opérations d'initialisation
Répertorie les sous-programmes pour les opérations d'initialisation dans le packageDBMS_CLOUD_REPO
. - DBMS_CLOUD_REPO Opérations de gestion de référentiel
Affiche les sous-programmes pour les opérations de gestion de référentiel dans le packageDBMS_CLOUD_REPO
. - DBMS_CLOUD_REPO Opérations de gestion de branchement de référentiel
Répertorie les sous-programmes pour les opérations de gestion de branchement de référentiel dans le packageDBMS_CLOUD_REPO
. - Opérations de fichier DBMS_CLOUD_REPO
Répertorie les sous-programmes pour les opérations de fichier dans le packageDBMS_CLOUD_REPO
. - DBMS_CLOUD_REPO Opérations d'installation SQL
Répertorie les sous-programmes pour les opérations d'installation SQL dans le packageDBMS_CLOUD_REPO
.
Rubrique parent : Package DBMS_CLOUD_REPO
DBMS_CLOUD_REPO Opérations d'initialisation
Répertorie les sous-programmes pour les opérations d'initialisation dans le package DBMS_CLOUD_REPO
.
Sous-programme | Description |
---|---|
Cette fonction initialise un descripteur de référentiel AWS et renvoie un type opaque. | |
Cette fonction initialise un descripteur de référentiel Azure et renvoie un type opaque. | |
Cette fonction initialise un descripteur de référentiel GitHub et renvoie un type opaque. | |
Cette fonction initialise un descripteur de référentiel de code cloud et renvoie un objet JSON opaque. |
Rubrique parent : DBMS_CLOUD_REPO Groupes de sous-programmes
DBMS_CLOUD_REPO Opérations de gestion de référentiel
Indique les sous-programmes pour les opérations de gestion de référentiel dans le package DBMS_CLOUD_REPO
.
Sous-programme | Description |
---|---|
Cette procédure crée un référentiel de code cloud identifié par l'argument de descripteur repo .
|
|
Cette procédure supprime le référentiel de code cloud identifié par l'argument de descripteur repo .
|
|
Cette fonction répertorie tous les référentiels de code cloud identifiés par l'argument de descripteur repo .
|
|
Cette procédure met à jour un référentiel de code cloud identifié par l'argument de descripteur repo . La procédure prend en charge la mise à jour du nom, de la description ou du statut de visibilité privée, comme pris en charge par le référentiel de code cloud.
|
Rubrique parent : DBMS_CLOUD_REPO Groupes de sous-programmes
DBMS_CLOUD_REPO Opérations de gestion de branchement de référentiel
Répertorie les sous-programmes pour les opérations de gestion de branchement de référentiel dans le package DBMS_CLOUD_REPO
.
Sous-programme | Description |
---|---|
Cette procédure crée un branchement dans un référentiel de code cloud identifié par l'argument de descripteur repo .
|
|
Cette procédure supprime un branchement dans un référentiel de code cloud identifié par l'argument de descripteur repo .
|
|
Cette fonction répertorie toutes les branches du référentiel de code cloud identifiées par l'argument de descripteur repo .
|
|
Cette fonction répertorie toutes les validations dans une branche de référentiel de code cloud identifiée par l'argument de descripteur repo .
|
|
Cette procédure fusionne un branchement de référentiel de code cloud dans un autre branchement spécifié dans un référentiel de code cloud identifié par l'argument de descripteur repo .
|
Rubrique parent : DBMS_CLOUD_REPO Groupes de sous-programmes
Opérations de fichier DBMS_CLOUD_REPO
Répertorie les sous-programmes pour les opérations de fichier dans le package DBMS_CLOUD_REPO
.
Sous-programme | Description |
---|---|
Cette procédure supprime un fichier du référentiel de code cloud identifié par l'argument de descripteur repo .
|
|
La fonction télécharge le contenu d'un fichier à partir du référentiel Cloud Code. La procédure permet de télécharger le contenu d'un fichier à partir du référentiel de code cloud et d'enregistrer le fichier dans un répertoire. | |
Cette fonction télécharge un fichier à partir du référentiel de code cloud. Vous pouvez également accéder au contenu d'un fichier à partir d'un branchement, d'une balise ou d'un nom de validation spécifique. Par défaut, le fichier est accessible à partir du branche de référentiel par défaut. | |
Cette procédure télécharge un fichier vers le référentiel de code cloud identifié par l'argument de descripteur repo . La procédure est surchargée pour prendre en charge le téléchargement d'un fichier à partir d'un objet de répertoire ou le téléchargement du contenu d'un objet CLOB vers le fichier de référentiel.
|
Rubrique parent : DBMS_CLOUD_REPO Groupes de sous-programmes
DBMS_CLOUD_REPO Opérations d'installation SQL
Répertorie les sous-programmes pour les opérations d'installation SQL dans le package DBMS_CLOUD_REPO
.
Sous-programme | Description |
---|---|
Cette procédure télécharge les métadonnées DDL d'un objet de base de données vers le référentiel de code cloud identifié par l'argument de descripteur repo .
|
|
Cette procédure exporte les métadonnées de tous les objets d'un schéma vers une branche de référentiel de code cloud identifiée par l'argument de descripteur repo .
|
|
Cette procédure installe des instructions SQL à partir d'un fichier dans le référentiel de code cloud identifié par l'argument de descripteur repo .
|
|
Cette procédure installe des instructions SQL à partir d'un tampon fourni en tant qu'entrée. |
Rubrique parent : DBMS_CLOUD_REPO Groupes de sous-programmes
Récapitulatif des sous-programmes DBMS_CLOUD_REPO
Cette section traite des sous-programmes DBMS_CLOUD_REPO
fournis avec Autonomous Database.
Le package DBMS_CLOUD_REPO
est composé des éléments suivants :
- Procédure CREATE_BRANCH
Cette procédure crée un branchement dans le référentiel de code cloud identifié par l'argument de descripteurrepo
. - Procédure CREATE_REPOSITORY
Cette procédure crée un référentiel de code cloud identifié par l'argument de descripteurrepo
. - Procédure DELETE_BRANCH
Cette procédure supprime un branchement dans le référentiel de code cloud identifié par l'argument de descripteurrepo
. - Procédure DELETE_FILE
Cette procédure supprime un fichier du référentiel de code cloud identifié par l'argument de descripteurrepo
. - Procédure DELETE_REPOSITORY
Cette procédure supprime le référentiel de code cloud identifié par l'argument de descripteurrepo
. - Procédure EXPORT_OBJECT
Cette procédure télécharge les métadonnées DDL d'un objet de base de données vers le référentiel de code cloud identifié par l'argument de descripteurrepo
. Cette procédure permet de télécharger facilement la définition des métadonnées d'un objet de base de données en une seule étape. - Procédure EXPORT_SCHEMA
Cette procédure exporte les métadonnées de tous les objets d'un schéma vers la branche du référentiel de code cloud identifiée par l'argument de descripteurrepo
. - Procédure et fonction GET_FILE
La fonction télécharge le contenu d'un fichier à partir du référentiel de code cloud. La procédure permet de télécharger le contenu d'un fichier à partir du référentiel de code cloud et d'enregistrer le fichier dans un répertoire. - Fonction INIT_AWS_REPO
Cette fonction initialise un descripteur de référentiel AWS et renvoie un type opaque. - Fonction INIT_AZURE_REPO
Cette fonction initialise un descripteur de référentiel Azure et renvoie un type opaque. Cette fonction est uniquement prise en charge pour le fournisseur cloud Azure. - Fonction INIT_GITHUB_REPO
Cette fonction initialise un descripteur de référentiel GitHub et renvoie un type opaque. - Fonction INIT_REPO
Cette fonction initialise un descripteur de référentiel de code cloud et renvoie un objet JSON opaque. Il s'agit d'une interface générique permettant d'accepter un document JSON. Elle permet d'éviter d'avoir à modifier le code. Il vous suffit de modifier un document JSON lors du déplacement d'un référentiel de code à partir d'un référentiel de code à partir d'un référentiel de code cloud vers un autre référentiel de code cloud. - Procédure INSTALL_FILE
Cette procédure installe des instructions SQL à partir d'un fichier dans le référentiel de code cloud identifié par l'argument de descripteurrepo
. - Procédure INSTALL_SQL
Cette procédure installe des instructions SQL à partir d'un tampon fourni en tant qu'entrée. - Fonction LIST_BRANCHES
Cette fonction répertorie les branches du référentiel de code cloud identifiées par l'argument de descripteurrepo
. - Fonction LIST_COMMITS
Cette fonction répertorie les validations dans le branchement de référentiel de code cloud identifié par l'argument de descripteurrepo
. - LIST_FILES Fonction
Cette fonction télécharge un fichier à partir du référentiel Cloud Code. Vous pouvez également accéder au contenu d'un fichier à partir d'un branchement, d'une balise ou d'un nom de validation spécifique. Par défaut, le fichier est accessible à partir du branche de référentiel par défaut. Les résultats incluent les noms de fichier et les métadonnées supplémentaires relatives aux fichiers. - Fonction LIST_REPOSITORIES
Cette fonction répertorie tous les référentiels de code cloud identifiés par l'argument de descripteurrepo
. Si un nom de référentiel est indiqué pour le descripteurrepo
, la fonction ne limite pas la liste au nom de référentiel indiqué ; elle répertorie tous les référentiels accessibles à l'utilisateur. - Procédure MERGE_BRANCH
Cette procédure fusionne un branchement de référentiel dans un autre branchement indiqué dans le référentiel de code cloud identifié par l'argument de descripteurrepo
. La procédureMERGE_BRANCH
n'est actuellement pas prise en charge dans Azure. - Procédure PUT_FILE
Cette procédure télécharge un fichier vers le référentiel Cloud Code identifié par l'argument de descripteurrepo
. La procédure est surchargée pour prendre en charge le téléchargement d'un fichier à partir d'un objet de répertoire ou le téléchargement du contenu d'un objet BLOB vers le fichier de référentiel. - Procédure UPDATE_REPOSITORY
Cette procédure met à jour un référentiel de code cloud identifié par l'argument de descripteurrepo
. UPDATE_REPOSITORY prend en charge la mise à jour du nom, de la description ou du statut de visibilité privée, comme pris en charge par le référentiel de code cloud.
Rubrique parent : Package DBMS_CLOUD_REPO
CREATE_BRANCH Procédure
Cette procédure crée un branchement dans le référentiel de code cloud identifié par l'argument de descripteur repo
.
Syntaxe
PROCEDURE DBMS_CLOUD_REPO.CREATE_BRANCH
(
repo IN CLOB,
branch_name IN VARCHAR2,
parent_branch_name IN VARCHAR2 DEFAULT NULL,
parent_commit_id IN VARCHAR2 DEFAULT NULL
);
Paramètres
Paramètre | Description |
---|---|
repo |
Indique le descripteur de référentiel. Ce paramètre est obligatoire et pris en charge pour tous les fournisseurs cloud. |
branch_name |
Indique le nom du branchement du référentiel. Ce paramètre est obligatoire et pris en charge pour tous les fournisseurs cloud. |
parent_branch_name |
Crée la nouvelle branche à l'aide de la validation de tête de la branche parent spécifiée. Ce paramètre est pris en charge pour tous les fournisseurs cloud. Si vous n'indiquez pas de valeur |
parent_commit_id |
Crée le nouveau branchement à l'aide de la validation de référentiel indiquée. Ce paramètre est pris en charge pour tous les fournisseurs cloud. Si vous n'indiquez pas de valeur |
Exemple
Pour créer un branchement dans un référentiel de code cloud, vous devez indiquer le branchement parent ou l'ID de validation parent.
BEGIN
DBMS_CLOUD_REPO.CREATE_BRANCH
(
repo => l_repo,
branch_name => 'test_branch',
parent_branch_name => 'main'
);
END;
/
Remarque sur l'utilisation
Pour exécuter la procédure DBMS_CLOUD_REPO.CREATE_BRANCH
, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège EXECUTE
sur DBMS_CLOUD_REPO
.
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_REPO
CREATE_REPOSITORY Procédure
Cette procédure crée un référentiel de code cloud identifié par l'argument de descripteur repo
.
Syntaxe
PROCEDURE DBMS_CLOUD_REPO.CREATE_REPOSITORY
(
repo IN CLOB,
description IN CLOB DEFAULT NULL,
private IN BOOLEAN DEFAULT TRUE
);
Paramètres
Paramètre | Description |
---|---|
repo |
Indique le descripteur de référentiel.
Ce paramètre est pris en charge pour tous les fournisseurs cloud. |
description |
Texte court de description du référentiel.
Ce paramètre est pris en charge pour les fournisseurs cloud GITHUB et AWS. |
private |
Le référentiel est privé et accessible uniquement avec des informations d'identification valides. Ce paramètre est uniquement pris en charge pour le fournisseur de cloud GITHUB. |
Exemple
BEGIN
DBMS_CLOUD_REPO.CREATE_REPOSITORY
(
repo => l_repo,
description => 'My test repo',
private => TRUE
);
END;
/
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_REPO
DELETE_BRANCH Procédure
Cette procédure supprime un branchement dans le référentiel de code cloud identifié par l'argument de descripteur repo
.
Syntaxe
PROCEDURE DBMS_CLOUD_REPO.DELETE_BRANCH
(
repo IN CLOB,
branch_name IN VARCHAR2 DEFAULT NULL
);
Paramètres
Paramètre | Description |
---|---|
repo |
Indique le descripteur de référentiel.
Ce paramètre est obligatoire et pris en charge pour tous les fournisseurs cloud. |
branch_name |
Permet de supprimer le branchement d'un référentiel spécifique.
Ce paramètre est obligatoire et pris en charge pour tous les fournisseurs cloud. |
Exemple
BEGIN
DBMS_CLOUD_REPO.DELETE_BRANCH
(
repo => l_repo,
branch_name => 'test_branch'
);
END;
/
Remarque sur l'utilisation
Pour exécuter la procédure DBMS_CLOUD_REPO.DELETE_BRANCH
, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège EXECUTE
sur DBMS_CLOUD_REPO
.
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_REPO
DELETE_FILE Procédure
Cette procédure supprime un fichier du référentiel de code cloud identifié par l'argument de descripteur repo
.
Syntaxe
PROCEDURE DBMS_CLOUD_REPO.DELETE_FILE
(
repo IN CLOB,
file_path IN VARCHAR2,
branch_name IN VARCHAR2 DEFAULT NULL,
commit_details IN CLOB DEFAULT NULL
);
Paramètres
Paramètre | Description |
---|---|
repo |
Indique le descripteur de référentiel. |
file_path |
Chemin du fichier pour la suppression du fichier dans le référentiel. |
branch_name |
Permet de supprimer le fichier d'un branche spécifique. |
commit_details |
Détails de validation en tant que document JSON {"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } } |
Exemple
BEGIN
DBMS_CLOUD_REPO.DELETE_FILE
(
repo => l_repo,
file_path => 'scripts/test3.sql',
branch_name => 'test_branch'
);
END;
/
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_REPO
DELETE_REPOSITORY Procédure
Cette procédure supprime le référentiel de code cloud identifié par l'argument de descripteur repo
.
Syntaxe
PROCEDURE DBMS_CLOUD_REPO.DELETE_REPOSITORY
(
repo IN CLOB
);
Paramètres
Paramètre | Description |
---|---|
repo |
Indique le descripteur de référentiel. |
Exemple
BEGIN
DBMS_CLOUD_REPO.DELETE_REPOSITORY
(
repo => l_repo
);
END;
/
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_REPO
EXPORT_OBJECT Procédure
Cette procédure télécharge les métadonnées DDL d'un objet de base de données vers le référentiel de code cloud identifié par l'argument de descripteur repo
. Cette procédure permet de télécharger facilement la définition des métadonnées d'un objet de base de données en une seule étape.
Syntaxe
PROCEDURE DBMS_CLOUD_REPO.EXPORT_OBJECT
(
repo IN CLOB,
file_path IN VARCHAR2,
object_type IN VARCHAR2,
object_name IN VARCHAR2 DEFAULT NULL,
object_schema IN VARCHAR2 DEFAULT NULL,
branch_name IN VARCHAR2 DEFAULT NULL,
commit_details IN CLOB DEFAULT NULL,
append IN BOOLEAN DEFAULT FALSE
);
Paramètres
Paramètre | Description |
---|---|
repo |
Indique le descripteur de référentiel. |
file_path |
Chemin du fichier pour le téléchargement des métadonnées d'objet dans le référentiel. |
object_type |
Type d'objet pris en charge par DBMS_METADATA. Pour plus d'informations, reportez-vous à la table des types d'objet DBMS_METADATA :. |
object_name |
Nom de l'objet de base de données duquel extraire les métadonnées. |
object_schema |
Schéma propriétaire de l'objet de base de données. |
branch_name |
Permet de placer le fichier dans une branche spécifique. |
commit_details |
Détails de validation en tant que document JSON : |
append |
Permet d'ajouter les métadonnées DDL à la fin du fichier existant. |
Remarque sur l'utilisation
Pour un contrôle personnalisé sur le DDL d'objet, vous pouvez utiliser DBMS_METADATA.GET_DDL
avec DBMS_CLOUD_REPO.PUT_FILE
. Pour obtenir la définition des métadonnées de l'objet, l'utilisateur en cours doit disposer des privilèges permettant d'extraire les métadonnées d'objet. Reportez-vous à DBMS_METADATA pour connaître les exigences de sécurité du package.
Exemple
BEGIN
DBMS_CLOUD_REPO.EXPORT_OBJECT
(
repo => l_repo,
object_type => 'PACKAGE',
object_name => 'MYPACK',
file_path => 'mypack.sql'
);
END;
/
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_REPO
EXPORT_SCHEMA Procédure
Cette procédure exporte les métadonnées de tous les objets d'un schéma vers la branche du référentiel de code cloud identifiée par l'argument de descripteur repo
.
Syntaxe
PROCEDURE DBMS_CLOUD_REPO.EXPORT_SCHEMA
(
repo IN CLOB,
file_path IN VARCHAR2,
schema_name IN VARCHAR2,
filter_list IN CLOB DEFAULT NULL,
branch_name IN VARCHAR2 DEFAULT NULL,
commit_details IN CLOB DEFAULT NULL
);
Paramètres
Paramètre | Description |
---|---|
repo |
Indique le descripteur de référentiel. Ce paramètre est obligatoire et pris en charge pour tous les fournisseurs cloud. |
file_path |
Spécifie le nom du fichier de schéma à télécharger vers le référentiel. Ce paramètre est obligatoire et pris en charge pour tous les fournisseurs cloud. |
schema_name |
Spécifie le nom du schéma pour lequel un script DDL doit être téléchargé vers la branche du référentiel de code cloud. Ce paramètre est obligatoire et pris en charge pour tous les fournisseurs cloud. |
filter_list |
Spécifie l'objet CLOB du tableau JSON qui définit les conditions de filtre pour inclure ou exclure les objets dont les métadonnées doivent être exportées. Ce paramètre est pris en charge pour tous les fournisseurs cloud. Les paramètres JSON pour
filter_list sont les suivants :
|
branch_name |
Indique le nom du branchement du référentiel. Ce paramètre est pris en charge pour tous les fournisseurs cloud. Si vous n'indiquez pas de valeur |
commit_details |
Détails de validation en tant que document JSON {"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } } Ce paramètre est pris en charge pour tous les fournisseurs cloud. Si vous n'indiquez pas de valeur |
Exemple
BEGIN
DBMS_CLOUD_REPO.EXPORT_SCHEMA
(
repo => l_repo,
schema_name => 'USER1',
file_path => 'myschema_ddl.sql'
filter_list =>
to_clob('[
{ "match_type":"equal",
"type":"table"
},
{ "match_type":"not_equal",
"type":"view"
},
{ "match_type":"in",
"type":"table",
"name": " ''EMPLOYEE_SALARY'',''EMPLOYEE_ADDRESS'' "
},
{ "match_type":"equal",
"type":"sequence",
"name": "EMPLOYEE_RECORD_SEQ"
},
{ "match_type":"like",
"type":"table",
"name": "%OFFICE%"
}
]'
);
);
END;
/
Remarque sur l'utilisation
Pour exécuter la procédure DBMS_CLOUD_REPO.EXPORT_SCHEMA
, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège EXECUTE
sur DBMS_CLOUD_REPO
.
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_REPO
GET_FILE Procédure et fonction
La fonction télécharge le contenu d'un fichier à partir du référentiel Cloud Code. La procédure permet de télécharger le contenu d'un fichier à partir du référentiel de code cloud et d'enregistrer le fichier dans un répertoire.
Syntaxe
FUNCTION DBMS_CLOUD_REPO.GET_FILE
(
repo IN CLOB,
file_path IN VARCHAR2,
branch_name IN VARCHAR2 DEFAULT NULL,
tag_name IN VARCHAR2 DEFAULT NULL,
commit_name IN VARCHAR2 DEFAULT NULL
) RETURN CLOB;
PROCEDURE DBMS_CLOUD_REPO.GET_FILE
(
repo IN CLOB,
file_path IN VARCHAR2,
directory_name IN VARCHAR2,
target_file_name IN VARCHAR2 DEFAULT NULL,
branch_name IN VARCHAR2 DEFAULT NULL,
tag_name IN VARCHAR2 DEFAULT NULL,
commit_name IN VARCHAR2 DEFAULT NULL
);
Paramètres
Paramètre | Description |
---|---|
repo |
Indique le descripteur de référentiel. |
file_path |
Chemin du fichier dans le référentiel. |
directory_name |
Nom de l'objet de répertoire pour enregistrer le contenu du fichier. |
target_file_name |
Nom du fichier cible pour enregistrer le contenu dans le répertoire. |
branch_name |
Permet d'obtenir un fichier à partir d'un branchement spécifique. |
tag_name |
Permet d'obtenir un fichier à partir d'une balise spécifique. |
commit_name |
Permet d'obtenir un fichier à partir d'une validation spécifique. |
Exemple
BEGIN
DBMS_CLOUD_REPO.GET_FILE
(
repo => l_repo,
file_path => 'test3.sql',
directory_name => 'DATA_PUMP_DIR',
target_file_name => 'test2.sql'
);
END;
/
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_REPO
Fonction INIT_AWS_REPO
Cette fonction initialise un descripteur de référentiel AWS et renvoie un type opaque.
Syntaxe
FUNCTION DBMS_CLOUD_REPO.INIT_AWS_REPO
(
credential_name IN VARCHAR2,
repo_name IN VARCHAR2,
region IN VARCHAR2
) RETURN repo;
Paramètres
Paramètre | Description |
---|---|
credential_name |
Objet d'informations d'identification indiquant la clé d'accès/clé secrète AWS CodeCommit. |
repo_name |
Indique le nom du référentiel. |
region |
Indique la région AWS du référentiel CodeCommit. |
Exemple
BEGIN
:repo := DBMS_CLOUD_REPO.INIT_AWS_REPO
(
credential_name => 'AWS_CRED',
repo_name => 'my_repo',
region => 'us-east-1'
);
END;
/
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_REPO
Fonction INIT_AZURE_REPO
Cette fonction initialise un descripteur de référentiel Azure et renvoie un type opaque. Cette fonction est uniquement prise en charge pour le fournisseur cloud Azure.
Syntaxe
FUNCTION DBMS_CLOUD_REPO.INIT_AZURE_REPO
(
credential_name IN VARCHAR2,
repo_name IN VARCHAR2,
organization IN VARCHAR2,
project IN VARCHAR2
) RETURN repo;
Paramètres
Paramètre | Description |
---|---|
credential_name |
Objet d'informations d'identification indiquant Azure, avec un nom utilisateur et un jeton d'accès personnel. |
repo_name |
Indique le nom du référentiel. |
organization |
Indique l'organisation Azure DevOps. |
project |
Nom du projet d'équipe Azure. |
Exemple
BEGIN
:repo := DBMS_CLOUD_REPO.INIT_AZURE_REPO
(
credential_name => 'AZURE_CRED',
repo_name => 'my_repo',
organization => 'myorg',
project => 'myproj',
);
END;
/
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_REPO
Fonction INIT_GITHUB_REPO
Cette fonction initialise un descripteur de référentiel GitHub et renvoie un type opaque.
Syntaxe
FUNCTION DBMS_CLOUD_REPO.INIT_GITHUB_REPO
(
credential_name IN VARCHAR2 DEFAULT NULL,
repo_name IN VARCHAR2,
owner IN VARCHAR2)
RETURN repo;
Paramètres
Paramètre | Description |
---|---|
credential_name |
Objet d'informations d'identification indiquant GitHub. Courriel de l'utilisateur et jeton d'accès personnel. |
repo_name |
Indique le nom du référentiel. |
owner |
Indique le propriétaire du référentiel. |
Exemple
BEGIN
:repo := DBMS_CLOUD_REPO.INIT_GITHUB_REPO
(
credential_name => 'GITHUB_CRED',
repo_name => 'my_repo',
owner => 'foo'
);
END;
/
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_REPO
Fonction INIT_REPO
Cette fonction initialise un descripteur de référentiel de code cloud et renvoie un objet JSON opaque. Il s'agit d'une interface générique permettant d'accepter un document JSON. Elle permet d'éviter d'avoir à modifier le code. Il vous suffit de modifier un document JSON lors du déplacement d'un référentiel de code à partir d'un référentiel de code à partir d'un référentiel de code cloud vers un autre référentiel de code cloud.
Syntaxe
FUNCTION DBMS_CLOUD_REPO.INIT_REPO
(
params IN CLOB)
RETURN CLOB;
Paramètres
Paramètre JSON | Description |
---|---|
provider |
Fournisseur de référentiel de code cloud parmi les suivants : DBMS_CLOUD_REPO.GITHUB_REPO ('GITHUB') DBMS_CLOUD_REPO.AWS_REPO ('AWS') DBMS_CLOUD_REPO.AZURE_REPO ('AZURE') |
repo_name |
Indique le nom du référentiel. DBMS_CLOUD_REPO.PARAM_REPO_NAME |
owner |
GitHub Propriétaire de référentiel : DBMS_CLOUD_REPO.PARAM_OWNER Ce paramètre s'applique uniquement au fournisseur cloud GitHub. |
region |
Région de référentiel AWS : DBMS_CLOUD_REPO_PARAM_REGION Ce paramètre s'applique uniquement au fournisseur cloud AWS. |
organization |
Organisation Azure : DBMS_CLOUD_REPO_PARAM_ORGANIZATION Ce paramètre s'applique uniquement au fournisseur cloud Azure. |
project |
Projet d'équipe Azure :DBMS_CLOUD_REPO_PARAM_PROJECT Ce paramètre s'applique uniquement au fournisseur cloud Azure. |
Exemple
BEGIN
:repo := DBMS_CLOUD_REPO.INIT_REPO
(
params => JSON_OBJECT('credential_name' value 'mycred',
'repo_name' value 'myrepo',
'repo_owner' value 'foo')
);
END;
/
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_REPO
INSTALL_FILE Procédure
Cette procédure installe des instructions SQL à partir d'un fichier dans le référentiel de code cloud identifié par l'argument de descripteur repo
.
Syntaxe
PROCEDURE DBMS_CLOUD_REPO.INSTALL_FILE
(
repo IN CLOB,
file_path IN VARCHAR2,
branch_name IN VARCHAR2 DEFAULT NULL,
tag_name IN VARCHAR2 DEFAULT NULL,
commit_name IN VARCHAR2 DEFAULT NULL,
stop_on_error IN BOOLEAN DEFAULT TRUE
);
Paramètres
Paramètre | Description |
---|---|
repo |
Indique le descripteur de référentiel. |
file_path |
Chemin du fichier dans le référentiel. |
branch_name |
Branch pour installer un fichier à partir d'un branchement spécifique. |
tag_name |
Balise pour installer un fichier à partir d'une balise spécifique. |
commit_name |
ID de validation pour installer un fichier à partir d'une validation spécifique. |
stop_on_error |
Arrête l'exécution des instructions SQL à la première erreur. |
Notes d'utilisation
-
Vous pouvez installer des instructions SQL contenant du code SQL imbriqué à partir d'un fichier de référentiel de code cloud à l'aide des éléments suivants :
-
@
: inclut un fichier SQL avec un chemin relatif vers la racine du référentiel. -
@@
: inclut un fichier SQL avec un chemin relatif au fichier en cours.
-
-
Les scripts sont conçus en tant que scripts d'installation de schéma et non en tant que scripts SQL génériques :
- Les scripts ne peuvent pas contenir de commandes propres au client SQL*Plus.
- Ils ne peuvent pas contenir de variables attachées ni de scripts paramétrés.
- Les instructions SQL doivent se terminer par une barre oblique sur une nouvelle ligne (/).
- Les scripts peuvent contenir des instructions DDL et DML PLSQL, mais les instructions
SELECT
directes ne sont pas prises en charge. L'utilisation de l'instruction SELECT dans un bloc PL/SQL est prise en charge.
Les instructions SQL pouvant être exécutées à l'aide de la commande
EXECUTE IMMEDIATE
fonctionnent si elles ne contiennent pas de variables attachées ou de définitions.
Exemple
BEGIN
DBMS_CLOUD_REPO.INSTALL_FILE
(
repo => l_repo,
file_path => 'test3.sql',
stop_on_error => FALSE
);
END;
/
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_REPO
INSTALL_SQL Procédure
Cette procédure installe des instructions SQL à partir d'un tampon fourni en tant qu'entrée.
Syntaxe
PROCEDURE DBMS_CLOUD_REPO.INSTALL_SQL
(
content IN CLOB,
stop_on_error IN BOOLEAN DEFAULT TRUE
);
Paramètres
Paramètre | Descriptions |
---|---|
content |
Objet CLOB contenant les instructions SQL à exécuter. |
stop_on_error |
Arrête l'exécution des instructions SQL à la première erreur. |
Notes d'utilisation
-
Les scripts sont conçus en tant que scripts d'installation de schéma et non en tant que scripts SQL génériques :
- Les scripts ne peuvent pas contenir de commandes propres au client SQL*Plus.
- Ils ne peuvent pas contenir de variables attachées ni de scripts paramétrés.
- Les instructions SQL doivent se terminer par une barre oblique sur une nouvelle ligne (/).
- Les scripts peuvent contenir des instructions DDL et DML PLSQL, mais les instructions
SELECT
directes ne sont pas prises en charge. L'utilisation de l'instruction SELECT dans un bloc PL/SQL est prise en charge.
Les instructions SQL pouvant être exécutées à l'aide de la commande
EXECUTE IMMEDIATE
fonctionnent si elles ne contiennent pas de variables attachées ou de définitions.
Exemple
BEGIN
DBMS_CLOUD_REPO.INSTALL_SQL
(
content => 'create table t1 (x varchar2(30))' || CHR(10) || '/',
stop_on_error => FALSE
);
END;
/
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_REPO
Fonction LIST_BRANCHES
Cette fonction répertorie les branches de la branche du référentiel de code cloud identifiées par l'argument de descripteur repo
.
Syntaxe
FUNCTION DBMS_CLOUD_REPO.LIST_BRANCHES
(
repo IN CLOB
) RETURN list_branch_ret_tab PIPELINED PARALLEL_ENABLE;
Paramètres
Paramètre | Description |
---|---|
repo |
Indique le descripteur de référentiel.
Ce paramètre est obligatoire et pris en charge pour tous les fournisseurs cloud. |
Exemple
SELECT * FROM DBMS_CLOUD_REPO.LIST_BRANCHES
(repo => l_repo);
Notes d'utilisation
-
Il s'agit d'une fonction de table pipeline dont le type de valeur renvoyée est
list_branch_ret_tab.
-
DBMS_CLOUD_REPO.LIST_BRANCHES
renvoie la colonnename
, qui indique le nom de la branche du référentiel de code cloud.
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_REPO
Fonction LIST_COMMITS
Cette fonction répertorie les validations dans la branche du référentiel de code cloud identifiée par l'argument de descripteur repo
.
Syntaxe
FUNCTION DBMS_CLOUD_REPO.LIST_COMMITS
(
repo IN CLOB,
branch_name IN VARCHAR2 DEFAULT NULL,
file_path IN VARCHAR2 DEFAULT NULL,
commit_id IN VARCHAR2 DEFAULT NULL
) RETURN list_commit_ret_tab PIPELINED PARALLEL_ENABLE;
Paramètres
Paramètre | Description |
---|---|
repo |
Indique le descripteur de référentiel.
Ce paramètre est obligatoire et pris en charge pour tous les fournisseurs cloud. |
branch_name |
Répertorie les validations à partir d'un branchement spécifique.
Ce paramètre est pris en charge pour tous les fournisseurs cloud. Si vous n'indiquez pas de valeur |
file_path |
Répertorie les fichiers sous le chemin du sous-dossier indiqué dans le référentiel.
Ce paramètre est uniquement pris en charge pour les fournisseurs de cloud Git et Azure. Si vous n'indiquez pas de valeur |
commit_id |
Répertorier les fichiers à partir du fichier sha/id indiquéCe paramètre est pris en charge pour tous les fournisseurs cloud. Si vous n'indiquez pas de valeur |
Exemple
SELECT name FROM DBMS_CLOUD_REPO.LIST_COMMITS
(repo => l_repo);
Exemple
SELECT name FROM DBMS_CLOUD_REPO.LIST_COMMITS
(
repo => l_repo,
commit_id => '66dd2b23b74cd0afabd11af66c6aa9c550540ba6',
file_path => 'sub_dir/test11.sql'
);
Notes d'utilisation
-
Il s'agit d'une fonction de table pipeline dont le type de valeur renvoyée est
list_commit_ret_tab.
-
DBMS_CLOUD_REPO.LIST_COMMITS
renvoie la colonne :commit_id
.
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_REPO
Fonction LIST_FILES
Cette fonction télécharge un fichier à partir du référentiel de code cloud. Vous pouvez également accéder au contenu d'un fichier à partir d'un branchement, d'une balise ou d'un nom de validation spécifique. Par défaut, le fichier est accessible à partir du branche de référentiel par défaut. Les résultats incluent les noms de fichier et les métadonnées supplémentaires relatives aux fichiers.
Syntaxe
FUNCTION DBMS_CLOUD_REPO.LIST_FILES
(
repo IN CLOB,
path IN VARCHAR2 DEFAULT NULL,
branch_name IN VARCHAR2 DEFAULT NULL,
tag_name IN VARCHAR2 DEFAULT NULL,
commit_id IN VARCHAR2 DEFAULT NULL
) RETURN list_file_ret_tab PIPELINED PARALLEL_ENABLE;
Paramètres
Paramètre | Description |
---|---|
repo |
Indique le descripteur de référentiel. |
path |
Répertorie les fichiers sous le chemin du sous-dossier indiqué dans le référentiel. |
branch_name |
Répertorie les fichiers à partir d'un branche spécifique. |
tag_name |
Répertorie les fichiers à partir d'une balise spécifique. |
commit_name |
Répertorie les fichiers à partir d'une validation spécifique. |
Notes d'utilisation
-
Il s'agit d'une fonction de table en pipeline dont le type de retour est
list_file_ret_tab.
-
DBMS_CLOUD_REPO.LIST_FILES
renvoie les colonnesid
,name
,url
etbytes
.
Exemple
SELECT name FROM DBMS_CLOUD_REPO.LIST_FILES
(repo => l_repo);
NAME
-------------------------
test3.sql
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_REPO
Fonction LIST_REPOSITORIES
Cette fonction répertorie tous les référentiels de code cloud identifiés par l'argument de descripteur repo
. Si un nom de référentiel est indiqué pour le descripteur repo
, la fonction ne limite pas la liste au nom de référentiel indiqué ; elle répertorie tous les référentiels accessibles à l'utilisateur.
Syntaxe
FUNCTION DBMS_CLOUD_REPO.LIST_REPOSITORIES
(
repo IN CLOB
) RETURN list_repo_ret_tab PIPELINED PARALLEL_ENABLE;
Paramètres
Paramètre | Description |
---|---|
repo |
Indique le descripteur de référentiel. Tous les fournisseurs cloud prennent en charge ce paramètre. |
Notes d'utilisation
-
Il s'agit d'une fonction de table en pipeline dont le type de retour est
list_repo_ret_tab.
-
DBMS_CLOUD_REPO.LIST_REPOSITORIES
renvoie les colonnesid
,name
,owner
,description
,private
,url
,bytes
,created
etlast_modified
.
Exemple
SELECT name description FROM DBMS_CLOUD_REPO.LIST_REPOSITORIES
(:repo);
NAME DESCRIPTION
--------------------- ---------------
TestRepo1 My test repo
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_REPO
MERGE_BRANCH Procédure
Cette procédure fusionne un branchement de référentiel dans un autre branchement spécifié dans le référentiel de code cloud identifié par l'argument de descripteur repo
. La procédure MERGE_BRANCH
n'est actuellement pas prise en charge dans Azure.
Syntaxe
PROCEDURE DBMS_CLOUD_REPO.MERGE_BRANCH
(
repo IN CLOB,
branch_name IN VARCHAR2,
parent_branch_name IN VARCHAR2 DEFAULT NULL,
commit_details IN CLOB DEFAULT NULL
);
Paramètres
Paramètre | Description |
---|---|
repo |
Indique le descripteur de référentiel. Ce paramètre est obligatoire et pris en charge pour les fournisseurs de cloud GITHUB et AWS. |
branch_name |
Spécifie le nom du branchement Git à fusionner. Ce paramètre est obligatoire et pris en charge pour tous les fournisseurs cloud. |
target_branch_name |
Spécifie le nom du branchement cible dans lequel effectuer la fusion. Ce paramètre est obligatoire et pris en charge pour tous les fournisseurs cloud. |
commit_details |
Détails de validation en tant que document JSON {"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } } Si vous n'indiquez pas de valeur |
Exemple
BEGIN
DBMS_CLOUD_REPO.MERGE_BRANCH
(
repo => l_repo,
branch_name => 'test_branch',
target_branch_name => 'main'
);
END;
/
Remarque sur l'utilisation
Pour exécuter la procédure DBMS_CLOUD_REPO.MERGE_BRANCH
, vous devez être connecté en tant qu'utilisateur ADMIN ou disposer du privilège EXECUTE
sur DBMS_CLOUD_REPO
.
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_REPO
PUT_FILE Procédure
Cette procédure télécharge un fichier vers le référentiel de code cloud identifié par l'argument de descripteur repo
. La procédure est surchargée pour prendre en charge le téléchargement d'un fichier à partir d'un objet de répertoire ou le téléchargement du contenu d'un objet BLOB vers le fichier de référentiel.
Syntaxe
PROCEDURE DBMS_CLOUD_REPO.PUT_FILE
(
repo IN CLOB,
file_path IN VARCHAR2,
contents IN BLOB,
branch_name IN VARCHAR2 DEFAULT NULL,
commit_details IN CLOB DEFAULT NULL
);
PROCEDURE DBMS_CLOUD_REPO.PUT_FILE
(
repo IN CLOB,
file_path IN VARCHAR2,
directory_name IN VARCHAR2,
source_file_name IN VARCHAR2 DEFAULT NULL,
branch_name IN VARCHAR2 DEFAULT NULL,
commit_details IN CLOB DEFAULT NULL
);
Paramètres
Paramètre | Description |
---|---|
repo |
Indique le descripteur de référentiel. |
file_path |
Chemin de fichier pour le téléchargement d'un fichier dans le référentiel. |
contents |
Objet BLOB avec le contenu du fichier. |
directory_name |
Nom de l'objet de répertoire contenant le nom du fichier. |
source_file_name |
Nom du fichier source à télécharger vers le référentiel. |
branch_name |
Permet de placer le fichier dans une branche spécifique. |
commit_details |
Détails de validation en tant que document JSON : {"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } } |
Exemple
BEGIN
DBMS_CLOUD_REPO.PUT_FILE
(
repo => l_repo,
);
END;
/
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_REPO
UPDATE_REPOSITORY Procédure
Cette procédure met à jour un référentiel de code cloud identifié par l'argument de descripteur repo
. UPDATE_REPOSITORY prend en charge la mise à jour du nom, de la description ou du statut de visibilité privée, comme pris en charge par le référentiel de code cloud.
Syntaxe
PROCEDURE DBMS_CLOUD_REPO.UPDATE_REPOSITORY
(
repo IN OUT CLOB,
new_name IN VARCHAR2 DEFAULT NULL,
description IN CLOB DEFAULT NULL,
private IN BOOLEAN DEFAULT NULL
);
Paramètres
Paramètre | Description |
---|---|
repo |
Indique le descripteur de référentiel.
Ce paramètre est pris en charge pour tous les fournisseurs cloud. |
new_name |
Nouveau nom du référentiel.
Ce paramètre est pris en charge pour tous les fournisseurs cloud. |
description |
Texte court de description du référentiel.
Ce paramètre est pris en charge pour les fournisseurs de cloud GITHUB et AWS. |
private |
Le référentiel est privé et accessible uniquement avec des informations d'identification valides. Ce paramètre est pris en charge pour le fournisseur cloud GITHUB. |
Exemple
BEGIN
DBMS_CLOUD_REPO.UPDATE_REPOSITORY
(
repo => l_repo,
new_name => 'repo2'
);
END;
/
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_REPO