Pacchetto DBMS_CLOUD_REPO
Il package DBMS_CLOUD_REPO
consente di utilizzare e gestire i repository di codici ospitati nel cloud da Oracle Database. I repository di codici cloud supportati includono GitHub, AWS CodeCommit e Azure Repos.
- DBMS_CLOUD_REPO Panoramica
Il pacchettoDBMS_CLOUD_REPO
fornisce un facile accesso ai file nei repository Cloud Code (Git), tra cui: GitHub, AWS CodeCommit e Azure Repos. - DBMS_CLOUD_REPO Strutture dati
Il packageDBMS_CLOUD_REPO
definisce i tipi di record e un tipo di oggetto JSON genericorepo
. - DBMS_CLOUD_REPO Gruppi di sottoprogrammi
I sottoprogrammi del packageDBMS_CLOUD_REPO
possono essere raggruppati in quattro categorie: Operazioni di inizializzazione, Operazioni di gestione del repository, Operazioni di file e Operazioni di installazione SQL. - Riepilogo dei sottoprogrammi DBMS_CLOUD_REPO
In questa sezione vengono descritti i sottoprogrammiDBMS_CLOUD_REPO
forniti con Autonomous Database.
Argomento padre: riferimento al package fornito da Autonomous Database
DBMS_CLOUD_REPO Panoramica
Il pacchetto DBMS_CLOUD_REPO
fornisce un facile accesso ai file nei repository Cloud Code (Git), tra cui: GitHub, AWS CodeCommit e Azure Repos.
Questo pacchetto è una singola interfaccia per l'accesso ai repository di codici multicloud e consente di caricare file SQL nei repository Git o installare script SQL direttamente dai repository di codici cloud. Questo pacchetto consente inoltre di utilizzare un repository di codici cloud per gestire le versioni di codice per gli script SQL e per installare o applicare patch al codice dell'applicazione dai repository Git.
Concetti
-
Git Version Control System: Git è un software per tenere traccia delle modifiche in qualsiasi set di file, di solito utilizzato per coordinare il lavoro tra i programmatori che sviluppano in modo collaborativo il codice sorgente durante lo sviluppo del software. I suoi obiettivi includono velocità, integrità dei dati e supporto per flussi di lavoro distribuiti e non lineari.
-
Repository Git: un repository Git è una memorizzazione virtuale del progetto. Ti permette di salvare le versioni del tuo codice, a cui puoi accedere quando necessario.
Architettura
DBMS_CLOUD_REPO
include quattro aree di funzionalità:
-
Inizializzazione del repository con gestione del repository di codici cloud generico
-
Inizializza un repository di codici GitHub
-
Inizializza un repository di codici AWS CodeCommit
-
Inizializza un repository di codici repository di Azure
-
-
Operazioni di gestione del repository
-
Creare un repository
-
Aggiornare un repository
-
Elenca i repository
-
Eliminare un repository
-
-
Operazioni di gestione file repository
-
Caricare un file nel repository di codici da Oracle Database.
-
Scaricare un file dal repository di codici in Oracle Database.
-
Elimina i file dal repository di codici.
-
Elenca i file dal repository di codici.
-
-
Operazioni di installazione SQL
- Esporta DDL metadati oggetto database nel repository.
-
Installare le istruzioni SQL da un file nel repository di codici in Oracle Database.
-
Installare le istruzioni SQL da un buffer.
Argomento padre: DBMS_CLOUD_REPO Package
DBMS_CLOUD_REPO Strutture dati
Il package DBMS_CLOUD_REPO
definisce i tipi di record e un tipo di oggetto JSON generico repo
.
Oggetto JSON REPO
Un oggetto DBMS_CLOUD_REPO
REPO
è un oggetto JSON opaco per rappresentare un repository di codici cloud di un provider cloud specifico. Un oggetto REPO può essere passato a diverse API DBMS_CLOUD_REPO
. Questo oggetto opaco garantisce che le procedure e le funzioni DBMS_CLOUD_REPO
siano compatibili con il multicloud. Non è necessario modificare alcun codice quando si esegue la migrazione da un provider del repository di codici cloud a un altro repository di codici cloud.
Argomento padre: DBMS_CLOUD_REPO Package
DBMS_CLOUD_REPO Gruppi di sottoprogrammi
I sottoprogrammi del pacchetto DBMS_CLOUD_REPO
possono essere raggruppati in quattro categorie: Operazioni di inizializzazione, Operazioni di gestione del repository, Operazioni di file e Operazioni di installazione SQL.
- DBMS_CLOUD_REPO Operazioni di inizializzazione
Elenca i sottoprogrammi per le operazioni di inizializzazione all'interno del packageDBMS_CLOUD_REPO
. - DBMS_CLOUD_REPO Operazioni di gestione del repository
Mostra i sottoprogrammi per le operazioni di gestione del repository nel pacchettoDBMS_CLOUD_REPO
. - DBMS_CLOUD_REPO Operazioni di gestione delle diramazioni del repository
Elenca i sottoprogrammi per le operazioni di gestione delle diramazioni del repository all'interno del packageDBMS_CLOUD_REPO
. - DBMS_CLOUD_REPO File Operations
elenca i sottoprogrammi per le operazioni sui file all'interno del pacchettoDBMS_CLOUD_REPO
. - DBMS_CLOUD_REPO Operazioni di installazione SQL
Elenca i sottoprogrammi per le operazioni di installazione SQL all'interno del packageDBMS_CLOUD_REPO
.
Argomento padre: DBMS_CLOUD_REPO Package
DBMS_CLOUD_REPO Operazioni di inizializzazione
Elenca i sottoprogrammi per le operazioni di inizializzazione all'interno del package DBMS_CLOUD_REPO
.
Programma secondario | descrizione; |
---|---|
Questa funzione inizializza un handle di repository AWS e restituisce un tipo opaco. | |
Questa funzione inizializza un handle del repository di Azure e restituisce un tipo opaco. | |
Questa funzione inizializza un handle di repository GitHub e restituisce un tipo opaco. | |
Questa funzione inizializza un handle del repository di codici cloud e restituisce un oggetto JSON opaco. |
Argomento padre: DBMS_CLOUD_REPO Gruppi di sottoprogrammi
DBMS_CLOUD_REPO Operazioni di gestione del repository
Mostra i sottoprogrammi per le operazioni di gestione del repository all'interno del pacchetto DBMS_CLOUD_REPO
.
Programma secondario | descrizione; |
---|---|
Questa procedura crea un repository di codici cloud identificato dall'argomento handle repo .
|
|
Questa procedura elimina il repository di codici cloud identificato dall'argomento handle repo .
|
|
Questa funzione elenca tutti i repository di codici cloud identificati dall'argomento di gestione repo .
|
|
Questa procedura aggiorna un repository di codici cloud identificato dall'argomento handle repo . La procedura supporta l'aggiornamento del nome, della descrizione o dello stato di visibilità privata, come supportato dal repository Cloud Code.
|
Argomento padre: DBMS_CLOUD_REPO Gruppi di sottoprogrammi
DBMS_CLOUD_REPO Operazioni di gestione delle diramazioni del repository
Elenca i sottoprogrammi per le operazioni di gestione delle diramazioni del repository all'interno del package DBMS_CLOUD_REPO
.
Programma secondario | descrizione; |
---|---|
Questa procedura crea una diramazione in un repository di codici cloud identificato dall'argomento handle repo .
|
|
Questa procedura elimina una diramazione in un repository di codici cloud identificato dall'argomento handle repo .
|
|
Questa funzione elenca tutte le diramazioni del repository di codici cloud identificate dall'argomento handle repo .
|
|
Questa funzione elenca tutti i commit in una diramazione del repository di codici cloud identificata dall'argomento handle repo .
|
|
Questa procedura unisce una diramazione del repository di codici cloud in un'altra diramazione specificata in un repository di codici cloud identificato dall'argomento handle repo .
|
Argomento padre: DBMS_CLOUD_REPO Gruppi di sottoprogrammi
DBMS_CLOUD_REPO Operazioni file
Elenca i sottoprogrammi per le operazioni sui file all'interno del package DBMS_CLOUD_REPO
.
Programma secondario | descrizione; |
---|---|
Questa procedura elimina un file dal repository di codici cloud identificato dall'argomento handle repo .
|
|
La funzione scarica il contenuto di un file dal repository Cloud Code. La procedura consente di scaricare il contenuto di un file dal repository Cloud Code e di salvare il file in una directory. | |
Questa funzione scarica un file dal repository Cloud Code. Facoltativamente, è possibile accedere al contenuto del file da una diramazione, un tag o un nome di commit specifici. Per impostazione predefinita, l'accesso al file viene eseguito dalla diramazione del repository predefinita. | |
Questa procedura carica un file nel repository di codici cloud identificato dall'argomento handle repo . La procedura è sovraccarica per supportare il caricamento di un file da un oggetto directory o il caricamento del contenuto da un oggetto CLOB nel file del repository.
|
Argomento padre: DBMS_CLOUD_REPO Gruppi di sottoprogrammi
DBMS_CLOUD_REPO Operazioni di installazione SQL
Elenca i sottoprogrammi per le operazioni di installazione SQL all'interno del package DBMS_CLOUD_REPO
.
Programma secondario | descrizione; |
---|---|
Questa procedura carica i metadati DDL di un oggetto di database nel repository di codici cloud identificato dall'argomento handle repo .
|
|
Questa procedura esporta i metadati di tutti gli oggetti in uno schema in una diramazione del repository di codici cloud identificata dall'argomento handle repo .
|
|
Questa procedura installa le istruzioni SQL da un file nel repository Cloud Code identificato dall'argomento handle repo .
|
|
Questa procedura installa le istruzioni SQL da un buffer fornito come input. |
Argomento padre: DBMS_CLOUD_REPO Gruppi di sottoprogrammi
Riepilogo dei sottoprogrammi DBMS_CLOUD_REPO
In questa sezione vengono descritti i sottoprogrammi DBMS_CLOUD_REPO
forniti con Autonomous Database.
Il pacchetto DBMS_CLOUD_REPO
è composto dai seguenti elementi:
- CREATE_BRANCH Procedura
Questa procedura crea una diramazione nel repository di codici cloud identificata dall'argomento handlerepo
. - CREATE_REPOSITORY Procedura
Questa procedura crea un repository di codici cloud identificato dall'argomento handlerepo
. - DELETE_BRANCH Procedura
Questa procedura elimina una diramazione nel repository Cloud Code identificata dall'argomento handlerepo
. - DELETE_FILE Procedura
Questa procedura elimina un file dal repository Cloud Code identificato dall'argomento handlerepo
. - DELETE_REPOSITORY Procedura
Questa procedura elimina il repository di codici cloud identificato dall'argomento handlerepo
. - Procedura EXPORT_OBJECT
Questa procedura carica i metadati DDL di un oggetto di database nel repository Cloud Code identificato dall'argomento handlerepo
. Questa procedura consente di caricare la definizione dei metadati di un oggetto di database in un unico passo. - Procedura EXPORT_SCHEMA
Questa procedura esporta i metadati di tutti gli oggetti in uno schema nel ramo Cloud Code Repository identificato dall'argomento handlerepo
. - GET_FILE Procedura e funzione
La funzione scarica il contenuto di un file dal repository Cloud Code. La procedura consente di scaricare il contenuto di un file dal repository Cloud Code e di salvare il file in una directory. - INIT_AWS_REPO Funzione
Questa funzione inizializza un handle di repository AWS e restituisce un tipo opaco. - INIT_AZURE_REPO Funzione
Questa funzione inizializza un handle del repository di Azure e restituisce un tipo opaco. Questa funzione è supportata solo per il provider cloud di Azure. - INIT_GITHUB_REPO Funzione
Questa funzione inizializza un handle di repository GitHub e restituisce un tipo opaco. - INIT_REPO Funzione
Questa funzione inizializza un handle del repository di codici cloud e restituisce un oggetto JSON opaco. Questa funzione è un'interfaccia generica per accettare un documento JSON ed evita di dover modificare il codice. È sufficiente modificare un documento JSON quando si sposta un repository di codici da un repository di codici cloud a un altro repository di codici cloud. - INSTALL_FILE Procedura
Questa procedura installa le istruzioni SQL da un file nel repository Cloud Code identificato dall'argomento handlerepo
. - INSTALL_SQL Procedura
Questa procedura installa le istruzioni SQL da un buffer fornito come input. - LIST_BRANCHES Funzione
Questa funzione elenca le diramazioni nella diramazione Cloud Code Repository identificata dall'argomento handlerepo
. - LIST_COMMITS Funzione
Questa funzione elenca i commit nella diramazione Cloud Code Repository identificata dall'argomento handlerepo
. - LIST_FILES Funzione
Questa funzione scarica un file dal repository Cloud Code. Facoltativamente, è possibile accedere al contenuto del file da una diramazione, un tag o un nome di commit specifici. Per impostazione predefinita, l'accesso al file viene eseguito dalla diramazione del repository predefinita. I risultati includono i nomi dei file e metadati aggiuntivi relativi ai file. - Funzione LIST_REPOSITORIES
Questa funzione elenca tutti i repository di codici cloud identificati dall'argomento handlerepo
. Se per l'handlerepo
è stato specificato un nome di repository, la funzione non limita l'elenco al nome di repository specificato; elenca tutti i repository accessibili all'utente. - Procedura MERGE_BRANCH
Questa procedura unisce una diramazione del repository a un'altra diramazione specificata nel repository di codici cloud identificato dall'argomento handlerepo
. La proceduraMERGE_BRANCH
non è attualmente supportata in Azure. - PUT_FILE Procedura
Questa procedura carica un file nel repository di codici cloud identificato dall'argomento handlerepo
. La procedura è sovraccarica per supportare il caricamento di un file da un oggetto directory o il caricamento del contenuto da un BLOB nel file del repository. - UPDATE_REPOSITORY Procedura
Questa procedura aggiorna un repository Cloud Code identificato dall'argomento handlerepo
. UPDATE_REPOSITORY supporta l'aggiornamento del nome, della descrizione o dello stato di visibilità privata, come supportato dal repository Cloud Code.
Argomento padre: DBMS_CLOUD_REPO Package
CREATE_BRANCH Procedura
Questa procedura crea una diramazione nel repository di codici cloud identificata dall'argomento handle repo
.
Sintassi
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
);
Parametri
Parametro | descrizione; |
---|---|
repo |
Specifica l'handle del repository. Questo parametro è obbligatorio e supportato per tutti i provider cloud. |
branch_name |
Specifica il nome della diramazione del repository. Questo parametro è obbligatorio e supportato per tutti i provider cloud. |
parent_branch_name |
Crea il nuovo ramo utilizzando il commit principale del ramo padre specificato. Questo parametro è supportato per tutti i provider cloud. Se non si specifica un valore |
parent_commit_id |
Crea la nuova diramazione utilizzando il commit del repository specificato. Questo parametro è supportato per tutti i provider cloud. Se non si fornisce un valore |
Esempio
Per creare una diramazione in un repository di Cloud Code, è necessario specificare la diramazione padre o l'ID commit padre.
BEGIN
DBMS_CLOUD_REPO.CREATE_BRANCH
(
repo => l_repo,
branch_name => 'test_branch',
parent_branch_name => 'main'
);
END;
/
Nota per l'uso
Per eseguire la procedura DBMS_CLOUD_REPO.CREATE_BRANCH
, è necessario aver eseguito il login come utente ADMIN o disporre del privilegio EXECUTE
su DBMS_CLOUD_REPO
.
Argomento padre: Riepilogo dei sottoprogrammi DBMS_CLOUD_REPO
CREATE_REPOSITORY Procedura
Questa procedura crea un repository di codici cloud identificato dall'argomento handle repo
.
Sintassi
PROCEDURE DBMS_CLOUD_REPO.CREATE_REPOSITORY
(
repo IN CLOB,
description IN CLOB DEFAULT NULL,
private IN BOOLEAN DEFAULT TRUE
);
Parametri
Parametro | descrizione; |
---|---|
repo |
Specifica l'handle del repository.
Questo parametro è supportato per tutti i provider cloud. |
description |
Breve descrizione del testo per il repository.
Questo parametro è supportato per il provider cloud GITHUB e AWS. |
private |
Il repository è privato e accessibile solo con credenziali valide Questo parametro è supportato solo per il provider cloud GITHUB. |
Esempio
BEGIN
DBMS_CLOUD_REPO.CREATE_REPOSITORY
(
repo => l_repo,
description => 'My test repo',
private => TRUE
);
END;
/
Argomento padre: Riepilogo dei sottoprogrammi DBMS_CLOUD_REPO
DELETE_BRANCH Procedura
Questa procedura elimina una diramazione nel repository di codici cloud identificata dall'argomento handle repo
.
Sintassi
PROCEDURE DBMS_CLOUD_REPO.DELETE_BRANCH
(
repo IN CLOB,
branch_name IN VARCHAR2 DEFAULT NULL
);
Parametri
Parametro | descrizione; |
---|---|
repo |
Specifica l'handle del repository.
Questo parametro è obbligatorio e supportato per tutti i provider cloud. |
branch_name |
Eliminare la diramazione da un repository specifico.
Questo parametro è obbligatorio e supportato per tutti i provider cloud. |
Esempio
BEGIN
DBMS_CLOUD_REPO.DELETE_BRANCH
(
repo => l_repo,
branch_name => 'test_branch'
);
END;
/
Nota per l'uso
Per eseguire la procedura DBMS_CLOUD_REPO.DELETE_BRANCH
, è necessario aver eseguito il login come utente ADMIN o disporre del privilegio EXECUTE
su DBMS_CLOUD_REPO
.
Argomento padre: Riepilogo dei sottoprogrammi DBMS_CLOUD_REPO
DELETE_FILE Procedura
Questa procedura elimina un file dal repository di codici cloud identificato dall'argomento handle repo
.
Sintassi
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
);
Parametri
Parametro | descrizione; |
---|---|
repo |
Specifica l'handle del repository. |
file_path |
Percorso del file per eliminare il file nel repository. |
branch_name |
Elimina il file da una diramazione specifica. |
commit_details |
Dettagli commit come documento JSON {"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } } |
Esempio
BEGIN
DBMS_CLOUD_REPO.DELETE_FILE
(
repo => l_repo,
file_path => 'scripts/test3.sql',
branch_name => 'test_branch'
);
END;
/
Argomento padre: Riepilogo dei sottoprogrammi DBMS_CLOUD_REPO
DELETE_REPOSITORY Procedura
Questa procedura elimina il repository di codici cloud identificato dall'argomento handle repo
.
Sintassi
PROCEDURE DBMS_CLOUD_REPO.DELETE_REPOSITORY
(
repo IN CLOB
);
Parametri
Parametro | descrizione; |
---|---|
repo |
Specifica l'handle del repository. |
Esempio
BEGIN
DBMS_CLOUD_REPO.DELETE_REPOSITORY
(
repo => l_repo
);
END;
/
Argomento padre: Riepilogo dei sottoprogrammi DBMS_CLOUD_REPO
EXPORT_OBJECT Procedura
Questa procedura carica i metadati DDL di un oggetto di database nel repository di codici cloud identificato dall'argomento handle repo
. Questa procedura consente di caricare la definizione dei metadati di un oggetto di database in un unico passo.
Sintassi
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
);
Parametri
Parametro | descrizione; |
---|---|
repo |
Specifica l'handle del repository. |
file_path |
Percorso file per caricare i metadati dell'oggetto nel repository. |
object_type |
Tipo di oggetto supportato da DBMS_METADATA. Per ulteriori informazioni, vedere DBMS_METADATA: tabella Tipi di oggetto. |
object_name |
Nome dell'oggetto di database per recuperare i metadati. |
object_schema |
Schema proprietario dell'oggetto di database. |
branch_name |
Inserire il file in una diramazione specifica. |
commit_details |
Dettagli commit come documento JSON: |
append |
Aggiungi DDL metadati a file esistente. |
Nota per l'uso
Per il controllo personalizzato sull'oggetto DDL, è possibile utilizzare DBMS_METADATA.GET_DDL
insieme a DBMS_CLOUD_REPO.PUT_FILE
. Per ottenere la definizione dei metadati dell'oggetto, è necessario che l'utente corrente disponga dei privilegi necessari per recuperare i metadati dell'oggetto. Per i requisiti di sicurezza del pacchetto, vedere DBMS_METADATA.
Esempio
BEGIN
DBMS_CLOUD_REPO.EXPORT_OBJECT
(
repo => l_repo,
object_type => 'PACKAGE',
object_name => 'MYPACK',
file_path => 'mypack.sql'
);
END;
/
Argomento padre: Riepilogo dei sottoprogrammi DBMS_CLOUD_REPO
EXPORT_SCHEMA Procedura
Questa procedura esporta i metadati di tutti gli oggetti in uno schema nel ramo Repository di codici cloud identificato dall'argomento di handle repo
.
Sintassi
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
);
Parametri
Parametro | descrizione; |
---|---|
repo |
Specifica l'handle del repository. Questo parametro è obbligatorio e supportato per tutti i provider cloud. |
file_path |
Specifica il nome del file di schema da caricare nel repository. Questo parametro è obbligatorio e supportato per tutti i provider cloud. |
schema_name |
Specifica il nome dello schema per il quale deve essere caricato uno script DDL nella diramazione del repository di codici cloud. Questo parametro è obbligatorio e supportato per tutti i provider cloud. |
filter_list |
Specifica il CLOB dell'array JSON che definisce le condizioni di filtro per includere o escludere gli oggetti i cui metadati devono essere esportati. Questo parametro è supportato per tutti i provider cloud. I parametri JSON per
filter_list sono:
|
branch_name |
Specifica il nome della diramazione del repository. Questo parametro è supportato per tutti i provider cloud. Se non si fornisce un valore |
commit_details |
Dettagli commit come documento JSON {"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } } Questo parametro è supportato per tutti i provider cloud. Se non si fornisce un valore |
Esempio
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;
/
Nota per l'uso
Per eseguire la procedura DBMS_CLOUD_REPO.EXPORT_SCHEMA
, è necessario aver eseguito il login come utente ADMIN o disporre del privilegio EXECUTE
su DBMS_CLOUD_REPO
.
Argomento padre: Riepilogo dei sottoprogrammi DBMS_CLOUD_REPO
GET_FILE Procedura e funzione
La funzione scarica il contenuto di un file dal repository Cloud Code. La procedura consente di scaricare il contenuto di un file dal repository Cloud Code e di salvare il file in una directory.
Sintassi
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
);
Parametri
Parametro | descrizione; |
---|---|
repo |
Specifica l'handle del repository. |
file_path |
Percorso del file nel repository. |
directory_name |
Nome oggetto directory per salvare il contenuto del file. |
target_file_name |
Nome del file di destinazione per salvare i contenuti nella directory. |
branch_name |
Recupera il file da una diramazione specifica. |
tag_name |
Recupera il file da una tag specifica. |
commit_name |
Recupera il file da un commit specifico. |
Esempio
BEGIN
DBMS_CLOUD_REPO.GET_FILE
(
repo => l_repo,
file_path => 'test3.sql',
directory_name => 'DATA_PUMP_DIR',
target_file_name => 'test2.sql'
);
END;
/
Argomento padre: Riepilogo dei sottoprogrammi DBMS_CLOUD_REPO
Funzione INIT_AWS_REPO
Questa funzione inizializza un handle di repository AWS e restituisce un tipo opaco.
Sintassi
FUNCTION DBMS_CLOUD_REPO.INIT_AWS_REPO
(
credential_name IN VARCHAR2,
repo_name IN VARCHAR2,
region IN VARCHAR2
) RETURN repo;
Parametri
Parametro | descrizione; |
---|---|
credential_name |
Oggetto credenziale che specifica la chiave di accesso/chiave segreta AWS CodeCommit. |
repo_name |
Specifica il nome del repository. |
region |
Specifica l'area AWS per il repository CodeCommit. |
Esempio
BEGIN
:repo := DBMS_CLOUD_REPO.INIT_AWS_REPO
(
credential_name => 'AWS_CRED',
repo_name => 'my_repo',
region => 'us-east-1'
);
END;
/
Argomento padre: Riepilogo dei sottoprogrammi DBMS_CLOUD_REPO
Funzione INIT_AZURE_REPO
Questa funzione inizializza un handle del repository di Azure e restituisce un tipo opaco. Questa funzione è supportata solo per il provider cloud di Azure.
Sintassi
FUNCTION DBMS_CLOUD_REPO.INIT_AZURE_REPO
(
credential_name IN VARCHAR2,
repo_name IN VARCHAR2,
organization IN VARCHAR2,
project IN VARCHAR2
) RETURN repo;
Parametri
Parametro | descrizione; |
---|---|
credential_name |
Oggetto delle credenziali che specifica Azure, con un nome utente e un token di accesso personale (PAT). |
repo_name |
Specifica il nome del repository. |
organization |
Specifica l'organizzazione DevOps di Azure. |
project |
Nome del progetto del team Azure. |
Esempio
BEGIN
:repo := DBMS_CLOUD_REPO.INIT_AZURE_REPO
(
credential_name => 'AZURE_CRED',
repo_name => 'my_repo',
organization => 'myorg',
project => 'myproj',
);
END;
/
Argomento padre: Riepilogo dei sottoprogrammi DBMS_CLOUD_REPO
Funzione INIT_GITHUB_REPO
Questa funzione inizializza un handle di repository GitHub e restituisce un tipo opaco.
Sintassi
FUNCTION DBMS_CLOUD_REPO.INIT_GITHUB_REPO
(
credential_name IN VARCHAR2 DEFAULT NULL,
repo_name IN VARCHAR2,
owner IN VARCHAR2)
RETURN repo;
Parametri
Parametro | descrizione; |
---|---|
credential_name |
Oggetto credenziale che specifica GitHub. E-mail utente e token di accesso personale (PAT). |
repo_name |
Specifica il nome del repository. |
owner |
Specifica il proprietario del repository. |
Esempio
BEGIN
:repo := DBMS_CLOUD_REPO.INIT_GITHUB_REPO
(
credential_name => 'GITHUB_CRED',
repo_name => 'my_repo',
owner => 'foo'
);
END;
/
Argomento padre: Riepilogo dei sottoprogrammi DBMS_CLOUD_REPO
Funzione INIT_REPO
Questa funzione inizializza un handle del repository di codici cloud e restituisce un oggetto JSON opaco. Questa funzione è un'interfaccia generica per accettare un documento JSON ed evita di dover modificare il codice. È sufficiente modificare un documento JSON quando si sposta un repository di codici da un repository di codici cloud a un altro repository di codici cloud.
Sintassi
FUNCTION DBMS_CLOUD_REPO.INIT_REPO
(
params IN CLOB)
RETURN CLOB;
Parametri
Parametro JSON | descrizione; |
---|---|
provider |
Provider di repository di codici cloud dai seguenti elementi: DBMS_CLOUD_REPO.GITHUB_REPO ('GITHUB') DBMS_CLOUD_REPO.AWS_REPO ('AWS') DBMS_CLOUD_REPO.AZURE_REPO ('AZURE') |
repo_name |
Specifica il nome del repository. DBMS_CLOUD_REPO.PARAM_REPO_NAME |
owner |
GitHub Proprietario del repository. DBMS_CLOUD_REPO.PARAM_OWNER Questo parametro è applicabile solo per il provider cloud GitHub. |
region |
Area repository AWS DBMS_CLOUD_REPO_PARAM_REGION Questo parametro è applicabile solo per il provider cloud AWS. |
organization |
Organizzazione Azure DBMS_CLOUD_REPO_PARAM_ORGANIZATION Questo parametro è applicabile solo per il provider cloud di Azure. |
project |
Progetto team Azure DBMS_CLOUD_REPO_PARAM_PROJECT Questo parametro è applicabile solo per il provider cloud di Azure |
Esempio
BEGIN
:repo := DBMS_CLOUD_REPO.INIT_REPO
(
params => JSON_OBJECT('credential_name' value 'mycred',
'repo_name' value 'myrepo',
'repo_owner' value 'foo')
);
END;
/
Argomento padre: Riepilogo dei sottoprogrammi DBMS_CLOUD_REPO
INSTALL_FILE Procedura
Questa procedura installa le istruzioni SQL da un file nel repository Cloud Code identificato dall'argomento handle repo
.
Sintassi
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
);
Parametri
Parametro | descrizione; |
---|---|
repo |
Specifica l'handle del repository. |
file_path |
Percorso del file nel repository. |
branch_name |
Diramazione per installare il file da una diramazione specifica. |
tag_name |
Tag per installare il file da una tag specifica. |
commit_name |
ID commit per installare il file da un commit specifico. |
stop_on_error |
Arrestare l'esecuzione delle istruzioni SQL al primo errore. |
Note per uso
-
È possibile installare istruzioni SQL contenenti istruzioni SQL nidificate da un file di repository di Cloud Code utilizzando gli elementi riportati di seguito.
-
@
: include un file SQL con un percorso relativo alla ROOT del repository. -
@@
: include un file SQL con un percorso relativo al file corrente.
-
-
Gli script sono intesi come script di installazione dello schema e non come script SQL generici:
- Gli script non possono contenere comandi specifici del client SQL*Plus.
- Gli script non possono contenere bind variable o script con parametri.
- Le istruzioni SQL devono essere terminate con una barra su una nuova riga (/).
- Gli script possono contenere istruzioni DDL e DML PLSQL, ma le istruzioni
SELECT
dirette non sono supportate. È supportato l'uso di SELECT all'interno di un blocco PL/SQL.
Qualsiasi istruzione SQL che può essere eseguita utilizzando
EXECUTE IMMEDIATE
funzionerà se non contiene bind variable o definizioni.
Esempio
BEGIN
DBMS_CLOUD_REPO.INSTALL_FILE
(
repo => l_repo,
file_path => 'test3.sql',
stop_on_error => FALSE
);
END;
/
Argomento padre: Riepilogo dei sottoprogrammi DBMS_CLOUD_REPO
INSTALL_SQL Procedura
Questa procedura installa le istruzioni SQL da un buffer fornito come input.
Sintassi
PROCEDURE DBMS_CLOUD_REPO.INSTALL_SQL
(
content IN CLOB,
stop_on_error IN BOOLEAN DEFAULT TRUE
);
Parametri
Parametro | Descrizioni |
---|---|
content |
CLOB contenente le istruzioni SQL da eseguire. |
stop_on_error |
Arrestare l'esecuzione delle istruzioni SQL al primo errore. |
Note per uso
-
Gli script sono intesi come script di installazione dello schema e non come script SQL generici:
- Gli script non possono contenere comandi specifici del client SQL*Plus.
- Gli script non possono contenere bind variable o script con parametri.
- Le istruzioni SQL devono essere terminate con una barra su una nuova riga (/).
- Gli script possono contenere istruzioni DDL e DML PLSQL, ma le istruzioni
SELECT
dirette non sono supportate. È supportato l'uso di SELECT all'interno di un blocco PL/SQL.
Qualsiasi istruzione SQL che può essere eseguita utilizzando
EXECUTE IMMEDIATE
funzionerà se non contiene bind variable o definizioni.
Esempio
BEGIN
DBMS_CLOUD_REPO.INSTALL_SQL
(
content => 'create table t1 (x varchar2(30))' || CHR(10) || '/',
stop_on_error => FALSE
);
END;
/
Argomento padre: Riepilogo dei sottoprogrammi DBMS_CLOUD_REPO
Funzione LIST_BRANCHES
Questa funzione elenca i rami nel ramo Cloud Code Repository identificato dall'argomento handle repo
.
Sintassi
FUNCTION DBMS_CLOUD_REPO.LIST_BRANCHES
(
repo IN CLOB
) RETURN list_branch_ret_tab PIPELINED PARALLEL_ENABLE;
Parametri
Parametro | descrizione; |
---|---|
repo |
Specifica l'handle del repository.
Questo parametro è obbligatorio e supportato per tutti i provider cloud. |
Esempio
SELECT * FROM DBMS_CLOUD_REPO.LIST_BRANCHES
(repo => l_repo);
Note per uso
-
Funzione di tabella con pipeline con tipo restituito
list_branch_ret_tab.
-
DBMS_CLOUD_REPO.LIST_BRANCHES
restituisce la colonnaname
, che indica il nome della diramazione del repository di codici cloud.
Argomento padre: Riepilogo dei sottoprogrammi DBMS_CLOUD_REPO
Funzione LIST_COMMITS
Questa funzione elenca i commit nella diramazione Cloud Code Repository identificata dall'argomento handle repo
.
Sintassi
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;
Parametri
Parametro | descrizione; |
---|---|
repo |
Specifica l'handle del repository.
Questo parametro è obbligatorio e supportato per tutti i provider cloud. |
branch_name |
Elenca i commit da una diramazione specifica.
Questo parametro è supportato per tutti i provider cloud. Se non si specifica un valore |
file_path |
Elenca i file nel percorso della sottocartella specificato nel repository.
Questo parametro è supportato solo per i provider cloud Git e Azure. Se non si fornisce un valore |
commit_id |
Elenca i file a partire dal file sha/id specificatoQuesto parametro è supportato per tutti i provider cloud. Se non si fornisce un valore |
Esempio
SELECT name FROM DBMS_CLOUD_REPO.LIST_COMMITS
(repo => l_repo);
Esempio
SELECT name FROM DBMS_CLOUD_REPO.LIST_COMMITS
(
repo => l_repo,
commit_id => '66dd2b23b74cd0afabd11af66c6aa9c550540ba6',
file_path => 'sub_dir/test11.sql'
);
Note per uso
-
Funzione di tabella con pipeline con tipo restituito
list_commit_ret_tab.
-
DBMS_CLOUD_REPO.LIST_COMMITS
restituisce la colonna:commit_id
.
Argomento padre: Riepilogo dei sottoprogrammi DBMS_CLOUD_REPO
Funzione LIST_FILES
Questa funzione scarica un file dal repository Cloud Code. Facoltativamente, è possibile accedere al contenuto del file da una diramazione, un tag o un nome di commit specifici. Per impostazione predefinita, l'accesso al file viene eseguito dalla diramazione del repository predefinita. I risultati includono i nomi dei file e metadati aggiuntivi relativi ai file.
Sintassi
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;
Parametri
Parametro | descrizione; |
---|---|
repo |
Specifica l'handle del repository. |
path |
Elenca i file nel percorso della sottocartella specificato nel repository. |
branch_name |
Elenca i file da una diramazione specifica. |
tag_name |
Elenca i file da una tag specifica. |
commit_name |
Elenca i file da un commit specifico. |
Note per uso
-
Funzione di tabella con pipeline con tipo restituito
list_file_ret_tab.
-
DBMS_CLOUD_REPO.LIST_FILES
restituisce le colonne:id
,name
,url
ebytes
.
Esempio
SELECT name FROM DBMS_CLOUD_REPO.LIST_FILES
(repo => l_repo);
NAME
-------------------------
test3.sql
Argomento padre: Riepilogo dei sottoprogrammi DBMS_CLOUD_REPO
Funzione LIST_REPOSITORIES
Questa funzione elenca tutti i repository di codici cloud identificati dall'argomento di gestione repo
. Se per l'handle repo
è stato specificato un nome di repository, la funzione non limita l'elenco al nome di repository specificato; elenca tutti i repository accessibili all'utente.
Sintassi
FUNCTION DBMS_CLOUD_REPO.LIST_REPOSITORIES
(
repo IN CLOB
) RETURN list_repo_ret_tab PIPELINED PARALLEL_ENABLE;
Parametri
Parametro | descrizione; |
---|---|
repo |
Specifica l'handle del repository. Questo parametro è supportato da tutti i provider cloud. |
Note per uso
-
Funzione di tabella con pipeline con tipo restituito
list_repo_ret_tab.
-
DBMS_CLOUD_REPO.LIST_REPOSITORIES
restituisce le colonne:id
,name
,owner
,description
,private
,url
,bytes
,created
elast_modified
.
Esempio
SELECT name description FROM DBMS_CLOUD_REPO.LIST_REPOSITORIES
(:repo);
NAME DESCRIPTION
--------------------- ---------------
TestRepo1 My test repo
Argomento padre: Riepilogo dei sottoprogrammi DBMS_CLOUD_REPO
MERGE_BRANCH Procedura
Questa procedura unisce una diramazione del repository a un'altra diramazione specificata nel repository di codici cloud identificato dall'argomento handle repo
. La procedura MERGE_BRANCH
non è attualmente supportata in Azure.
Sintassi
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
);
Parametri
Parametro | descrizione; |
---|---|
repo |
Specifica l'handle del repository. Questo parametro è obbligatorio e supportato per i provider cloud GITHUB e AWS. |
branch_name |
Specifica il nome della diramazione Git da unire. Questo parametro è obbligatorio e supportato per tutti i provider cloud. |
target_branch_name |
Specifica il nome della diramazione di destinazione in cui eseguire l'unione. Questo parametro è obbligatorio e supportato per tutti i provider cloud. |
commit_details |
Dettagli commit come documento JSON {"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } } Se non si fornisce un valore |
Esempio
BEGIN
DBMS_CLOUD_REPO.MERGE_BRANCH
(
repo => l_repo,
branch_name => 'test_branch',
target_branch_name => 'main'
);
END;
/
Nota per l'uso
Per eseguire la procedura DBMS_CLOUD_REPO.MERGE_BRANCH
, è necessario aver eseguito il login come utente ADMIN o disporre del privilegio EXECUTE
su DBMS_CLOUD_REPO
.
Argomento padre: Riepilogo dei sottoprogrammi DBMS_CLOUD_REPO
PUT_FILE Procedura
Questa procedura carica un file nel repository di codici cloud identificato dall'argomento handle repo
. La procedura è sovraccarica per supportare il caricamento di un file da un oggetto directory o il caricamento del contenuto da un BLOB nel file del repository.
Sintassi
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
);
Parametri
Parametro | descrizione; |
---|---|
repo |
Specifica l'handle del repository. |
file_path |
Percorso file per il caricamento del file nel repository. |
contents |
BLOB che contiene il contenuto del file. |
directory_name |
Nome oggetto directory che contiene il nome file. |
source_file_name |
Nome del file di origine da caricare nel repository. |
branch_name |
Inserire il file in una diramazione specifica. |
commit_details |
Dettagli commit come documento JSON: {"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } } |
Esempio
BEGIN
DBMS_CLOUD_REPO.PUT_FILE
(
repo => l_repo,
);
END;
/
Argomento padre: Riepilogo dei sottoprogrammi DBMS_CLOUD_REPO
UPDATE_REPOSITORY Procedura
Questa procedura aggiorna un repository di codici cloud identificato dall'argomento handle repo
. UPDATE_REPOSITORY supporta l'aggiornamento del nome, della descrizione o dello stato di visibilità privata, come supportato dal repository Cloud Code.
Sintassi
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
);
Parametri
Parametro | descrizione; |
---|---|
repo |
Specifica l'handle del repository.
Questo parametro è supportato per tutti i provider cloud. |
new_name |
Nuovo nome per il repository.
Questo parametro è supportato per tutti i provider cloud. |
description |
Breve descrizione del testo per il repository.
Questo parametro è supportato per i provider cloud GITHUB e AWS. |
private |
Il repository è privato e accessibile solo con credenziali valide. Questo parametro è supportato per il provider cloud GITHUB. |
Esempio
BEGIN
DBMS_CLOUD_REPO.UPDATE_REPOSITORY
(
repo => l_repo,
new_name => 'repo2'
);
END;
/
Argomento padre: Riepilogo dei sottoprogrammi DBMS_CLOUD_REPO