Zusammenfassung der DBMS_CLOUD_REPO-Unterprogramme
In diesem Abschnitt werden die DBMS_CLOUD_REPO
-Unterprogramme beschrieben, die mit Autonomous Database bereitgestellt werden.
Das Package DBMS_CLOUD_REPO
besteht aus:
Verwandte Themen
Voraussetzungen
Als Entwickler können Sie DBMS_CLOUD-Prozeduren mit Autonomous Databases verwenden, die in Oracle Public Cloud, Multicloud oder Exadata Cloud@Customer bereitgestellt sind.
Je nach Deployment-Auswahl müssen die folgenden Voraussetzungen erfüllt sein, um die DBMS_CLOUD-Prozeduren mit den Serviceprovidern Amazon S3, Azure Blob Storage und Google Cloud Storage zu verwenden.
- Erstellen Sie ein NAT-Gateway im virtuellen Cloud-Netzwerk (VCN), in dem sich Ihre Autonomous Database-Ressourcen befinden, indem Sie die Anweisungen unter NAT-Gateway erstellen in der Oracle Cloud Infrastructure-Dokumentation befolgen.
- Nachdem Sie das NAT-Gateway erstellt haben, fügen Sie eine Routingregel und eine Egress-Sicherheitsregel zu jedem Subnetz (im VCN) hinzu, in dem sich Autonomous Database-Ressourcen befinden. So können diese Ressourcen mit dem Gateway einen Public Key aus Ihrer Azure AD-Instanz abrufen:
- Gehen Sie zur Seite Subnetzdetails für das Subnetz.
- Klicken Sie auf der Registerkarte Informationen zum Subnetz auf den Namen der Routentabelle des Subnetzes, um die Seite Routentabellendetails anzuzeigen.
- Prüfen Sie in der Tabelle der vorhandenen Routingregeln, ob bereits eine Regel mit den folgenden Eigenschaften vorhanden ist:
- Zielort: 0.0.0.0/0
- Zieltyp: NAT-Gateway
- Ziel: Der Name des NAT-Gateway, das Sie gerade im VCN erstellt haben
Wenn keine solche Regel vorhanden ist, klicken Sie auf Routenregeln hinzufügen, und fügen Sie eine Routingregel mit diesen Eigenschaften hinzu.
- Zurück zur Seite Subnetzdetails für das Subnetz.
- Klicken Sie in der Tabelle Sicherheitslisten des Subnetzes auf den Namen der Sicherheitsliste des Subnetzes, um die Seite Sicherheitslistendetails anzuzeigen.
- Klicken Sie im Seitenmenü unter Ressourcen auf Egress-Regeln.
- Prüfen Sie in der Tabelle der vorhandenen Ausgangsregeln, ob bereits eine Regel mit den folgenden Eigenschaften vorhanden ist:
- Zieltyp: CIDR
- Zielort: 0.0.0.0/0
- IP-Protokoll: TCP
- Quellportbereich: 443
- Ziel-Portbereich: Alle
Wenn keine derartige Regel vorhanden ist, klicken Sie auf Egress-Regeln hinzufügen, und fügen Sie eine Egress-Regel mit diesen Eigenschaften hinzu.
Die HTTP-Proxyeinstellungen in Ihrer Umgebung müssen es der Datenbank ermöglichen, auf den Cloud-Serviceprovider zuzugreifen.
Hinweis:
Die Netzwerkkonfiguration einschließlich des HTTP-Proxys kann nur bearbeitet werden, bis sich die Exadata-Infrastruktur im Status Aktivierung erforderlich befindet. Sobald sie aktiviert ist, können Sie diese Einstellungen nicht mehr bearbeiten.Für die Einrichtung eines HTTP-Proxys für eine bereits bereitgestellte Exadata-Infrastruktur ist eine Serviceanfrage (SR) in My Oracle Support erforderlich. Weitere Informationen finden Sie unter Serviceanfrage in My Oracle Support erstellen.
Prozedur CREATE_BRANCH
Diese Prozedur erstellt eine Verzweigung im Cloud-Code-Repository, die durch das Handle-Argument repo
identifiziert wird.
Syntax
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
);
Parameter
Parameter | Beschreibung |
---|---|
repo |
Gibt das Repository Handle an. Dieser Parameter ist obligatorisch und wird für alle Cloud-Provider unterstützt. |
branch_name |
Gibt den Repository-Verzweigungsnamen an. Dieser Parameter ist obligatorisch und wird für alle Cloud-Provider unterstützt. |
parent_branch_name |
Erstellt die neue Verzweigung mit dem Head Commit der angegebenen übergeordneten Verzweigung. Dieser Parameter wird für alle Cloud-Provider unterstützt. Wenn Sie keinen |
parent_commit_id |
Erstellt die neue Verzweigung mit dem angegebenen Repository Commit. Dieser Parameter wird für alle Cloud-Provider unterstützt. Wenn Sie keinen |
Beispiel
Hinweis:
Um eine Verzweigung in einem Cloud-Code-Repository zu erstellen, müssen Sie die übergeordnete Verzweigung oder die übergeordnete Commit-ID angeben.BEGIN
DBMS_CLOUD_REPO.CREATE_BRANCH
(
repo => l_repo,
branch_name => 'test_branch',
parent_branch_name => 'main'
);
END;
/
Hinweis zur Verwendung
Um die Prozedur DBMS_CLOUD_REPO.CREATE_BRANCH
auszuführen, müssen Sie als ADMIN-Benutzer angemeldet sein oder die Berechtigung EXECUTE
für DBMS_CLOUD_REPO
besitzen.
Prozedur CREATE_REPOSITORY
Diese Prozedur erstellt ein Cloud-Code-Repository, das mit dem Handle-Argument repo
identifiziert wird.
Syntax
PROCEDURE DBMS_CLOUD_REPO.CREATE_REPOSITORY
(
repo IN CLOB,
description IN CLOB DEFAULT NULL,
private IN BOOLEAN DEFAULT TRUE
);
Parameter
Parameter | Beschreibung |
---|---|
repo |
Gibt das Repository Handle an.
Dieser Parameter wird für alle Cloud-Provider unterstützt. |
description |
Eine kurze Textbeschreibung für das Repository.
Dieser Parameter wird für GITHUB- und AWS-Cloud-Provider unterstützt. |
private |
Das Repository ist privat und kann nur mit gültigen Zugangsdaten aufgerufen werden. Dieser Parameter wird nur für den GITHUB-Cloud-Provider unterstützt. |
Beispiel
BEGIN
DBMS_CLOUD_REPO.CREATE_REPOSITORY
(
repo => l_repo,
description => 'My test repo',
private => TRUE
);
END;
/
Prozedur DELETE_BRANCH
Diese Prozedur löscht eine Verzweigung im Cloudcode-Repository, die durch das Handle-argument repo
identifiziert wird.
Syntax
PROCEDURE DBMS_CLOUD_REPO.DELETE_BRANCH
(
repo IN CLOB,
branch_name IN VARCHAR2 DEFAULT NULL
);
Parameter
Parameter | Beschreibung |
---|---|
repo |
Gibt das Repository Handle an.
Dieser Parameter ist obligatorisch und wird für alle Cloud-Provider unterstützt. |
branch_name |
Verzweigung aus einem bestimmten Repository löschen.
Dieser Parameter ist obligatorisch und wird für alle Cloud-Provider unterstützt. |
Beispiel
BEGIN
DBMS_CLOUD_REPO.DELETE_BRANCH
(
repo => l_repo,
branch_name => 'test_branch'
);
END;
/
Hinweis zur Verwendung
Um die Prozedur DBMS_CLOUD_REPO.DELETE_BRANCH
auszuführen, müssen Sie als ADMIN-Benutzer angemeldet sein oder die Berechtigung EXECUTE
für DBMS_CLOUD_REPO
besitzen.
Prozedur DELETE_FILE
Diese Prozedur löscht eine Datei aus dem Cloud-Code-Repository, das durch das Handle-Argument repo
identifiziert wird.
Syntax
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
);
Parameter
Parameter | Beschreibung |
---|---|
repo |
Gibt das Repository Handle an. |
file_path |
Dateipfad zum Löschen der Datei im Repository. |
branch_name |
Datei aus einer bestimmten Verzweigung löschen. |
commit_details |
Commit-Details als JSON-Dokument {"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } } |
Beispiel
BEGIN
DBMS_CLOUD_REPO.DELETE_FILE
(
repo => l_repo,
file_path => 'scripts/test3.sql',
branch_name => 'test_branch'
);
END;
/
Prozedur DELETE_REPOSITORY
Diese Prozedur löscht das Cloud-Code-Repository, das durch das Handle-Argument repo
identifiziert wird.
Syntax
PROCEDURE DBMS_CLOUD_REPO.DELETE_REPOSITORY
(
repo IN CLOB
);
Parameter
Parameter | Beschreibung |
---|---|
repo |
Gibt das Repository Handle an. |
Beispiel
BEGIN
DBMS_CLOUD_REPO.DELETE_REPOSITORY
(
repo => l_repo
);
END;
/
Prozedur EXPORT_OBJECT
Diese Prozedur lädt die DDL-Metadaten eines Datenbankobjekts in das Cloud-Code-Repository hoch, das durch das Handle-Argument repo
identifiziert wird. Mit dieser Prozedur können Sie die Metadatendefinition eines Datenbankobjekts in einem einzigen Schritt hochladen.
Syntax
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
);
Parameter
Parameter | Beschreibung |
---|---|
repo |
Gibt das Repository Handle an. |
file_path |
Dateipfad für den Upload von Objektmetadaten im Repository. |
object_type |
Von DBMS_METADATA unterstützter Objekttyp. Weitere Informationen finden Sie unter DBMS_METADATA: Tabelle mit Objekttypen in Oracle Database 19c PL/SQL-Packages und Typenreferenz oder Oracle Database 23ai PL/SQL-Packages und Typenreferenz. |
object_name |
Name des Datenbankobjekts zum Abrufen von Metadaten. |
object_schema |
Eigentümerschema des Datenbankobjekts. |
branch_name |
Datei in einer bestimmten Verzweigung ablegen. |
commit_details |
Commit-Details als JSON-Dokument: |
append |
Metadaten-DDL an vorhandene Datei anhängen. |
Hinweis zur Verwendung
Für benutzerdefinierte Steuerelemente für die Objekt-DDL können Sie DBMS_METADATA.GET_DDL
zusammen mit DBMS_CLOUD_REPO.PUT_FILE
verwenden. Um die Metadatendefinition des Objekts abzurufen, muss der aktuelle Benutzer berechtigt sein, die Objektmetadaten abzurufen. Informationen zu den Sicherheitsanforderungen des Packages finden Sie unter DBMS_METADATA in Oracle Database 19c PL/SQL-Packages und Typenreferenz oder Oracle Database 23ai PL/SQL-Packages und Typenreferenz.
Beispiel
BEGIN
DBMS_CLOUD_REPO.EXPORT_OBJECT
(
repo => l_repo,
object_type => 'PACKAGE',
object_name => 'MYPACK',
file_path => 'mypack.sql'
);
END;
/
Prozedur EXPORT_SCHEMA
Diese Prozedur exportiert Metadaten aller Objekte in einem Schema in die Cloud-Code-Repository-Verzweigung, die durch das Handle-Argument repo
identifiziert wird.
Syntax
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
);
Parameter
Parameter | Beschreibung |
---|---|
repo |
Gibt das Repository Handle an. Dieser Parameter ist obligatorisch und wird für alle Cloud-Provider unterstützt. |
file_path |
Gibt den Namen der Schemadatei an, die in das Repository hochgeladen werden soll. Dieser Parameter ist obligatorisch und wird für alle Cloud-Provider unterstützt. |
schema_name |
Gibt den Namen des Schemas an, für das ein DDL-Skript in die Verzweigung "Cloud-Code-Repository" hochgeladen werden soll. Dieser Parameter ist obligatorisch und wird für alle Cloud-Provider unterstützt. |
filter_list |
Gibt das CLOB des JSON-Arrays an, das die Filterbedingungen definiert, um die Objekte einzuschließen oder auszuschließen, deren Metadaten exportiert werden müssen. Dieser Parameter wird für alle Cloud-Provider unterstützt. JSON-Parameter für
filter_list sind:
|
branch_name |
Gibt den Repository-Verzweigungsnamen an. Dieser Parameter wird für alle Cloud-Provider unterstützt. Wenn Sie keinen |
commit_details |
Commit-Details als JSON-Dokument {"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } } Dieser Parameter wird für alle Cloud-Provider unterstützt. Wenn Sie keinen |
Beispiel
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;
/
Hinweis zur Verwendung
Um die Prozedur DBMS_CLOUD_REPO.EXPORT_SCHEMA
auszuführen, müssen Sie als ADMIN-Benutzer angemeldet sein oder die Berechtigung EXECUTE
für DBMS_CLOUD_REPO
besitzen.
Prozedur und Funktion GET_FILE
Die Funktion lädt den Inhalt einer Datei aus dem Cloud-Code-Repository herunter. Mit dieser Prozedur können Sie den Inhalt einer Datei aus dem Cloud-Code-Repository herunterladen und die Datei in einem Verzeichnis speichern.
Syntax
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
);
Parameter
Parameter | Beschreibung |
---|---|
repo |
Gibt das Repository Handle an. |
file_path |
Dateipfad im Repository. |
directory_name |
Verzeichnisobjektname zum Speichern des Dateiinhalts. |
target_file_name |
Zieldatei zum Speichern des Verzeichnisses. |
branch_name |
Datei aus einer bestimmten Verzweigung abrufen. |
tag_name |
Datei aus einem bestimmten Tag abrufen. |
commit_name |
Datei aus einem bestimmten Commit abrufen. |
Beispiel
BEGIN
DBMS_CLOUD_REPO.GET_FILE
(
repo => l_repo,
file_path => 'test3.sql',
directory_name => 'DATA_PUMP_DIR',
target_file_name => 'test2.sql'
);
END;
/
Funktion INIT_AWS_REPO
Diese Funktion initialisiert ein Handle für ein AWS-Repository und gibt einen nicht transparenten Typ zurück.
Syntax
FUNCTION DBMS_CLOUD_REPO.INIT_AWS_REPO
(
credential_name IN VARCHAR2,
repo_name IN VARCHAR2,
region IN VARCHAR2
) RETURN repo;
Parameter
Parameter | Beschreibung |
---|---|
credential_name |
Zugangsdatenobjekt, das Zugriffsschlüssel/Secret Key von AWS CodeCommit angibt. |
repo_name |
Gibt den Repository-Namen an. |
region |
Gibt die AWS-Region für das CodeCommit-Repository an. |
Beispiel
BEGIN
:repo := DBMS_CLOUD_REPO.INIT_AWS_REPO
(
credential_name => 'AWS_CRED',
repo_name => 'my_repo',
region => 'us-east-1'
);
END;
/
Funktion INIT_AZURE_REPO
Diese Funktion initialisiert ein Handle für ein Azure-Repository und gibt einen nicht transparenten Typ zurück. Diese Funktion wird nur für Azure-Cloud-Provider unterstützt.
Syntax
FUNCTION DBMS_CLOUD_REPO.INIT_AZURE_REPO
(
credential_name IN VARCHAR2,
repo_name IN VARCHAR2,
organization IN VARCHAR2,
project IN VARCHAR2
) RETURN repo;
Parameter
Parameter | Beschreibung |
---|---|
credential_name |
Zugangsdatenobjekt, das Azure mit einem Benutzernamen und persönlichen Zugriffstoken (PAT) angibt. |
repo_name |
Gibt den Repository-Namen an. |
organization |
Gibt die Azure DevOps-Organisation an. |
project |
Name des Azure-Teamprojekts. |
Beispiel
BEGIN
:repo := DBMS_CLOUD_REPO.INIT_AZURE_REPO
(
credential_name => 'AZURE_CRED',
repo_name => 'my_repo',
organization => 'myorg',
project => 'myproj',
);
END;
/
Funktion INIT_GITHUB_REPO
Diese Funktion initialisiert ein Handle für ein GitHub-Repository und gibt einen nicht transparenten Typ zurück.
Syntax
FUNCTION DBMS_CLOUD_REPO.INIT_GITHUB_REPO
(
credential_name IN VARCHAR2 DEFAULT NULL,
repo_name IN VARCHAR2,
owner IN VARCHAR2)
RETURN repo;
Parameter
Parameter | Beschreibung |
---|---|
credential_name |
Zugangsdatenobjekt, das GitHub angibt. Benutzer-E-Mail und persönliches Zugriffstoken (PAT). |
repo_name |
Gibt den Repository-Namen an. |
owner |
Gibt den Repository-Eigentümer an. |
Beispiel
BEGIN
:repo := DBMS_CLOUD_REPO.INIT_GITHUB_REPO
(
credential_name => 'GITHUB_CRED',
repo_name => 'my_repo',
owner => 'foo'
);
END;
/
Funktion INIT_REPO
Diese Funktion initialisiert ein Handle für ein Cloud-Code-Repository und gibt ein nicht transparentes JSON-Objekt zurück. Diese Funktion ist eine generische Schnittstelle, die ein JSON-Dokument akzeptiert und verhindert, dass Code geändert werden muss. Sie müssen ein JSON-Dokument nur ändern, wenn Sie ein Code-Repository aus einem Cloud-Code-Repository in ein anderes Cloud-Code-Repository verschieben.
Syntax
FUNCTION DBMS_CLOUD_REPO.INIT_REPO
(
params IN CLOB)
RETURN CLOB;
Parameter
JSON-Parameter | Beschreibung |
---|---|
provider |
Einer der folgenden Cloudcode-Repository-Provider: DBMS_CLOUD_REPO.GITHUB_REPO ('GITHUB') DBMS_CLOUD_REPO.AWS_REPO ('AWS') DBMS_CLOUD_REPO.AZURE_REPO ('AZURE') |
repo_name |
Gibt den Repository-Namen an. DBMS_CLOUD_REPO.PARAM_REPO_NAME |
owner |
Eigentümer des GitHub-Repositorys. DBMS_CLOUD_REPO.PARAM_OWNER Dieser Parameter gilt nur für den GitHub-Cloud-Provider. |
region |
AWS-Repository-Region DBMS_CLOUD_REPO_PARAM_REGION Dieser Parameter gilt nur für den AWS-Cloud-Provider. |
organization |
Azure-Organisation DBMS_CLOUD_REPO_PARAM_ORGANIZATION Dieser Parameter gilt nur für Azure-Cloud-Provider. |
project |
Azure-Teamprojekt DBMS_CLOUD_REPO_PARAM_PROJECT Dieser Parameter gilt nur für Azure-Cloud-Provider. |
Beispiel
BEGIN
:repo := DBMS_CLOUD_REPO.INIT_REPO
(
params => JSON_OBJECT('credential_name' value 'mycred',
'repo_name' value 'myrepo',
'repo_owner' value 'foo')
);
END;
/
Prozedur INSTALL_FILE
Diese Prozedur installiert SQL-Anweisungen aus einer Datei im Cloud-Code-Repository, das durch das Handle-Argument repo
identifiziert wird.
Syntax
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
);
Parameter
Parameter | Beschreibung |
---|---|
repo |
Gibt das Repository Handle an. |
file_path |
Dateipfad im Repository. |
branch_name |
Verzweigung zur Installation der Datei aus einer bestimmten Verzweigung. |
tag_name |
Tag zur Installation der Datei aus einem bestimmten Tag. |
commit_name |
Commit-ID zur Installation der Datei aus einem bestimmten Commit. |
stop_on_error |
Ausführung der SQL-Anweisungen beim ersten Fehler stoppen. |
Verwendungshinweise
-
Sie können SQL-Anweisungen mit verschachteltem SQL aus einer Cloud-Code-Repository-Datei wie folgt installieren:
-
@
: Umfasst eine SQL-Datei mit einem relativen Pfad zum ROOT des Repositorys. -
@@
: Enthält eine SQL-Datei mit einem Pfad relativ zur aktuellen Datei.
-
-
Die Skripte sind als Schemainstallationsskripte und nicht als generische SQL-Skripte vorgesehen:
- Skripte dürfen keine clientspezifischen SQL*Plus-Befehle enthalten.
- Skripte dürfen keine Bind-Variablen oder parametrisierten Skripte enthalten.
- SQL-Anweisungen müssen mit einem Schrägstrich in einer neuen Zeile (/) beendet werden.
- Skripte können DDL-, DML- und PLSQL-Anweisungen enthalten, direkte
SELECT
-Anweisungen werden jedoch nicht unterstützt. Die Verwendung von SELECT in einem PL/SQL-Block wird unterstützt.
SQL-Anweisungen, die mit
EXECUTE IMMEDIATE
ausgeführt werden können, funktionieren, solange sie keine Bind-Variablen oder Definitionen enthalten.
Beispiel
BEGIN
DBMS_CLOUD_REPO.INSTALL_FILE
(
repo => l_repo,
file_path => 'test3.sql',
stop_on_error => FALSE
);
END;
/
Prozedur INSTALL_SQL
Diese Prozedur installiert SQL-Anweisungen aus einem als Eingabe angegebenen Puffer.
Syntax
PROCEDURE DBMS_CLOUD_REPO.INSTALL_SQL
(
content IN CLOB,
stop_on_error IN BOOLEAN DEFAULT TRUE
);
Parameter
Parameter | Beschreibungen |
---|---|
content |
Das CLOB, das die auszuführenden SQL-Anweisungen enthält. |
stop_on_error |
Ausführung der SQL-Anweisungen beim ersten Fehler stoppen. |
Verwendungshinweise
-
Die Skripte sind als Schemainstallationsskripte und nicht als generische SQL-Skripte vorgesehen:
- Skripte dürfen keine clientspezifischen SQL*Plus-Befehle enthalten.
- Skripte dürfen keine Bind-Variablen oder parametrisierten Skripte enthalten.
- SQL-Anweisungen müssen mit einem Schrägstrich in einer neuen Zeile (/) beendet werden.
- Skripte können DDL-, DML- und PLSQL-Anweisungen enthalten, direkte
SELECT
-Anweisungen werden jedoch nicht unterstützt. Die Verwendung von SELECT in einem PL/SQL-Block wird unterstützt.
SQL-Anweisungen, die mit
EXECUTE IMMEDIATE
ausgeführt werden können, funktionieren, solange sie keine Bind-Variablen oder Definitionen enthalten.
Beispiel
BEGIN
DBMS_CLOUD_REPO.INSTALL_SQL
(
content => 'create table t1 (x varchar2(30))' || CHR(10) || '/',
stop_on_error => FALSE
);
END;
/
Funktion LIST_BRANCHES
Diese Funktion listet Verzweigungen in der Cloud-Code-Repository-Verzweigung auf, die durch das Handle-Argument repo
identifiziert werden.
Syntax
FUNCTION DBMS_CLOUD_REPO.LIST_BRANCHES
(
repo IN CLOB
) RETURN list_branch_ret_tab PIPELINED PARALLEL_ENABLE;
Parameter
Parameter | Beschreibung |
---|---|
repo |
Gibt das Repository Handle an.
Dieser Parameter ist obligatorisch und wird für alle Cloud-Provider unterstützt. |
Beispiel
SELECT * FROM DBMS_CLOUD_REPO.LIST_BRANCHES
(repo => l_repo);
Verwendungshinweise
-
Dies ist eine Pipelintabellenfunktion mit dem Typ
list_branch_ret_tab.
-
DBMS_CLOUD_REPO.LIST_BRANCHES
gibt die Spaltename
zurück, die den Namen der Cloud-Code-Repository-Verzweigung angibt.
Funktion LIST_COMMITS
Diese Funktion listet Commits in der Cloud-Code-Repository-Verzweigung auf, die durch das Handle-Argument repo
identifiziert wird.
Syntax
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;
Parameter
Parameter | Beschreibung |
---|---|
repo |
Gibt das Repository Handle an.
Dieser Parameter ist obligatorisch und wird für alle Cloud-Provider unterstützt. |
branch_name |
Listet Commits aus einer bestimmten Filiale auf.
Dieser Parameter wird für alle Cloud-Provider unterstützt. Wenn Sie keinen |
file_path |
Listet Dateien unter dem angegebenen Unterordnerpfad im Repository auf.
Dieser Parameter wird nur für Git- und Azure-Cloudprovider unterstützt. Wenn Sie keinen |
commit_id |
Dateien ab dem angegebenen sha/id auflistenDieser Parameter wird für alle Cloud-Provider unterstützt. Wenn Sie keinen |
Beispiel
SELECT name FROM DBMS_CLOUD_REPO.LIST_COMMITS
(repo => l_repo);
Beispiel
SELECT name FROM DBMS_CLOUD_REPO.LIST_COMMITS
(
repo => l_repo,
commit_id => '66dd2b23b74cd0afabd11af66c6aa9c550540ba6',
file_path => 'sub_dir/test11.sql'
);
Verwendungshinweise
-
Dies ist eine Pipelintabellenfunktion mit dem Typ
list_commit_ret_tab.
-
DBMS_CLOUD_REPO.LIST_COMMITS
gibt die Spaltecommit_id
zurück.
Funktion LIST_FILES
Diese Funktion lädt eine Datei aus dem Cloud-Code-Repository herunter. Auf den Dateiinhalt können Sie optional über eine bestimmte Verzweigung, ein bestimmtes Tag oder einen bestimmten Commit-Namen zugreifen. Standardmäßig wird über die Standard-Repository-Verzweigung auf die Datei zugegriffen. Die Ergebnisse umfassen die Dateinamen und zusätzliche Metadaten zu den Dateien.
Syntax
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;
Parameter
Parameter | Beschreibung |
---|---|
repo |
Gibt das Repository Handle an. |
path |
Listet Dateien unter dem angegebenen Unterordnerpfad im Repository auf. |
branch_name |
Listet Dateien aus einer bestimmten Verzweigung auf. |
tag_name |
Listet Dateien aus einem bestimmten Tag auf. |
commit_name |
Listet Dateien aus einem bestimmten Commit auf. |
Verwendungshinweise
-
Dies ist eine Pipelinetabellenfunktion mit dem Rückgabetyp
list_file_ret_tab
. -
DBMS_CLOUD_REPO.LIST_FILES
gibt folgende Spalten zurück:id
,name
,url
undbytes
.
Beispiel
SELECT name FROM DBMS_CLOUD_REPO.LIST_FILES
(repo => l_repo);
NAME
-------------------------
test3.sql
Funktion LIST_REPOSITORIES
Diese Funktion listet alle Cloud-Code-Repositorys auf, die durch das Handle-Argument repo
identifiziert werden. Die Ergebnisse umfassen die Repository-Namen und zusätzliche Metadaten zu den Repositorys.
Syntax
FUNCTION DBMS_CLOUD_REPO.LIST_REPOSITORIES
(
repo IN CLOB
) RETURN list_repo_ret_tab PIPELINED PARALLEL_ENABLE;
Parameter
Parameter | Beschreibung |
---|---|
repo |
Gibt das Repository Handle an.
Dieser Parameter wird von allen Cloud-Providern unterstützt. |
description |
Eine kurze Textbeschreibung für das Repository.
Dieser Parameter wird von den GITHUB- und AWS-Cloud-Providern unterstützt. |
private |
Das Repository ist privat und kann nur mit gültigen Zugangsdaten aufgerufen werden. Dieser Parameter wird für den GITHUB-Cloud-Provider unterstützt. |
Verwendungshinweise
-
Dies ist eine Pipelinetabellenfunktion mit dem Rückgabetyp
list_repo_ret_tab
. -
DBMS_CLOUD_REPO.LIST_REPOSITORIES
gibt folgende Spalten zurück:id
,name
,owner
,description
,private
,url
,bytes
,created
undlast_modified
.
Beispiel
SELECT name description FROM DBMS_CLOUD_REPO.LIST_REPOSITORIES
(:repo);
NAME DESCRIPTION
--------------------- ---------------
TestRepo1 My test repo
Prozedur MERGE_BRANCH
Diese Prozedur führt eine Repository-Verzweigung in einer anderen angegebenen Verzweigung im Cloud-Code-Repository zusammen, die durch das Handle-Argument repo
identifiziert wird. Die Prozedur MERGE_BRANCH
wird derzeit in Azure nicht unterstützt.
Syntax
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
);
Parameter
Parameter | Beschreibung |
---|---|
repo |
Gibt das Repository Handle an. Dieser Parameter ist obligatorisch und wird für GITHUB- und AWS-Cloud-Provider unterstützt. |
branch_name |
Gibt den Git-Verzweigungsnamen an, der zusammengeführt werden soll. Dieser Parameter ist obligatorisch und wird für alle Cloud-Provider unterstützt. |
target_branch_name |
Gibt den Namen der Zielverzweigung an, in der die Zusammenführung erfolgen soll. Dieser Parameter ist obligatorisch und wird für alle Cloud-Provider unterstützt. |
commit_details |
Commit-Details als JSON-Dokument {"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } } Wenn Sie keinen |
Beispiel
BEGIN
DBMS_CLOUD_REPO.MERGE_BRANCH
(
repo => l_repo,
branch_name => 'test_branch',
target_branch_name => 'main'
);
END;
/
Hinweis zur Verwendung
Um die Prozedur DBMS_CLOUD_REPO.MERGE_BRANCH
auszuführen, müssen Sie als ADMIN-Benutzer angemeldet sein oder die Berechtigung EXECUTE
für DBMS_CLOUD_REPO
besitzen.
Prozedur PUT_FILE
Diese Prozedur lädt eine Datei in das Cloud-Code-Repository hoch, das durch das Handle-Argument repo
identifiziert wird. Die Prozedur wird überladen, um das Hochladen einer Datei aus einem Verzeichnisobjekt oder das Laden des Inhalts aus einem BLOB in die Repository-Datei zu unterstützen.
Syntax
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
);
Parameter
Parameter | Beschreibung |
---|---|
repo |
Gibt das Repository Handle an. |
file_path |
Dateipfad zum Hochladen der Datei im Repository. |
contents |
BLOB mit dem Dateiinhalt. |
directory_name |
Verzeichnisobjektname mit dem Dateinamen. |
source_file_name |
Name der Quelldatei, die in das Repository hochgeladen werden soll. |
branch_name |
Datei in einer bestimmten Verzweigung ablegen. |
commit_details |
Commit-Details als JSON-Dokument: {"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } } |
Beispiel
BEGIN
DBMS_CLOUD_REPO.PUT_FILE
(
repo => l_repo,
);
END;
/
Prozedur UPDATE_REPOSITORY
Diese Prozedur aktualisiert ein Cloud-Code-Repository, das mit dem Handle-Argument repo
identifiziert wird. UPDATE_REPOSITORY unterstützt die Aktualisierung des Namens, der Beschreibung oder des privaten Sichtbarkeitsstatus, wie vom Cloud-Code-Repository unterstützt.
Syntax
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
);
Parameter
Parameter | Beschreibung |
---|---|
repo |
Gibt das Repository Handle an.
Dieser Parameter wird für alle Cloud-Provider unterstützt. |
new_name |
Neuer Name für das Repository.
Dieser Parameter wird für alle Cloud-Provider unterstützt. |
description |
Eine kurze Textbeschreibung für das Repository.
Dieser Parameter wird für GITHUB- und AWS-Cloud-Provider unterstützt. |
private |
Das Repository ist privat und kann nur mit gültigen Zugangsdaten aufgerufen werden. Dieser Parameter wird für den GITHUB-Cloud-Provider unterstützt. |
Beispiel
BEGIN
DBMS_CLOUD_REPO.UPDATE_REPOSITORY
(
repo => l_repo,
new_name => 'repo2'
);
END;
/