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 dans le cloud à partir d'Oracle Database. Les référentiels de code cloud pris en charge incluent GitHub, AWS CodeCommit et Azure Repos.
- Présentation de DBMS_CLOUD_REPO
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
. - DBMS_CLOUD_REPO Groupes de sous-programmes
Les sous-programmes de 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 sur les fichiers et opérations d'installation SQL. - Récapitulatif des sous-programmes DBMS_CLOUD_REPO
Cette section couvre les sous-programmesDBMS_CLOUD_REPO
fournis avec Autonomous Database.
Rubrique parent : Référence de package fourni avec Autonomous Database
DBMS_CLOUD_REPO Présentation
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. Il permet de télécharger des fichiers SQL vers les référentiels Git ou d'installer des scripts SQL directement à partir des référentiels de code cloud. Ce package vous permet également d'utiliser un référentiel de code cloud pour gérer les versions de code des scripts SQL et pour installer ou appliquer des patches au code d'application à partir des référentiels Git.
Concepts
-
Système de contrôle de version Git : Git est un logiciel de suivi des modifications dans n'importe quel ensemble de fichiers, généralement utilisé pour coordonner le travail entre les programmeurs en développant de manière collaborative du code source pendant le développement de logiciels. Ses objectifs incluent la vitesse, l'intégrité des données et la prise en charge des workflows distribués et non linéaires.
-
Git Repository : 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 si nécessaire.
Architecture
DBMS_CLOUD_REPO
fournit quatre domaines de fonctionnalités :
-
Initialisation du référentiel avec le descripteur de référentiel de code cloud générique
-
Initialiser un référentiel de code GitHub
-
Initialiser 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
-
Mettez à jour un référentiel
-
Etablissement de listes de référentiels
-
Supprimer un référentiel
-
-
Opérations de gestion de fichiers de référentiel
-
Téléchargez un fichier vers le référentiel de code à partir d'Oracle Database.
-
Téléchargez un fichier du référentiel de code vers Oracle Database.
-
Supprimez des fichiers du référentiel de code.
-
Répertoriez les fichiers du référentiel de code.
-
-
Opérations d'installation SQL
- Exportez le DDL de métadonnées d'objet de base de données vers le référentiel.
-
Installez les instructions SQL à partir d'un fichier du référentiel de code dans Oracle Database.
-
Installez les 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 des types d'enregistrement et un type d'objet JSON générique repo
.
Objet JSON REPO
Un objet DBMS_CLOUD_REPO
REPO
est un objet JSON opaque qui représente un 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 fonctions DBMS_CLOUD_REPO
sont compatibles multicloud. Vous n'avez pas à modifier de code lorsque vous migrez 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 de 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 Initialization Operations
Répertorie les sous-programmes des opérations d'initialisation dans le packageDBMS_CLOUD_REPO
. - DBMS_CLOUD_REPO Repository Management Operations
Affiche les sous-programmes des 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 des opérations de gestion de branchement de référentiel dans le packageDBMS_CLOUD_REPO
. - DBMS_CLOUD_REPO Opérations de fichier
Répertorie les sous-programmes des opérations de fichier dans le packageDBMS_CLOUD_REPO
. - DBMS_CLOUD_REPO Opérations d'installation SQL
Répertorie les sous-programmes des 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 : Groupes de sous-programmes DBMS_CLOUD_REPO
DBMS_CLOUD_REPO Opérations de gestion de référentiel
Affiche les sous-programmes des 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, tel que pris en charge par le référentiel de code cloud.
|
Rubrique parent : Groupes de sous-programmes DBMS_CLOUD_REPO
DBMS_CLOUD_REPO Opérations de gestion des branches du référentiel
Répertorie les sous-programmes des opérations de gestion de branchement de référentiel dans le package DBMS_CLOUD_REPO
.
Sous-programme | Description |
---|---|
Cette procédure crée une branche 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 descripteur repo .
|
|
Cette fonction répertorie toutes les validations d'une branche Cloud Code Repository identifiée par l'argument de descripteur repo .
|
|
Cette procédure fusionne un branchement Cloud Code Repository dans un autre branchement spécifié dans un référentiel Cloud Code identifié par l'argument de descripteur repo .
|
Rubrique parent : Groupes de sous-programmes DBMS_CLOUD_REPO
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 de code cloud. La procédure vous 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 éventuellement accéder au contenu du 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 branchement 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 répertoire ou le téléchargement du contenu d'un objet CLOB vers le fichier référentiel.
|
Rubrique parent : Groupes de sous-programmes DBMS_CLOUD_REPO
DBMS_CLOUD_REPO Opérations d'installation SQL
Répertorie les sous-programmes des opérations d'installation SQL dans le package DBMS_CLOUD_REPO
.
Sous-programme | Description |
---|---|
Cette procédure télécharge les métadonnées LDD 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 un branchement de référentiel de code cloud identifié par l'argument de descripteur repo .
|
|
Cette procédure installe les instructions SQL à partir d'un fichier du référentiel de code cloud identifié par l'argument de descripteur repo .
|
|
Cette procédure installe les instructions SQL à partir d'un tampon donné en entrée. |
Rubrique parent : Groupes de sous-programmes DBMS_CLOUD_REPO
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
se compose 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
. - EXPORT_OBJECT Procédure
Cette procédure télécharge les métadonnées LDD 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 de 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 le branchement Cloud Code Repository identifié par l'argument de descripteurrepo
. - GET_FILE Procédure et fonction
La fonction télécharge le contenu d'un fichier à partir du référentiel de code cloud. La procédure vous 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. - INIT_AWS_REPO Fonction
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. - INIT_REPO Fonction
Cette fonction initialise un descripteur de référentiel de code cloud et renvoie un objet JSON opaque. Cette fonction est une interface générique permettant d'accepter un document JSON. Elle évite d'avoir à modifier le code. Vous n'avez qu'à modifier un document JSON lorsque vous déplacez un référentiel de code 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 les instructions SQL à partir d'un fichier du référentiel de code cloud identifié par l'argument de descripteurrepo
. - Procédure INSTALL_SQL
Cette procédure installe les instructions SQL à partir d'une mémoire tampon fournie en entrée. - LIST_BRANCHES Fonction
Cette fonction répertorie les branches du branchement Cloud Code Repository identifiées par l'argument de descripteurrepo
. - Fonction LIST_COMMITS
Cette fonction répertorie les validations dans la branche Cloud Code Repository identifiée par l'argument de descripteurrepo
. - LIST_FILES Fonction
Cette fonction télécharge un fichier à partir du référentiel Cloud Code. Vous pouvez éventuellement accéder au contenu du 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 branchement de référentiel par défaut. Les résultats incluent les noms de fichier et les métadonnées supplémentaires sur les 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 spécifié 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. - MERGE_BRANCH Procédure
Cette procédure fusionne un branchement de référentiel en un autre branchement spécifié 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 de code cloud 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 répertoire ou le téléchargement du contenu d'un objet BLOB vers le fichier 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
Procédure CREATE_BRANCH
Cette procédure crée une branche 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 la tête de la branche parent indiquée. Ce paramètre est pris en charge pour tous les fournisseurs cloud. Si vous ne fournissez 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
Procédure CREATE_REPOSITORY
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 |
Description courte du référentiel.
Ce paramètre est pris en charge pour GITHUB et le fournisseur cloud 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 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
Procédure DELETE_BRANCH
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 |
Supprimez 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
Procédure DELETE_FILE
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 d'accès au fichier à supprimer dans le référentiel. |
branch_name |
Supprimez le fichier d'un branchement spécifique. |
commit_details |
Valider les détails 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
Procédure DELETE_REPOSITORY
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
Procédure EXPORT_OBJECT
Cette procédure télécharge les métadonnées LDD 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 de 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 permettant de télécharger les 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 à DBMS_METADATA : table Types d'objet. |
object_name |
Nom de l'objet de base de données pour extraire les métadonnées. |
object_schema |
Schéma propriétaire de l'objet de base de données. |
branch_name |
Placez le fichier dans une branche spécifique. |
commit_details |
Détails de validation en tant que document JSON : |
append |
Ajoutez le script DDL de métadonnées au 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 nécessaires pour extraire les métadonnées de l'objet. Reportez-vous à la page 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
Procédure EXPORT_SCHEMA
Cette procédure exporte les métadonnées de tous les objets d'un schéma vers la branche Cloud Code Repository 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 |
Indique 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 |
Indique le nom du schéma pour lequel un script LDD doit être téléchargé vers la branche Cloud Code Repository. Ce paramètre est obligatoire et pris en charge pour tous les fournisseurs cloud. |
filter_list |
Spécifie le 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 :
|
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 |
Valider les détails 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 de code cloud. La procédure vous 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 d'accès au 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 |
Obtenir le fichier à partir d'une branche spécifique. |
tag_name |
Obtenir le fichier à partir d'une balise spécifique. |
commit_name |
Obtenir le 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 |
Spécifie la région AWS pour le 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 (PAT). |
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. Email de l'utilisateur et jeton d'accès personnel (PAT). |
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. Cette fonction est une interface générique permettant d'accepter un document JSON. Elle évite d'avoir à modifier le code. Vous n'avez qu'à modifier un document JSON lorsque vous déplacez un référentiel de code 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 à partir des éléments 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 du 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 est uniquement applicable au fournisseur cloud Azure. |
project |
Projet d'équipe Azure DBMS_CLOUD_REPO_PARAM_PROJECT Ce paramètre est uniquement applicable 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
Procédure INSTALL_FILE
Cette procédure installe les instructions SQL à partir d'un fichier du 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 d'accès au référentiel. |
branch_name |
Branchement pour installer le fichier à partir d'un branchement spécifique. |
tag_name |
Balise permettant d'installer un fichier à partir d'une balise spécifique. |
commit_name |
ID de validation pour installer le fichier à partir d'une validation spécifique. |
stop_on_error |
Arrêtez d'exécuter les instructions SQL lors de la première erreur. |
Notes d'utilisation
-
Vous pouvez installer des instructions SQL contenant des instructions SQL imbriquées à 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 le ROOT du référentiel. -
@@
: inclut un fichier SQL avec un chemin relatif au fichier en cours.
-
-
Les scripts sont conçus comme des scripts d'installation de schéma et non comme des scripts SQL génériques :
- Les scripts ne peuvent pas contenir de commandes propres au client SQL*Plus.
- Les scripts ne peuvent pas contenir de variables attachées ou 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 PLSQL LDD et LMD, mais les instructions
SELECT
directes ne sont pas prises en charge. L'utilisation de SELECT dans un bloc PL/SQL est prise en charge.
Toute instruction SQL qui peut être exécutée à l'aide de
EXECUTE IMMEDIATE
fonctionnera si elle ne contient 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
Procédure INSTALL_SQL
Cette procédure installe les instructions SQL à partir d'un tampon donné en 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êtez d'exécuter les instructions SQL lors de la première erreur. |
Notes d'utilisation
-
Les scripts sont conçus comme des scripts d'installation de schéma et non comme des scripts SQL génériques :
- Les scripts ne peuvent pas contenir de commandes propres au client SQL*Plus.
- Les scripts ne peuvent pas contenir de variables attachées ou 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 PLSQL LDD et LMD, mais les instructions
SELECT
directes ne sont pas prises en charge. L'utilisation de SELECT dans un bloc PL/SQL est prise en charge.
Toute instruction SQL qui peut être exécutée à l'aide de
EXECUTE IMMEDIATE
fonctionnera si elle ne contient 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 du branchement Cloud Code Repository 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
-
Fonction de table alignée avec le type de retour
list_branch_ret_tab.
-
DBMS_CLOUD_REPO.LIST_BRANCHES
renvoie la colonnename
, qui indique le nom de la branche Cloud Code Repository.
Rubrique parent : Récapitulatif des sous-programmes DBMS_CLOUD_REPO
Fonction LIST_COMMITS
Cette fonction répertorie les validations dans la branche Cloud Code Repository 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épertorier les validations d'une branche spécifique.
Ce paramètre est pris en charge pour tous les fournisseurs cloud. Si vous ne fournissez pas de valeur |
file_path |
Répertoriez les fichiers sous le chemin de sous-dossier spécifié dans le référentiel.
Ce paramètre est uniquement pris en charge pour les fournisseurs 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 alignée avec un type de retour
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 éventuellement accéder au contenu du 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 branchement de référentiel par défaut. Les résultats incluent les noms de fichier et les métadonnées supplémentaires sur les 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épertoriez les fichiers sous le chemin de sous-dossier spécifié dans le référentiel. |
branch_name |
Répertoriez les fichiers d'une branche spécifique. |
tag_name |
Répertoriez les fichiers à partir d'une balise spécifique. |
commit_name |
Répertoriez les fichiers à partir d'une validation spécifique. |
Notes d'utilisation
-
Fonction de table alignée avec le type de retour
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 spécifié 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. Ce paramètre est pris en charge par tous les fournisseurs cloud. |
Notes d'utilisation
-
Fonction de table alignée avec le type de retour
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
Procédure MERGE_BRANCH
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 cloud GITHUB et AWS. |
branch_name |
Indique le nom de branchement Git à fusionner. Ce paramètre est obligatoire et pris en charge pour tous les fournisseurs cloud. |
target_branch_name |
Indique le nom du branchement cible vers lequel effectuer la fusion. Ce paramètre est obligatoire et pris en charge pour tous les fournisseurs cloud. |
commit_details |
Valider les détails en tant que document JSON {"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } } Si vous ne fournissez 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
Procédure PUT_FILE
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 répertoire ou le téléchargement du contenu d'un objet BLOB vers le fichier 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 d'accès au fichier de téléchargement dans le référentiel. |
contents |
BLOB contenant 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 |
Placez le fichier dans une branche spécifique. |
commit_details |
Valider les détails 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
Procédure UPDATE_REPOSITORY
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 |
Description courte 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 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