DBMS_CLOUD_REPOについて

DBMS_CLOUD_REPOパッケージを使用すると、GitHub、AWS CodeCommit、Azure Reposなどのクラウド・コード(Git)リポジトリ内のファイルに簡単にアクセスできます。

このパッケージは、マルチクラウド・コード・リポジトリにアクセスするための単一のインタフェースであり、SQLファイルをGitリポジトリにアップロードしたり、クラウド・コード・リポジトリから直接SQLスクリプトをインストールしたりできます。このパッケージでは、クラウド・コード・リポジトリを使用して、SQLスクリプトのコード・バージョンを管理したり、Gitリポジトリからアプリケーション・コードをインストールまたはパッチ適用したりすることもできます。

概念

アーキテクチャ

DBMS_CLOUD_REPOパッケージには、次の4つの機能領域があります。

DBMS_CLOUD_REPOのデータ構造

DBMS_CLOUD_REPOパッケージは、レコード・タイプおよび汎用JSONオブジェクト・タイプrepoを定義します。

REPO JSONオブジェクト

DBMS_CLOUD_REPO REPOは、特定のクラウド・プロバイダのクラウド・コード・リポジトリを表す不透明なJSONオブジェクトです。REPOオブジェクトは、異なるDBMS_CLOUD_REPO APIに渡すことができます。この不透明なオブジェクトは、DBMS_CLOUD_REPOプロシージャおよびファンクションがマルチクラウド互換であることを保証します。クラウド・コード・リポジトリ・プロバイダ間で移行する際に、コードを変更する必要はありません。

DBMS_CLOUD_REPO初期化操作

DBMS_CLOUD_REPOパッケージ内の初期化操作のサブプログラムをリストします。

サブプログラム 説明
INIT_AWS_REPOファンクション このファンクションは、AWSリポジトリ・ハンドルを初期化し、不透明なタイプを返します。
INIT_AZURE_REPOファンクション このファンクションは、Azureリポジトリ・ハンドルを初期化し、不透明なタイプを返します。
INIT_GITHUB_REPOファンクション この関数は、GitHubリポジトリ・ハンドルを初期化し、不透明なタイプを返します。
INIT_REPOファンクション このファンクションは、クラウド・コード・リポジトリ・ハンドルを初期化し、不透明なJSONオブジェクトを返します。

DBMS_CLOUD_REPOリポジトリ管理操作

DBMS_CLOUD_REPOパッケージ内のリポジトリ管理操作のサブプログラムを示します。

サブプログラム 説明
CREATE_REPOSITORYプロシージャ このプロシージャは、repoハンドル引数で識別されるクラウド・コード・リポジトリを作成します。
DELETE_REPOSITORYプロシージャ このプロシージャは、repoハンドル引数で識別されるクラウド・コード・リポジトリを削除します。
LIST_REPOSITORIESファンクション このファンクションは、repoハンドル引数で識別されるすべてのクラウド・コード・リポジトリをリストします。
UPDATE_REPOSITORYプロシージャ このプロシージャは、repoハンドル引数で識別されるクラウド・コード・リポジトリを更新します。このプロシージャでは、Cloud Codeリポジトリでサポートされている名前、説明またはプライベート表示ステータスの更新がサポートされています。

DBMS_CLOUD_REPOリポジトリのブランチ管理操作

DBMS_CLOUD_REPOパッケージ内のリポジトリ・ブランチ管理操作のサブプログラムをリストします。

サブプログラム 説明
CREATE_BRANCHプロシージャ このプロシージャは、repoハンドル引数で識別されるクラウド・コード・リポジトリにブランチを作成します。
DELETE_BRANCHプロシージャ このプロシージャは、repoハンドル引数で識別されるクラウド・コード・リポジトリ内のブランチを削除します。
LIST_BRANCHESファンクション このファンクションは、repoハンドル引数で識別されるすべてのクラウド・コード・リポジトリ・ブランチをリストします。
LIST_COMMITSファンクション このファンクションは、repoハンドル引数で識別されるクラウド・コード・リポジトリ・ブランチ内のすべてのコミットをリストします。
MERGE_BRANCHプロシージャ このプロシージャは、クラウド・コード・リポジトリ・ブランチを、repo handle引数で識別されるクラウド・コード・リポジトリ内の指定された別のブランチにマージします。

DBMS_CLOUD_REPOファイル操作

DBMS_CLOUD_REPOパッケージ内のファイル操作のサブプログラムをリストします。

サブプログラム 説明
DELETE_FILEプロシージャ このプロシージャは、repoハンドル引数で識別されるクラウド・コード・リポジトリからファイルを削除します。
GET_FILEプロシージャおよびファンクション このファンクションは、クラウド・コード・リポジトリからファイルの内容をダウンロードします。このプロシージャを使用すると、クラウド・コード・リポジトリからファイルの内容をダウンロードし、そのファイルをディレクトリに保存できます。
LIST_FILESファンクション この関数は、クラウド・コード・リポジトリからファイルをダウンロードします。オプションで、特定のブランチ、タグまたはコミット名からファイル・コンテンツにアクセスできます。デフォルトでは、ファイルはデフォルトのリポジトリ・ブランチからアクセスされます。
PUT_FILEプロシージャ このプロシージャは、repo handle引数で識別されるクラウド・コード・リポジトリにファイルをアップロードします。ディレクトリ・オブジェクトからファイルをアップロードするか、CLOBからリポジトリ・ファイルにコンテンツをアップロードするかをサポートするために、プロシージャがオーバーロードされます。

DBMS_CLOUD_REPO SQLインストール操作

DBMS_CLOUD_REPOパッケージ内のSQLインストール操作のサブプログラムをリストします。

サブプログラム 説明
EXPORT_OBJECTプロシージャ このプロシージャは、データベース・オブジェクトのDDLメタデータを、repoハンドル引数で識別されるクラウド・コード・リポジトリにアップロードします。
EXPORT_SCHEMAプロシージャ このプロシージャは、スキーマ内のすべてのオブジェクトのメタデータを、repoハンドル引数で識別されるクラウド・コード・リポジトリ・ブランチにエクスポートします。
INSTALL_FILEプロシージャ このプロシージャは、repoハンドル引数で識別されるクラウド・コード・リポジトリ内のファイルからSQL文をインストールします。
INSTALL_SQLプロシージャ このプロシージャは、入力として指定されたバッファからSQL文をインストールします。

関連コンテンツ