DBMS_CLOUD_REPOについて
DBMS_CLOUD_REPOパッケージを使用すると、GitHub、AWS CodeCommit、Azure Reposなどのクラウド・コード(Git)リポジトリ内のファイルに簡単にアクセスできます。
このパッケージは、マルチクラウド・コード・リポジトリにアクセスするための単一のインタフェースであり、SQLファイルをGitリポジトリにアップロードしたり、クラウド・コード・リポジトリから直接SQLスクリプトをインストールしたりできます。このパッケージでは、クラウド・コード・リポジトリを使用して、SQLスクリプトのコード・バージョンを管理したり、Gitリポジトリからアプリケーション・コードをインストールまたはパッチ適用したりすることもできます。
概念
-
Git Version Control System: Gitは、ファイル・セットの変更を追跡するためのソフトウェアで、通常は、ソフトウェア開発中にソース・コードを共同開発するプログラマ間の作業を調整するために使用されます。その目標には、速度、データの整合性、分散した非線形ワークフローのサポートが含まれます。
-
Gitリポジトリ: Gitリポジトリはプロジェクトの仮想記憶域です。これにより、必要に応じてアクセスできるコードのバージョンを保存できます。
アーキテクチャ
DBMS_CLOUD_REPOパッケージには、次の4つの機能領域があります。
-
汎用クラウド・コード・リポジトリ・ハンドルを使用したリポジトリの初期化
-
GitHubコード・リポジトリの初期化
-
AWS CodeCommitコード・リポジトリの初期化
-
Azureリポジトリ・コード・リポジトリの初期化
-
-
リポジトリ管理操作
-
リポジトリを作成します
-
リポジトリを更新します
-
リスト・リポジトリ
-
リポジトリを削除します
-
-
リポジトリ・ファイル管理操作
-
Oracle Databaseからコードをコード・リポジトリにアップロードします。
-
コード・リポジトリからOracle Databaseにファイルをダウンロードします。
-
コード・リポジトリからファイルを削除します。
-
コード・リポジトリからファイルをリストします。
-
-
SQLインストール操作
-
データベース・オブジェクト・メタデータDDLをリポジトリにエクスポートします。
-
Oracle Databaseのコード・リポジトリのファイルからSQL文をインストールします。
-
バッファからSQL文をインストールします。
-
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文をインストールします。 |