DBMS_CLOUD_REPO Unterprogramme - Übersicht
In diesem Abschnitt werden die DBMS_CLOUD_REPO-Unterprogramme behandelt, die mit der autonomen KI-Datenbank bereitgestellt werden.
Das Package DBMS_CLOUD_REPO besteht aus:
- DBMS_CLOUD_REPO Initialisierungsvorgänge
- DBMS_CLOUD_REPO Repository-Verwaltungsvorgänge
- DBMS_CLOUD_REPO-Dateivorgänge
- SQL-Installationsvorgänge für DBMS_CLOUD_REPO
Voraussetzungen
Als Entwickler können Sie DBMS_CLOUD-Prozeduren mit autonomen KI-Datenbanken verwenden, die in Oracle Public Cloud, Multicloud oder Exadata Cloud@Customer bereitgestellt sind.
Abhängig von der Bereitstellungsoption müssen die folgenden Voraussetzungen erfüllt sein, um die DBMS_CLOUD-Prozeduren mit Amazon S3-, Azure Blob Storage- und Google Cloud Storage-Serviceprovidern zu verwenden.
Eine ausgehende Konnektivität muss von Ihrem Flottenadministrator mit einem NAT-Gateway konfiguriert worden sein, wie unten beschrieben:
-
Sie können ein NAT-Gateway im virtuellen Cloud-Netzwerk (VCN) erstellen, in das sich Ihre autonomen KI-Datenbankressourcen befinden, indem Sie die Anweisungen in NAT-Gateway erstellen in der Oracle Cloud Infrastructure-Dokumentation befolgen.
-
Nachdem das NAT-Gateway erstellt wurde, fügen Sie eine Routingregel und eine Egress-Sicherheitsregel zu jedem Subnetz (im VCN) hinzu, in dem sich autonome KI-Datenbankressourcen befinden. Damit können diese Ressourcen über das Gateway einen öffentlichen Schlüssel von 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 Subnetzs, um die Seite Routentabellendetails anzuzeigen.
-
Überprüfen Sie in der Tabelle der vorhandenen Routingregeln, ob bereits eine Regel mit den folgenden Eigenschaften vorhanden ist:
-
Ziel: 0.0.0.0/0
-
Zieltyp: NAT-Gateway
-
Ziel: Der Name des NAT-Gateways, das Sie gerade im VCN erstellt hat
Wenn keine derartige Regel vorhanden ist, klicken Sie auf Routingregeln hinzufügen, und fügen Sie eine Routingregel mit diesen Merkmalen hinzu.
-
-
Kehren Sie zur Seite Subnetzdetails für das Subnetz erneut zurück.
-
Klicken Sie in der Tabelle Sicherheitslisten des Subnetzes auf den Namen der Sicherheitsliste des Subnetzes, um das Register Sicherheitslistendetails anzuzeigen.
-
Klicken sie im Seitenmenü unter Ressourcen auf Egress-Regeln.
-
Überprüfen Sie in der Tabelle der vorhandenen Egress-Regeln, ob bereits eine Regel mit den folgenden Eigenschaften vorhanden ist:
-
Zieltyp:CIDR
-
Ziel:0.0.0.0/0
-
IP-Protokoll:TCP
-
Quellportbereich:443
-
Zielportbereich: Alle
Wenn keine derartige Regel vorhanden ist, klicken Sie auf Egress-Regeln hinzufügen, und fügen Sie eine Egress-Regel mit diesen Merkmalen hinzu.
-
-
Die HTTP-Proxyeinstellungen in Ihrer Umgebung müssen es der Datenbank ermöglichen, auf den Cloud-Serviceprovider zuzugreifen.
Diese Einstellungen werden vom Flottenadministrator beim Erstellen der Exadata Cloud@Customer-Infrastruktur definiert, wie unter Exadata Database Service on Cloud@Customer mit der Konsole bereitstellen beschrieben.
Hinweis: Die Netzwerkkonfiguration einschließlich des HTTP-Proxys kann nur bearbeitet werden, bis die Exadata-Infrastruktur den Status Aktivierung erforderlich aufweist. Sobald es aktiviert ist, können Sie diese Einstellungen nicht mehr bearbeiten.
Für das Einrichten eines HTTP-Proxys für eine bereits bereitgestellte Exadata-Infrastruktur ist eine Serviceanfrage (SR) in My Oracle Support erforderlich. Weitere Informationen finden Sie unter Service Request in My Oracle Support erstellen.
CREATE_BRANCH Prozedur
Mit dieser Prozedur wird eine Verzweigung im Cloudcode-Repository erstellt, das 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 Namen der Repository-Verzweigung 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 über die Berechtigung EXECUTE für DBMS_CLOUD_REPO verfügen.
CREATE_REPOSITORY-Prozedur
Mit dieser Prozedur wird ein Cloudcode-Repository erstellt, das durch das repo-Handle-Argument 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 |
Repository ist privat und nur mit gültigen Zugangsdaten zugänglich Dieser Parameter wird nur für den GITHUB-Cloudprovider unterstützt. |
Beispiel
BEGIN
DBMS_CLOUD_REPO.CREATE_REPOSITORY(
repo => l_repo,
description => 'My test repo',
private => TRUE
);
END;
/
DELETE_BRANCH-Prozedur
Mit dieser Prozedur wird eine Verzweigung im Cloudcode-Repository gelöscht, das 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 über die Berechtigung EXECUTE für DBMS_CLOUD_REPO verfügen.
Prozedur DELETE_FILE
Mit dieser Prozedur wird eine Datei aus dem Cloudcode-Repository gelöscht, 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
|
Beispiel
BEGIN
DBMS_CLOUD_REPO.DELETE_FILE(
repo => l_repo,
file_path => 'scripts/test3.sql',
branch_name => 'test_branch'
);
END;
/
Prozedur DELETE_REPOSITORY
Mit dieser Prozedur wird das Cloudcode-Repository gelöscht, 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
Mit dieser Prozedur werden die DDL-Metadaten eines Datenbankobjekts in das Cloudcode-Repository hochgeladen, 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 zum Hochladen von Objektmetadaten im Repository. |
object_type |
Von DBMS_METADATA unterstützter Objekttyp. Weitere Einzelheiten finden Sie unter DBMS_METADATA: Objekttypen-Tabelle in der Referenz zu Oracle Database 19c PL/SQL-Packages und -Typen oder in der Oracle Database 26ai PL/SQL Packages and Types Reference. |
object_name |
Name des Datenbankobjekts, das Metadaten abrufen soll. |
object_schema |
Eigentümerschema des Datenbankobjekts. |
branch_name |
Datei in eine bestimmte Verzweigung einfügen. |
commit_details |
Commit-Details als JSON-Dokument:{"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } } |
append |
Metadaten-DDL an vorhandene Datei anhängen. |
Hinweis zur Verwendung
Für die benutzerdefinierte Kontrolle der 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 der Oracle Database 19c PL/SQL Packages and Types Reference oder unter Oracle Database 26ai PL/SQL Packages and Types Reference.
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 Cloudcode-Repository-Verzweigung 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 zum Ein- oder Ausschließen der Objekte definiert, deren Metadaten exportiert werden müssen. Dieser Parameter wird für alle Cloud-Provider unterstützt. JSON-Parameter für
|
branch_name |
Gibt den Namen der Repository-Verzweigung 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 über die Berechtigung EXECUTE für DBMS_CLOUD_REPO verfügen.
GET_FILE Prozedur und Funktion
Die Funktion lädt den Inhalt einer Datei aus dem Cloudcode-Repository herunter. Mit diesem Verfahren 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, um den Dateiinhalt zu speichern. |
target_file_name |
Zieldateiname zum Speichern des Inhalts im Verzeichnis. |
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;
/
INIT_AWS_REPO (Funktion)
Diese Funktion initialisiert ein AWS-Repository-Handle und gibt einen undurchsichtigen 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 AWS CodeCommit accesskey/secretkey 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;
/
INIT_AZURE_REPO (Funktion)
Diese Funktion initialisiert ein Azure-Repository-Handle und gibt einen undurchsichtigen 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 einem persönlichen Zugriffstoken (PAT) angibt. |
repo_name |
Gibt den Repository-Namen an. |
organization |
Gibt die Azure DevOps-Organisation an. |
project |
Azure-Teamprojektname. |
Beispiel
BEGIN
:repo := DBMS_CLOUD_REPO.INIT_AZURE_REPO(
credential_name => 'AZURE_CRED',
repo_name => 'my_repo',
organization => 'myorg',
project => 'myproj',
);
END;
/
INIT_GITHUB_REPO (Funktion)
Diese Funktion initialisiert ein GitHub-Repository-Handle und gibt einen undurchsichtigen 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;
/
INIT_REPO (Funktion)
Diese Funktion initialisiert ein Cloud Code Repository-Handle und gibt ein undurchsichtiges JSON-Objekt zurück. Diese Funktion ist eine generische Schnittstelle, mit der ein JSON-Dokument akzeptiert wird. Sie müssen den Code nicht ändern. Sie müssen nur ein JSON-Dokument ändern, wenn Sie ein Code-Repository von 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 |
Cloud-Code-Repository-Provider von:
|
repo_name |
Gibt den Repository-Namen an. DBMS_CLOUD_REPO.PARAM_REPO_NAME |
owner |
Eigentümer des GitHub-Repositorys. Dieser Parameter gilt nur für GitHub-Cloud-Provider. |
region |
AWS-Repository-Region. Dieser Parameter gilt nur für AWS-Cloud-Provider. |
organization |
Azure-Organisation. Dieser Parameter gilt nur für Azure-Cloud-Provider. |
project |
Azure-Teamprojekt. 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
Mit dieser Prozedur werden SQL-Anweisungen aus einer Datei im Cloud Code-Repository installiert, 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 zum Installieren der Datei aus einer bestimmten Verzweigung. |
tag_name |
Tag für die Installation der Datei von einem bestimmten Tag. |
commit_name |
Commit-ID zur Installation der Datei von einem bestimmten Commit. |
stop_on_error |
Stoppen Sie die Ausführung der SQL-Anweisungen beim ersten Fehler. |
Verwendungshinweise
-
Sie können SQL-Anweisungen mit verschachteltem SQL aus einer Cloud Code-Repository-Datei wie folgt installieren:
-
@: enthält 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 Schema-Installationsskripte und nicht als generische SQL-Skripte gedacht:
-
Skripte dürfen keine clientspezifischen SQL*Plus-Befehle enthalten.
-
Skripte können keine Bind-Variablen oder parametrisierte Skripte enthalten.
-
SQL-Anweisungen müssen mit einem Schrägstrich in einer neuen Zeile (/) beendet werden.
-
Skripte können DDL- und DML PLSQL-Anweisungen enthalten, direkte
SELECT-Anweisungen werden jedoch nicht unterstützt. Die Verwendung von SELECT in einem PL/SQL-Block wird unterstützt.
Jede SQL-Anweisung, die mit
EXECUTE IMMEDIATEausgeführt werden kann, funktioniert, wenn sie keine Bind-Variablen oder -Definitionen enthält. -
Beispiel
BEGIN
DBMS_CLOUD_REPO.INSTALL_FILE(
repo => l_repo,
file_path => 'test3.sql',
stop_on_error => FALSE
);
END;
/
INSTALL_SQL-Prozedur
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 |
Stoppen Sie die Ausführung der SQL-Anweisungen beim ersten Fehler. |
Verwendungshinweise
-
Die Skripte sind als Schema-Installationsskripte und nicht als generische SQL-Skripte gedacht:
-
Skripte dürfen keine clientspezifischen SQL*Plus-Befehle enthalten.
-
Skripte können keine Bind-Variablen oder parametrisierte Skripte enthalten.
-
SQL-Anweisungen müssen mit einem Schrägstrich in einer neuen Zeile (/) beendet werden.
-
Skripte können DDL- und DML PLSQL-Anweisungen enthalten, direkte
SELECT-Anweisungen werden jedoch nicht unterstützt. Die Verwendung von SELECT in einem PL/SQL-Block wird unterstützt.
Jede SQL-Anweisung, die mit
EXECUTE IMMEDIATEausgeführt werden kann, funktioniert, wenn sie keine Bind-Variablen oder -Definitionen enthält. -
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 Cloudcode-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 Pipelined-Tabellenfunktion mit dem Rückgabetyp
list_branch_ret_tab. -
DBMS_CLOUD_REPO.LIST_BRANCHESgibt die Spaltenamezurück, die den Namen der Cloudcode-Repository-Verzweigung angibt.
LIST_COMMITS-Funktion
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 Verzweigung auf. Dieser Parameter wird für alle Cloud-Provider unterstützt. Wenn Sie keinen |
file_path |
Dateien unter dem angegebenen Unterordnerpfad im Repository auflisten. Dieser Parameter wird nur für Git- und Azure-Cloud-Provider unterstützt. Wenn Sie keinen |
commit_id |
Listet Dateien ab dem angegebenen Dieser Parameter wird für alle Cloud-Provider unterstützt. Wenn Sie keinen |
Beispiele
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'
);
Verwendungshinweise
-
Dies ist eine Pipelined-Tabellenfunktion mit dem Rückgabetyp
list_commit_ret_tab. -
DBMS_CLOUD_REPO.LIST_COMMITSgibt die Spaltecommit_idzurück.
Funktion LIST_FILES
Diese Funktion lädt eine Datei aus dem Cloudcode-Repository herunter. Optional kann über einen bestimmten Verzweigungs-, Tag- oder Commit-Namen auf den Dateiinhalt zugegriffen werden. 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 |
Dateien aus einer bestimmten Verzweigung auflisten. |
tag_name |
Listen Sie Dateien aus einem bestimmten Tag auf. |
commit_name |
Dateien aus einem bestimmten Commit auflisten. |
Verwendungshinweise
-
Dies ist eine Pipelined-Tabellenfunktion mit dem Rückgabetyp
list_file_ret_tab. -
DBMS_CLOUD_REPO.LIST_FILESgibt die Spaltenid,name,urlundbyteszurück.
Beispiel
SELECT name FROM DBMS_CLOUD_REPO.LIST_FILES(repo => l_repo);
NAME
-------------------------
test3.sql
LIST_REPOSITORIES-Funktion
Diese Funktion listet alle Cloudcode-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-Anbietern unterstützt. |
private |
Repository ist privat und nur mit gültigen Zugangsdaten zugänglich Dieser Parameter wird für den GITHUB-Cloudprovider unterstützt. |
Verwendungshinweise
-
Dies ist eine Pipelined-Tabellenfunktion mit dem Rückgabetyp
list_repo_ret_tab. -
DBMS_CLOUD_REPO.LIST_REPOSITORIESgibt die Spaltenid,name,owner,description,private,url,bytes,createdundlast_modifiedzurück.
Beispiel
SELECT name description FROM DBMS_CLOUD_REPO.LIST_REPOSITORIES(:repo);
NAME DESCRIPTION
--------------------- ---------------
TestRepo1 My test repo
MERGE_BRANCH Prozedur
Diese Prozedur führt eine Repository-Verzweigung mit einer anderen angegebenen Verzweigung im Cloudcode-Repository zusammen, das 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 Zielverzweigungsnamen an, in den 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
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 über die Berechtigung EXECUTE für DBMS_CLOUD_REPO verfügen.
Prozedur PUT_FILE
Mit dieser Prozedur wird eine Datei in das Cloudcode-Repository hochgeladen, das durch das Handle-Argument repo identifiziert wird. Die Prozedur wird überlastet, um das Hochladen einer Datei aus einem Directory-Objekt oder das Hochladen 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 |
Quelldateiname für den Upload in das Repository. |
branch_name |
Datei in eine bestimmte Verzweigung einfügen. |
commit_details |
Commit-Details als JSON-Dokument:
|
Beispiel
BEGIN
DBMS_CLOUD_REPO.PUT_FILE(
repo => l_repo,
);
END;
/
Prozedur UPDATE_REPOSITORY
Mit dieser Prozedur wird ein Cloudcode-Repository aktualisiert, das durch das repo-Handle-Argument 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 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 |
Repository ist privat und nur mit gültigen Zugangsdaten zugänglich. Dieser Parameter wird für den GITHUB-Cloudprovider unterstützt. |
Beispiel
BEGIN
DBMS_CLOUD_REPO.UPDATE_REPOSITORY(
repo => l_repo,
new_name => 'repo2'
);
END;
/