DBMS_CLOUD_REPOサブプログラムのサマリー
この項では、Autonomous Databaseで提供されるDBMS_CLOUD_REPO
サブプログラムについて説明します。
DBMS_CLOUD_REPO
パッケージは、次で構成されます:
関連項目
前提条件
開発者は、Oracle Public Cloud、マルチクラウドまたはExadata Cloud@CustomerにデプロイされたAutonomous DatabaseでDBMS_CLOUDプロシージャを使用できます。
デプロイメントの選択肢に応じて、Amazon S3、Azure Blob StorageおよびGoogle Cloud Storageサービス・プロバイダでDBMS_CLOUDプロシージャを使用するには、次の前提条件を満たす必要があります。
- Oracle Cloud InfrastructureドキュメンテーションのNAT Gatewayの作成の説明に従って、Autonomous Databaseリソースが存在するVirtual Cloud Network (VCN)でNATゲートウェイを作成します。
- NATゲートウェイを作成したら、Autonomous Databaseリソースが存在する各サブネット(VCN内)にルート・ルールおよびエグレス・セキュリティ・ルールを追加して、これらのリソースがゲートウェイを使用してAzure ADインスタンスから公開キーを取得できるようにします:
- サブネットの「サブネットの詳細」ページに移動します。
- 「Subnet Information」タブで、サブネットの「Route Table」の名前をクリックして、その「Route Table Details」ページを表示します。
- 既存のルート・ルールの表で、次の特性を持つルールがすでに存在します:
- 宛先: 0.0.0.0/0
- ターゲット・タイプ: NAT Gateway
- ターゲット: VCN内に作成したNATゲートウェイの名前
このようなルールが存在しない場合は、「ルート・ルールの追加」をクリックし、これらの特性を持つルート・ルールを追加します。
- サブネットの「サブネットの詳細」ページに戻ります。
- サブネットの「セキュリティ・リスト」表で、サブネットのセキュリティ・リストの名前をクリックして、その「セキュリティ・リストの詳細」ページを表示します。
- サイド・メニューの「リソース」で、「エグレス・ルール」をクリックします。
- 既存のエグレス・ルールの表で、次の特性を持つルールがすでに存在します:
- 宛先タイプ: CIDR
- 宛先: 0.0.0.0/0
- IPプロトコル: TCP
- ソース・ポート範囲: 443
- 宛先ポート範囲: すべて
そのようなルールが存在しない場合は、「エグレス・ルールの追加」をクリックし、これらの特性を持つエグレス・ルールを追加します。
環境のHTTPプロキシ設定では、データベースがクラウド・サービス・プロバイダにアクセスできるようにする必要があります。
ノート:
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ドキュメントとしてのコミット詳細 {"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } } |
例
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プロシージャ
このプロシージャは、repo
ハンドル引数で識別されるクラウド・コード・リポジトリにデータベース・オブジェクトのDDLメタデータをアップロードします。このプロシージャは、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
使用上のノート
オブジェクトDDLに対するカスタマイズされた制御には、DBMS_METADATA.GET_DDL
をDBMS_CLOUD_REPO.PUT_FILE
とともに使用できます。オブジェクトのメタデータ定義を取得するには、現在のユーザーがオブジェクト・メタデータを取得する権限を持っている必要があります。パッケージのセキュリティ要件については、『Oracle Database 19c PL/SQLパッケージおよびタイプ・リファレンス』または『Oracle Database 23ai PL/SQLパッケージおよびタイプ・リファレンス』のDBMS_METADATAを参照してください。
例
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を指定します。 このパラメータは、すべてのクラウド・プロバイダでサポートされています。 filter_list のJSONパラメータは次のとおりです。
|
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プロシージャおよびファンクション
このファンクションは、クラウド・コード・リポジトリからファイルのコンテンツをダウンロードします。このプロシージャでは、クラウド・コード・リポジトリからファイルのコンテンツをダウンロードし、そのファイルをディレクトリに保存できます。
構文
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のアクセスキー/シークレットキーを指定する資格証明オブジェクト。 |
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チーム・プロジェクト名。 |
例
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 |
次のクラウド・コード・リポジトリ・プロバイダ: DBMS_CLOUD_REPO.GITHUB_REPO ('GITHUB') DBMS_CLOUD_REPO.AWS_REPO ('AWS') DBMS_CLOUD_REPO.AZURE_REPO ('AZURE') |
repo_name |
リポジトリ名を指定します。DBMS_CLOUD_REPO.PARAM_REPO_NAME |
owner |
GitHubリポジトリ所有者。DBMS_CLOUD_REPO.PARAM_OWNER このパラメータは、GitHubクラウド・プロバイダにのみ適用されます。 |
region |
AWSリポジトリ・リージョンDBMS_CLOUD_REPO_PARAM_REGION このパラメータは、AWSクラウド・プロバイダにのみ適用されます。 |
organization |
Azure組織DBMS_CLOUD_REPO_PARAM_ORGANIZATION このパラメータは、Azureクラウド・プロバイダにのみ適用されます。 |
project |
Azureチーム・プロジェクトDBMS_CLOUD_REPO_PARAM_PROJECT このパラメータは、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 |
指定されたsha/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ドキュメントとしてのコミット詳細 {"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } }
|
例
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
ハンドル引数で識別されるクラウド・コード・リポジトリにファイルをアップロードします。このプロシージャは、ディレクトリ・オブジェクトからのファイルのアップロード、または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ドキュメントとしてのコミット詳細: {"message": "Commit message", "author": {"name": "Committing user name", "email": "Email of committing user" } } |
例
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;
/