DBMS_CLOUD_REPOサブプログラムの要約
この項では、Autonomous AI Databaseで提供されるDBMS_CLOUD_REPOサブプログラムについて説明します。
DBMS_CLOUD_REPOパッケージは、次のもので構成されます。
前提条件
開発者は、Oracle Public Cloud、MulticloudまたはExadata Cloud@CustomerにデプロイされたAutonomous AI DatabaseでDBMS_CLOUDプロシージャを使用できます。
デプロイメントの選択に応じて、DBMS_CLOUDプロシージャをAmazon S3、Azure Blob StorageおよびGoogle Cloud Storageサービス・プロバイダで使用するには、次の前提条件を満たす必要があります。
アウトバウンド接続は、次に説明するようにフリート管理者がNATゲートウェイを使用して構成されている必要があります。
-
Oracle Cloud InfrastructureドキュメントのNAT Gatewayの作成の手順に従って、Autonomous AI Databaseリソースが存在しているVirtual Cloud Network (VCN)にNAT Gatewayを作成します。
-
NATゲートウェイを作成したら、Autonomous AI Databaseリソースが存在する各サブネット(VCN内)にルート・ルールおよびエグレス・セキュリティ・ルールを追加して、これらのリソースがゲートウェイを使用してAzure ADインスタンスから公開キーを取得できるようにします:
-
サブネットの「サブネットの詳細」ページに移動します。
-
「サブネット情報」タブで、サブネットの「ルート表」の名前をクリックして、その「ルート表の詳細」ページを表示します。
-
既存のルート・ルールの表では、次の特性を持つルールがすでに存在するかどうかを確認します:
-
宛先: 0.0.0.0/0
-
ターゲット・タイプ: NAT Gateway
-
ターゲット: VCN内に作成したNATゲートウェイの名前
そのようなルールが存在しない場合は、「ルート・ルールの追加」をクリックし、これらの特性を持つルート・ルールを追加します。
-
-
サブネットの「サブネットの詳細」ページに戻ります。
-
サブネットの「セキュリティ・リスト」表で、サブネット セキュリティ・リストの名前をクリックして、その「セキュリティ・リストの詳細」ページを表示します。
-
サイド・メニュー内の「リソース」で、「エグレス・ルール」をクリックします。
-
既存のエグレス・ルールの表では、次の特性を持つルールがすでに存在するかどうかを確認します:
-
宛先タイプ:CIDR
-
宛先:0.0.0.0/0
-
IPプロトコル:TCP
-
ソース・ポート範囲:443
-
宛先ポート範囲:すべて
そのようなルールが存在しない場合は、「エグレス・ルールの追加」をクリックし、これらの特性を持つエグレス・ルールを追加します。
-
-
ご使用の環境のHTTPプロキシ設定では、データベースがクラウド・サービス・プロバイダにアクセスできるようにする必要があります。
これらの設定は、コンソールを使用したExadata Database Service on Cloud@Customerのプロビジョニングの説明に従って、Exadata Cloud@Customerインフラストラクチャの作成時にフリート管理者によって定義されます。
ノート: HTTPプロキシを含むネットワーク構成は、Exadataインフラストラクチャが「アクティブ化が必要」状態になるまで編集できます。アクティブ化した後は、これらの設定を編集できません。
すでにプロビジョニングされているExadataインフラストラクチャのHTTPプロキシを設定するには、My Oracle Supportでサービス・リクエスト(SR)が必要です。詳細は、My Oracle Supportでのサービス・リクエストの作成を参照してください。
CREATE_BRANCHプロシージャ
このプロシージャは、repoハンドル引数で識別されるクラウド・コード・リポジトリにブランチを作成します。
構文
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
);
Parameters
| パラメータ | 説明 |
|---|---|
repo |
リポジトリ・ハンドルを指定します。 このパラメータは必須であり、すべてのクラウド・プロバイダでサポートされています。 |
branch_name |
リポジトリ・ブランチ名を指定します。 このパラメータは必須であり、すべてのクラウド・プロバイダでサポートされています。 |
parent_branch_name |
指定された親ブランチのヘッド・コミットを使用して、新しいブランチを作成します。 このパラメータは、すべてのクラウド・プロバイダでサポートされています。
|
parent_commit_id |
指定されたリポジトリ・コミットを使用して新しいブランチを作成します。 このパラメータは、すべてのクラウドプロバイダーでサポートされています。
|
例
ノート:クラウド・コード・リポジトリにブランチを作成するには、親ブランチまたは親コミットIDを指定する必要があります。
BEGIN
DBMS_CLOUD_REPO.CREATE_BRANCH (
repo => l_repo,
branch_name => 'test_branch',
parent_branch_name => 'main'
);
END;
/
使用上のノート
DBMS_CLOUD_REPO.CREATE_BRANCHプロシージャを実行するには、ADMINユーザーとしてログインしているか、DBMS_CLOUD_REPOに対するEXECUTE権限を持っている必要があります。
CREATE_REPOSITORYプロシージャ
このプロシージャは、repoハンドル引数で識別されるクラウド・コード・リポジトリを作成します。
構文
PROCEDURE DBMS_CLOUD_REPO.CREATE_REPOSITORY(
repo IN CLOB,
description IN CLOB DEFAULT NULL,
private IN BOOLEAN DEFAULT TRUE
);
Parameters
| パラメータ | 説明 |
|---|---|
repo |
リポジトリ・ハンドルを指定します。 このパラメータは、すべてのクラウドプロバイダーでサポートされています。 |
description |
リポジトリの短いテキストの説明。 このパラメータは、GITHUBおよびAWSクラウド・プロバイダでサポートされています。 |
private |
リポジトリはプライベートであり、有効な資格証明でのみアクセス可能です このパラメータは、GITHUBクラウド・プロバイダでのみサポートされています。 |
例
BEGIN
DBMS_CLOUD_REPO.CREATE_REPOSITORY(
repo => l_repo,
description => 'My test repo',
private => TRUE
);
END;
/
DELETE_BRANCHプロシージャ
このプロシージャは、repoハンドル引数で識別されるクラウド・コード・リポジトリ内のブランチを削除します。
構文
PROCEDURE DBMS_CLOUD_REPO.DELETE_BRANCH (
repo IN CLOB,
branch_name IN VARCHAR2 DEFAULT NULL
);
Parameters
| パラメータ | 説明 |
|---|---|
repo |
リポジトリ・ハンドルを指定します。このパラメータは必須であり、すべてのクラウド・プロバイダでサポートされています。 |
branch_name |
特定のリポジトリからブランチを削除します。このパラメータは必須であり、すべてのクラウド・プロバイダでサポートされています。 |
例
BEGIN
DBMS_CLOUD_REPO.DELETE_BRANCH (
repo => l_repo,
branch_name => 'test_branch'
);
END;
/
使用上のノート
DBMS_CLOUD_REPO.DELETE_BRANCHプロシージャを実行するには、ADMINユーザーとしてログインしているか、DBMS_CLOUD_REPOに対するEXECUTE権限を持っている必要があります。
DELETE_FILEプロシージャ
このプロシージャは、repoハンドル引数で識別されるクラウド・コード・リポジトリからファイルを削除します。
構文
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
);
Parameters
| パラメータ | 説明 |
|---|---|
repo |
リポジトリ・ハンドルを指定します。 |
file_path |
リポジトリ内のファイルを削除するファイル・パス。 |
branch_name |
特定のブランチからファイルを削除します。 |
commit_details |
JSONドキュメントとしてのコミット詳細
|
例
BEGIN
DBMS_CLOUD_REPO.DELETE_FILE(
repo => l_repo,
file_path => 'scripts/test3.sql',
branch_name => 'test_branch'
);
END;
/
DELETE_REPOSITORYプロシージャ
このプロシージャは、repoハンドル引数で識別されるクラウド・コード・リポジトリを削除します。
構文
PROCEDURE DBMS_CLOUD_REPO.DELETE_REPOSITORY(
repo IN CLOB
);
Parameters
| パラメータ | 説明 |
|---|---|
repo |
リポジトリ・ハンドルを指定します。 |
例
BEGIN
DBMS_CLOUD_REPO.DELETE_REPOSITORY(
repo => l_repo
);
END;
/
EXPORT_OBJECTプロシージャ
このプロシージャは、データベース・オブジェクトのDDLメタデータを、repoハンドル引数で識別されるクラウド・コード・リポジトリにアップロードします。この手順は、データベース・オブジェクトのメタデータ定義を1ステップで簡単にアップロードする方法です。
構文
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
);
Parameters
| パラメータ | 説明 |
|---|---|
repo |
リポジトリ・ハンドルを指定します。 |
file_path |
リポジトリ内のオブジェクト・メタデータをアップロードするファイル・パス。 |
object_type |
DBMS_METADATAでサポートされているオブジェクト・タイプ。詳細は、『Oracle Database 19c PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス』のDBMS_METADATA: オブジェクト・タイプ表または『Oracle Database 26ai PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。 |
object_name |
メタデータを取得するデータベース・オブジェクトの名前。 |
object_schema |
データベース・オブジェクトの所有者スキーマ。 |
branch_name |
特定のブランチにファイルを配置します。 |
commit_details |
JSONドキュメントとしてのコミット詳細:{"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } } |
append |
メタデータDDLを既存のファイルに追加します。 |
使用上のノート
オブジェクトDDLのカスタマイズされた制御には、DBMS_METADATA.GET_DDLとDBMS_CLOUD_REPO.PUT_FILEを使用できます。オブジェクトのメタデータ定義を取得するには、現在のユーザーにオブジェクト・メタデータを取得する権限が必要です。パッケージのセキュリティ要件については、『Oracle Database 19c PL/SQLパッケージおよびタイプ・リファレンス』のDBMS_METADATAまたは『Oracle Database 26ai PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。
例
BEGIN
DBMS_CLOUD_REPO.EXPORT_OBJECT(
repo => l_repo,
object_type => 'PACKAGE',
object_name => 'MYPACK',
file_path => 'mypack.sql'
);
END;
/
EXPORT_SCHEMAプロシージャ
このプロシージャは、スキーマ内のすべてのオブジェクトのメタデータを、repoハンドル引数で識別されるクラウド・コード・リポジトリ・ブランチにエクスポートします。
構文
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
);
Parameters
| パラメータ | 説明 |
|---|---|
repo |
リポジトリ・ハンドルを指定します。 このパラメータは必須であり、すべてのクラウド・プロバイダでサポートされています。 |
file_path |
リポジトリにアップロードするスキーマ・ファイルの名前を指定します。 このパラメータは必須であり、すべてのクラウド・プロバイダでサポートされています。 |
schema_name |
DDLスクリプトをクラウド・コード・リポジトリ・ブランチにアップロードするスキーマの名前を指定します。 このパラメータは必須であり、すべてのクラウド・プロバイダでサポートされています。 |
filter_list |
メタデータをエクスポートする必要があるオブジェクトを含めるか除外するフィルタ条件を定義するJSON配列のCLOBを指定します。 このパラメータは、すべてのクラウド・プロバイダでサポートされています。
|
branch_name |
リポジトリ・ブランチ名を指定します。 このパラメータは、すべてのクラウド・プロバイダでサポートされています。
|
commit_details |
JSONドキュメントとしてのコミット詳細 {"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } }このパラメータは、すべてのクラウドプロバイダーでサポートされています。
|
例
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;
/
使用上のノート
DBMS_CLOUD_REPO.EXPORT_SCHEMAプロシージャを実行するには、ADMINユーザーとしてログインしているか、DBMS_CLOUD_REPOに対するEXECUTE権限を持っている必要があります。
GET_FILEプロシージャおよびファンクション
このファンクションは、クラウド・コード・リポジトリからファイルの内容をダウンロードします。このプロシージャを使用すると、Cloud Codeリポジトリからファイルの内容をダウンロードし、ファイルをディレクトリに保存できます。
構文
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
);
Parameters
| パラメータ | 説明 |
|---|---|
repo |
リポジトリ・ハンドルを指定します。 |
file_path |
リポジトリ内のファイル・パス。 |
directory_name |
ファイルの内容を保存するディレクトリ・オブジェクト名。 |
target_file_name |
内容をディレクトリに保存するターゲット・ファイル名。 |
branch_name |
特定のブランチからファイルを取得します。 |
tag_name |
特定のタグからファイルを取得します。 |
commit_name |
特定のコミットからファイルを取得します。 |
例
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ファンクション
このファンクションは、AWSリポジトリ・ハンドルを初期化し、不透明なタイプを返します。
構文
FUNCTION DBMS_CLOUD_REPO.INIT_AWS_REPO(
credential_name IN VARCHAR2,
repo_name IN VARCHAR2,
region IN VARCHAR2
) RETURN repo;
Parameters
| パラメータ | 説明 |
|---|---|
credential_name |
AWS CodeCommit accesskey/secretkeyを指定する資格証明オブジェクト。 |
repo_name |
リポジトリ名を指定します。 |
region |
CodeCommitリポジトリのAWSリージョンを指定します。 |
例
BEGIN
:repo := DBMS_CLOUD_REPO.INIT_AWS_REPO(
credential_name => 'AWS_CRED',
repo_name => 'my_repo',
region => 'us-east-1'
);
END;
/
INIT_AZURE_REPOファンクション
このファンクションは、Azureリポジトリ・ハンドルを初期化し、不透明なタイプを返します。この機能は、Azureクラウド・プロバイダでのみサポートされています。
構文
FUNCTION DBMS_CLOUD_REPO.INIT_AZURE_REPO(
credential_name IN VARCHAR2,
repo_name IN VARCHAR2,
organization IN VARCHAR2,
project IN VARCHAR2
) RETURN repo;
Parameters
| パラメータ | 説明 |
|---|---|
credential_name |
ユーザー名および個人アクセス・トークン(PAT)を使用して、Azureを指定する資格証明オブジェクト。 |
repo_name |
リポジトリ名を指定します。 |
organization |
Azure DevOps組織を指定します。 |
project |
Azure Team Projectの名前。 |
例
BEGIN
:repo := DBMS_CLOUD_REPO.INIT_AZURE_REPO(
credential_name => 'AZURE_CRED',
repo_name => 'my_repo',
organization => 'myorg',
project => 'myproj',
);
END;
/
INIT_GITHUB_REPOファンクション
この関数は、GitHubリポジトリ・ハンドルを初期化し、不透明なタイプを返します。
構文
FUNCTION DBMS_CLOUD_REPO.INIT_GITHUB_REPO(
credential_name IN VARCHAR2 DEFAULT NULL,
repo_name IN VARCHAR2,
owner IN VARCHAR2)
RETURN repo;
Parameters
| パラメータ | 説明 |
|---|---|
credential_name |
GitHubを指定する資格証明オブジェクト。 ユーザーの電子メールおよび個人アクセス・トークン(PAT)。 |
repo_name |
リポジトリ名を指定します。 |
owner |
リポジトリ所有者を指定します。 |
例
BEGIN
:repo := DBMS_CLOUD_REPO.INIT_GITHUB_REPO(
credential_name => 'GITHUB_CRED',
repo_name => 'my_repo',
owner => 'foo'
);
END;
/
INIT_REPOファンクション
このファンクションは、クラウド・コード・リポジトリ・ハンドルを初期化し、不透明なJSONオブジェクトを返します。この関数は、JSONドキュメントを受け入れるための汎用インタフェースであり、コードを変更する必要がなくなるため、あるクラウド・コード・リポジトリから別のクラウド・コード・リポジトリにコード・リポジトリを移動する場合にのみ、JSONドキュメントを変更する必要があります。
構文
FUNCTION DBMS_CLOUD_REPO.INIT_REPO(
params IN CLOB)
RETURN CLOB;
Parameters
| JSONパラメータ | 説明 |
|---|---|
provider |
次のクラウド・コード・リポジトリ・プロバイダ:
|
repo_name |
リポジトリ名を指定します。DBMS_CLOUD_REPO.PARAM_REPO_NAME |
owner |
GitHubリポジトリ所有者。 このパラメータは、GitHubクラウド・プロバイダにのみ適用されます。 |
region |
AWSリポジトリ・リージョン。 このパラメータは、AWSクラウド・プロバイダにのみ適用されます。 |
organization |
Azure組織。 このパラメータは、Azureクラウド・プロバイダにのみ適用されます。 |
project |
Azureチームプロジェクト。 このパラメータは、Azureクラウド・プロバイダにのみ適用されます。 |
例
BEGIN
:repo := DBMS_CLOUD_REPO.INIT_REPO(
params => JSON_OBJECT('credential_name' value 'mycred',
'repo_name' value 'myrepo',
'repo_owner' value 'foo')
);
END;
/
INSTALL_FILEプロシージャ
このプロシージャは、repoハンドル引数で識別されるクラウド・コード・リポジトリ内のファイルからSQL文をインストールします。
構文
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
);
Parameters
| パラメータ | 説明 |
|---|---|
repo |
リポジトリ・ハンドルを指定します。 |
file_path |
リポジトリ内のファイル・パス。 |
branch_name |
特定のブランチからファイルをインストールするブランチ。 |
tag_name |
特定のタグからファイルをインストールするタグ。 |
commit_name |
特定のコミットからファイルをインストールするためのコミットID。 |
stop_on_error |
最初のエラーでSQL文の実行を停止します。 |
使用上のノート
-
次のコマンドを使用して、ネストしたSQLを含むSQL文をクラウド・コード・リポジトリ・ファイルからインストールできます。
-
@: リポジトリのROOTへの相対パスを含むSQLファイルが含まれます。 -
@@: 現在のファイルに対する相対パスを持つSQLファイルが含まれます。
-
-
スクリプトは、一般的なSQLスクリプトではなく、スキーマ・インストール・スクリプトとして意図されています。
-
スクリプトにSQL*Plusクライアント固有のコマンドを含めることはできません。
-
スクリプトにバインド変数またはパラメータ化されたスクリプトを含めることはできません。
-
SQL文は、改行(/)でスラッシュで終了する必要があります。
-
スクリプトにはDDLおよびDML PLSQL文を含めることができますが、直接
SELECT文はサポートされません。PL/SQLブロック内でのSELECTの使用がサポートされています。
EXECUTE IMMEDIATEを使用して実行できるSQL文は、バインド変数または定義が含まれていない場合に機能します。 -
例
BEGIN
DBMS_CLOUD_REPO.INSTALL_FILE(
repo => l_repo,
file_path => 'test3.sql',
stop_on_error => FALSE
);
END;
/
INSTALL_SQLプロシージャ
このプロシージャは、入力として指定されたバッファからSQL文をインストールします。
構文
PROCEDURE DBMS_CLOUD_REPO.INSTALL_SQL(
content IN CLOB,
stop_on_error IN BOOLEAN DEFAULT TRUE
);
Parameters
| パラメータ | 説明 |
|---|---|
content |
実行するSQL文を含むCLOBです。 |
stop_on_error |
最初のエラーでSQL文の実行を停止します。 |
使用上のノート
-
スクリプトは、一般的なSQLスクリプトではなく、スキーマ・インストール・スクリプトとして意図されています。
-
スクリプトにSQL*Plusクライアント固有のコマンドを含めることはできません。
-
スクリプトにバインド変数またはパラメータ化されたスクリプトを含めることはできません。
-
SQL文は、改行(/)でスラッシュで終了する必要があります。
-
スクリプトにはDDLおよびDML PLSQL文を含めることができますが、直接
SELECT文はサポートされません。PL/SQLブロック内でのSELECTの使用がサポートされています。
EXECUTE IMMEDIATEを使用して実行できるSQL文は、バインド変数または定義が含まれていない場合に機能します。 -
例
BEGIN
DBMS_CLOUD_REPO.INSTALL_SQL(
content => 'create table t1 (x varchar2(30))' || CHR(10) || '/',
stop_on_error => FALSE
);
END;
/
LIST_BRANCHESファンクション
このファンクションは、repoハンドル引数で識別されるクラウド・コード・リポジトリ・ブランチ内のブランチをリストします。
構文
FUNCTION DBMS_CLOUD_REPO.LIST_BRANCHES(
repo IN CLOB
) RETURN list_branch_ret_tab PIPELINED PARALLEL_ENABLE;
Parameters
| パラメータ | 説明 |
|---|---|
repo |
リポジトリ・ハンドルを指定します。このパラメータは必須であり、すべてのクラウド・プロバイダでサポートされています。 |
例
SELECT * FROM DBMS_CLOUD_REPO.LIST_BRANCHES (repo => l_repo);
使用上のノート
-
これは、戻り値のタイプが
list_branch_ret_tab.のパイプライン・テーブル・ファンクションです -
DBMS_CLOUD_REPO.LIST_BRANCHESは、列nameを返します。これは、クラウド・コード・リポジトリ・ブランチの名前を示します。
LIST_COMMITSファンクション
このファンクションは、repoハンドル引数で識別されるクラウド・コード・リポジトリ・ブランチ内のコミットをリストします。
構文
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;
Parameters
| パラメータ | 説明 |
|---|---|
repo |
リポジトリ・ハンドルを指定します。 このパラメータは必須であり、すべてのクラウド・プロバイダでサポートされています。 |
branch_name |
特定のブランチからのコミットをリストします。 このパラメータは、すべてのクラウドプロバイダーでサポートされています。
|
file_path |
リポジトリ内の指定されたサブフォルダ・パスの下にファイルをリストします。 このパラメータは、GitおよびAzureクラウド・プロバイダでのみサポートされています。
|
commit_id |
指定された このパラメータは、すべてのクラウドプロバイダーでサポートされています。
|
例
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'
);
使用上のノート
-
これは、戻り値のタイプが
list_commit_ret_tab.のパイプライン・テーブル・ファンクションです -
DBMS_CLOUD_REPO.LIST_COMMITSは、列commit_idを返します。
LIST_FILESファンクション
この関数は、クラウド・コード・リポジトリからファイルをダウンロードします。オプションで、特定のブランチ、タグまたはコミット名からファイル・コンテンツにアクセスできます。デフォルトでは、ファイルはデフォルトのリポジトリ・ブランチからアクセスされます。結果には、ファイル名と、ファイルに関する追加のメタデータが含まれます。
構文
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;
Parameters
| パラメータ | 説明 |
|---|---|
repo |
リポジトリ・ハンドルを指定します。 |
path |
リポジトリ内の指定されたサブフォルダ・パスの下にファイルをリストします。 |
branch_name |
特定のブランチからのファイルのリスト。 |
tag_name |
特定のタグからのファイルのリスト。 |
commit_name |
特定のコミットからのファイルのリスト。 |
使用上のノート
-
これは、戻り値のタイプが
list_file_ret_tab.のパイプライン・テーブル・ファンクションです -
DBMS_CLOUD_REPO.LIST_FILESは、id、name、urlおよびbytesの列を返します。
例
SELECT name FROM DBMS_CLOUD_REPO.LIST_FILES(repo => l_repo);
NAME
-------------------------
test3.sql
LIST_REPOSITORIESファンクション
このファンクションは、repoハンドル引数で識別されるすべてのクラウド・コード・リポジトリをリストします。結果には、リポジトリ名とリポジトリに関する追加のメタデータが含まれます。
構文
FUNCTION DBMS_CLOUD_REPO.LIST_REPOSITORIES(
repo IN CLOB
) RETURN list_repo_ret_tab PIPELINED PARALLEL_ENABLE;
Parameters
| パラメータ | 説明 |
|---|---|
repo |
リポジトリ・ハンドルを指定します。 このパラメータは、すべてのクラウドプロバイダでサポートされています。 |
description |
リポジトリの短いテキストの説明。 このパラメータは、GITHUBおよびAWSクラウド・プロバイダをサポートしています。 |
private |
リポジトリはプライベートであり、有効な資格証明でのみアクセス可能です このパラメータは、GITHUBクラウド・プロバイダでサポートされています。 |
使用上のノート
-
これは、戻り値のタイプが
list_repo_ret_tab.のパイプライン・テーブル・ファンクションです -
DBMS_CLOUD_REPO.LIST_REPOSITORIESは、id、name、owner、description、private、url、bytes、createdおよびlast_modifiedの列を返します。
例
SELECT name description FROM DBMS_CLOUD_REPO.LIST_REPOSITORIES(:repo);
NAME DESCRIPTION
--------------------- ---------------
TestRepo1 My test repo
MERGE_BRANCHプロシージャ
このプロシージャは、リポジトリ・ブランチを、repoハンドル引数で識別されるクラウド・コード・リポジトリ内の指定された別のブランチにマージします。MERGE_BRANCHプロシージャは、現在Azureではサポートされていません。
構文
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
);
Parameters
| パラメータ | 説明 |
|---|---|
repo |
リポジトリ・ハンドルを指定します。 このパラメータは必須であり、GITHUBおよびAWSクラウド・プロバイダでサポートされています。 |
branch_name |
マージするGitブランチ名を指定します。 このパラメータは必須であり、すべてのクラウド・プロバイダでサポートされています。 |
target_branch_name |
マージ先のターゲット・ブランチ名を指定します。 このパラメータは必須であり、すべてのクラウド・プロバイダでサポートされています。 |
commit_details |
JSONドキュメントとしてのコミット詳細
|
例
BEGIN
DBMS_CLOUD_REPO.MERGE_BRANCH (
repo => l_repo,
branch_name => 'test_branch',
target_branch_name => 'main'
);
END;
/
使用上のノート
DBMS_CLOUD_REPO.MERGE_BRANCHプロシージャを実行するには、ADMINユーザーとしてログインしているか、DBMS_CLOUD_REPOに対するEXECUTE権限を持っている必要があります。
PUT_FILEプロシージャ
このプロシージャは、repo handle引数で識別されるクラウド・コード・リポジトリにファイルをアップロードします。ディレクトリ・オブジェクトからファイルをアップロードするか、BLOBからリポジトリ・ファイルにコンテンツをアップロードするかをサポートするために、プロシージャがオーバーロードされます。
構文
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
);
Parameters
| パラメータ | 説明 |
|---|---|
repo |
リポジトリ・ハンドルを指定します。 |
file_path |
リポジトリ内のファイルをアップロードするファイル・パス。 |
contents |
ファイルの内容を含むBLOB。 |
directory_name |
ファイル名を含むディレクトリ・オブジェクト名。 |
source_file_name |
リポジトリにアップロードするソース・ファイル名。 |
branch_name |
特定のブランチにファイルを配置します。 |
commit_details |
JSONドキュメントとしてのコミット詳細:
|
例
BEGIN
DBMS_CLOUD_REPO.PUT_FILE(
repo => l_repo,
);
END;
/
UPDATE_REPOSITORYプロシージャ
このプロシージャは、repoハンドル引数で識別されるクラウド・コード・リポジトリを更新します。UPDATE_REPOSITORYでは、クラウド・コード・リポジトリでサポートされている名前、説明またはプライベート表示ステータスの更新がサポートされています。
構文
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
);
Parameters
| パラメータ | 説明 |
|---|---|
repo |
リポジトリ・ハンドルを指定します。このパラメータは、すべてのクラウドプロバイダーでサポートされています。 |
new_name |
リポジトリの新しい名前。このパラメータは、すべてのクラウド・プロバイダでサポートされています。 |
description |
リポジトリの短いテキストの説明。このパラメータは、GITHUBおよびAWSクラウド・プロバイダでサポートされています。 |
private |
リポジトリはプライベートであり、有効な資格証明でのみアクセス可能です。 このパラメータは、GITHUBクラウド・プロバイダでサポートされています。 |
例
BEGIN
DBMS_CLOUD_REPO.UPDATE_REPOSITORY(
repo => l_repo,
new_name => 'repo2'
);
END;
/