Riepilogo sottoprogrammi DBMS_CLOUD_REPO
In questa sezione vengono descritti i programmi secondari DBMS_CLOUD_REPO forniti con Autonomous AI Database.
Il pacchetto DBMS_CLOUD_REPO è costituito dai seguenti elementi:
- Operazioni di inizializzazione DBMS_CLOUD_REPO
- Operazioni di gestione repository DBMS_CLOUD_REPO
- Operazioni file DBMS_CLOUD_REPO
- Operazioni di installazione SQL DBMS_CLOUD_REPO
Prerequisiti
Come sviluppatore, puoi utilizzare le procedure DBMS_CLOUD con i database AI autonomi distribuiti su Oracle Public Cloud, Multicloud o Exadata Cloud@Customer.
A seconda della scelta di distribuzione, è necessario soddisfare i seguenti prerequisiti per utilizzare le procedure DBMS_CLOUD con i provider di servizi Amazon S3, Azure Blob Storage e Google Cloud Storage.
Una connettività in uscita deve essere stata configurata utilizzando un gateway NAT dall'amministratore della flotta, come descritto di seguito.
-
Creare un gateway NAT nella rete cloud virtuale (VCN) in cui risiedono le risorse di Autonomous AI Database seguendo le istruzioni riportate in Crea un gateway NAT nella documentazione di Oracle Cloud Infrastructure.
-
Dopo aver creato il gateway NAT, aggiungere una regola di instradamento e una regola di sicurezza in uscita a ogni subnet (nella VCN) in cui risiedono le risorse di Autonomous AI Database in modo che queste risorse possano utilizzare il gateway per ottenere una chiave pubblica dall'istanza di Azure AD:
-
Andare alla pagina Dettagli subnet per la subnet.
-
Nella scheda Informazioni subnet fare clic sul nome della tabella di instradamento della subnet per visualizzare la relativa pagina Dettagli tabella di instradamento.
-
Nella tabella delle regole di instradamento esistenti, verificare se esiste già una regola con le seguenti caratteristiche:
-
Destinazione: 0.0.0.0/0
-
Tipo di destinazione: gateway NAT
-
Destinazione: il nome del gateway NAT appena creato nella VCN
Se tale regola non esiste, fare clic su Aggiungi regole di instradamento e aggiungere una regola di instradamento con queste caratteristiche.
-
-
Tornare alla pagina Dettagli subnet per la subnet.
-
Nella tabella Elenchi sicurezza della subnet fare clic sul nome della lista di sicurezza della subnet per visualizzare la relativa pagina Dettagli elenco di sicurezza.
-
Nel menu laterale, in Risorse, fare clic su Regole di uscita.
-
Nella tabella delle regole di uscita esistenti, verificare se esiste già una regola con le seguenti caratteristiche:
-
Tipo di destinazione:CIDR
-
Destinazione:0.0.0.0/0
-
Protocollo IP:TCP
-
Intervallo porte di origine:443
-
Intervallo porte di destinazione:Tutti
Se una regola di questo tipo non esiste, fare clic su Aggiungi regole di uscita e aggiungere una regola di uscita con queste caratteristiche.
-
-
Le impostazioni del proxy HTTP nell'ambiente devono consentire al database di accedere al provider di servizi cloud.
Queste impostazioni vengono definite dall'amministratore della flotta durante la creazione dell'infrastruttura Exadata Cloud@Customer, come descritto in Uso della console per eseguire il provisioning di Exadata Database Service su Cloud@Customer.
Nota: la configurazione di rete, incluso il proxy HTTP, può essere modificata solo fino a quando l'infrastruttura Exadata non è in stato Richiede attivazione. Una volta attivato, non è possibile modificare tali impostazioni.
L'impostazione di un proxy HTTP per un'infrastruttura Exadata già di cui è stato eseguito il provisioning richiede una richiesta di servizio (SR) in My Oracle Support. Per informazioni dettagliate, vedere Crea una richiesta di servizio in My Oracle Support.
Procedura CREATE_BRANCH
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 repository. Questo parametro è obbligatorio e supportato per tutti i provider cloud. |
parent_branch_name |
Crea la nuova diramazione utilizzando il commit principale della diramazione padre specificata. Questo parametro è supportato per tutti i provider di servizi 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 di servizi cloud. Se non si specifica un valore |
Esempio
Nota: per creare una diramazione in un repository di codici cloud, è 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.
Procedura CREATE_REPOSITORY
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 di servizi cloud. |
description |
Breve descrizione di 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 solo per il provider cloud GITHUB. |
Esempio
BEGIN
DBMS_CLOUD_REPO.CREATE_REPOSITORY(
repo => l_repo,
description => 'My test repo',
private => TRUE
);
END;
/
Procedura DELETE_BRANCH
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 |
Elimina 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.
Procedura DELETE_FILE
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
|
Esempio
BEGIN
DBMS_CLOUD_REPO.DELETE_FILE(
repo => l_repo,
file_path => 'scripts/test3.sql',
branch_name => 'test_branch'
);
END;
/
Procedura DELETE_REPOSITORY
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;
/
Procedura EXPORT_OBJECT
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 facilmente 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 del file per caricare i metadati dell'oggetto nel repository. |
object_type |
Tipo di oggetto supportato da DBMS_METADATA. Per i dettagli, vedere la tabella DBMS_METADATA: Object Types in Oracle Database 19c PL/SQL Packages and Types Reference o Oracle Database 26ai PL/SQL Packages and Types Reference. |
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:{"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } } |
append |
Aggiungi DDL metadati al 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, l'utente corrente deve disporre di privilegi per recuperare i metadati dell'oggetto. Per i requisiti di sicurezza del package, vedere DBMS_METADATA in Oracle Database 19c PL/SQL Packages and Types Reference oppure Oracle Database 26ai PL/SQL Packages and Types Reference.
Esempio
BEGIN
DBMS_CLOUD_REPO.EXPORT_OBJECT(
repo => l_repo,
object_type => 'PACKAGE',
object_name => 'MYPACK',
file_path => 'mypack.sql'
);
END;
/
Procedura EXPORT_SCHEMA
Questa procedura esporta i metadati di tutti gli oggetti in uno schema nella diramazione Repository di codici cloud identificata dall'argomento 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 di servizi cloud. I parametri JSON per
|
branch_name |
Specifica il nome della diramazione repository. Questo parametro è supportato per tutti i provider di servizi 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 di servizi 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.
GET_FILE - Procedura e funzione
La funzione scarica il contenuto di un file dal repository del codice cloud. La procedura consente di scaricare il contenuto di un file dal repository Cloud Code e di salvarlo 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 file nel repository. |
directory_name |
Nome dell'oggetto directory per salvare il contenuto del file. |
target_file_name |
Nome del file di destinazione per salvare il contenuto nella directory. |
branch_name |
Recupera file da una diramazione specifica. |
tag_name |
Recupera file da un tag specifico. |
commit_name |
Recupera 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;
/
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 accesskey/secretkey 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;
/
Funzione INIT_AZURE_REPO
Questa funzione inizializza un handle di repository 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 credenziale 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 progetto team Azure. |
Esempio
BEGIN
:repo := DBMS_CLOUD_REPO.INIT_AZURE_REPO(
credential_name => 'AZURE_CRED',
repo_name => 'my_repo',
organization => 'myorg',
project => 'myproj',
);
END;
/
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;
/
Funzione INIT_REPO
Questa funzione inizializza un handle di Cloud Code Repository 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 del repository di codici cloud tra i seguenti:
|
repo_name |
Specifica il nome del repository. DBMS_CLOUD_REPO.PARAM_REPO_NAME |
owner |
Proprietario del repository GitHub. Questo parametro è applicabile solo per il provider cloud GitHub. |
region |
Area repository AWS. Questo parametro è applicabile solo per il provider cloud AWS. |
organization |
Organizzazione Azure. Questo parametro è applicabile solo per il provider cloud di Azure. |
project |
Progetto Team di Azure. 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;
/
Procedura INSTALL_FILE
Questa procedura installa 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 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 |
Interrompere l'esecuzione delle istruzioni SQL al primo errore. |
Note sull'uso
-
È possibile installare istruzioni SQL contenenti SQL nidificate da un file del repository Cloud Code utilizzando quanto riportato 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 parametrizzati.
-
Le istruzioni SQL devono essere terminate con una barra su una nuova riga (/).
-
Gli script possono contenere istruzioni DDL, DML PLSQL, ma le istruzioni
SELECTdirette non sono supportate. È supportato l'utilizzo di SELECT all'interno di un blocco PL/SQL.
Qualsiasi istruzione SQL che può essere eseguita utilizzando
EXECUTE IMMEDIATEfunzionerà se non contiene bind variable o definisce. -
Esempio
BEGIN
DBMS_CLOUD_REPO.INSTALL_FILE(
repo => l_repo,
file_path => 'test3.sql',
stop_on_error => FALSE
);
END;
/
Procedura INSTALL_SQL
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 |
Interrompere l'esecuzione delle istruzioni SQL al primo errore. |
Note sull'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 parametrizzati.
-
Le istruzioni SQL devono essere terminate con una barra su una nuova riga (/).
-
Gli script possono contenere istruzioni DDL, DML PLSQL, ma le istruzioni
SELECTdirette non sono supportate. È supportato l'utilizzo di SELECT all'interno di un blocco PL/SQL.
Qualsiasi istruzione SQL che può essere eseguita utilizzando
EXECUTE IMMEDIATEfunzionerà se non contiene bind variable o definisce. -
Esempio
BEGIN
DBMS_CLOUD_REPO.INSTALL_SQL(
content => 'create table t1 (x varchar2(30))' || CHR(10) || '/',
stop_on_error => FALSE
);
END;
/
Funzione LIST_BRANCHES
Questa funzione elenca le diramazioni nella diramazione del repository di codici cloud identificate 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 sull'uso
-
Questa è una funzione di tabella con tipo restituito
list_branch_ret_tab. -
DBMS_CLOUD_REPO.LIST_BRANCHESrestituisce la colonna:name, che indica il nome della diramazione Cloud Code Repository.
Funzione LIST_COMMITS
Questa funzione elenca i commit nella diramazione del repository di codici cloud 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 di servizi cloud. Se non si specifica un valore |
file_path |
Elenca i file sotto il percorso della sottocartella specificato nel repository. Questo parametro è supportato solo per i provider cloud Git e Azure. Se non si specifica un valore |
commit_id |
Elenca i file che iniziano dal file Questo parametro è supportato per tutti i provider di servizi cloud. Se non si specifica un valore |
Esempi
SELECT name FROM DBMS_CLOUD_REPO.LIST_COMMITS(repo => l_repo);
SELECT name FROM DBMS_CLOUD_REPO.LIST_COMMITS (
repo => l_repo,
commit_id => '66dd2b23b74cd0afabd11af66c6aa9c550540ba6',
file_path => 'sub_dir/test11.sql'
);
Note sull'uso
-
Questa è una funzione di tabella con tipo restituito
list_commit_ret_tab. -
DBMS_CLOUD_REPO.LIST_COMMITSrestituisce la colonna:commit_id.
Funzione LIST_FILES
Questa funzione scarica un file dal repository di codici cloud. Facoltativamente, è possibile accedere al contenuto del file da una diramazione, un tag o un nome di commit specifici. Per impostazione predefinita, è possibile accedere al file dalla diramazione predefinita del repository. I risultati includono i nomi dei file e i metadati aggiuntivi sui 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 sotto il percorso della sottocartella specificato nel repository. |
branch_name |
Elenca i file da una diramazione specifica. |
tag_name |
Elenca i file da un tag specifico. |
commit_name |
Elenca i file da un commit specifico. |
Note sull'uso
-
Questa è una funzione di tabella con tipo restituito
list_file_ret_tab. -
DBMS_CLOUD_REPO.LIST_FILESrestituisce le colonne:id,name,urlebytes.
Esempio
SELECT name FROM DBMS_CLOUD_REPO.LIST_FILES(repo => l_repo);
NAME
-------------------------
test3.sql
Funzione LIST_REPOSITORIES
Questa funzione elenca tutti i repository di codici cloud identificati dall'argomento handle repo. I risultati includono i nomi del repository e i metadati aggiuntivi relativi ai repository.
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 di servizi cloud. |
description |
Breve descrizione di testo per il repository. Questo parametro è supportato dai provider cloud GITHUB e AWS. |
private |
Il repository è privato e accessibile solo con credenziali valide Questo parametro è supportato per il provider cloud GITHUB. |
Note sull'uso
-
Questa è una funzione di tabella con tipo restituito
list_repo_ret_tab. -
DBMS_CLOUD_REPO.LIST_REPOSITORIESrestituisce le colonne:id,name,owner,description,private,url,bytes,createdelast_modified.
Esempio
SELECT name description FROM DBMS_CLOUD_REPO.LIST_REPOSITORIES(:repo);
NAME DESCRIPTION
--------------------- ---------------
TestRepo1 My test repo
Procedura MERGE_BRANCH
Questa procedura unisce una diramazione del repository a un'altra diramazione specificata nel repository di codici cloud identificata dall'argomento di gestione 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 target in cui eseguire l'unione. Questo parametro è obbligatorio e supportato per tutti i provider cloud. |
commit_details |
Dettagli commit come documento JSON
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.
Procedura PUT_FILE
Questa procedura carica un file nel repository di codici cloud identificato dall'argomento handle repo. La procedura viene sovraccaricata per supportare il caricamento di un file da un oggetto directory o il caricamento del contenuto da un BLOB nel file di 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 del file per caricare il file nel repository. |
contents |
BLOB contenente il contenuto del file. |
directory_name |
Nome dell'oggetto directory contenente il nome del 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:
|
Esempio
BEGIN
DBMS_CLOUD_REPO.PUT_FILE(
repo => l_repo,
);
END;
/
Procedura UPDATE_REPOSITORY
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 di codici cloud.
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 di servizi 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;
/