Autonomous Databaseを使用したクラウド・コード・リポジトリでのファイルの管理および格納
Autonomous Databaseには、クラウド・コード(Git)リポジトリでファイルを管理および格納するためのルーチンが用意されています。 サポートされている「クラウド・コード・リポジトリ」は次のとおりです: GitHub、AWS CodeCommitおよびAzureリポジトリ。
- Autonomous Databaseを使用したクラウド・コード・リポジトリについて
DBMS_CLOUD_REPO
パッケージは、Autonomous Databaseから「クラウド・コード・リポジトリ」にアクセスするための単一のインタフェースを提供します。 - クラウド・コード・リポジトリの初期化
DBMS_CLOUD_REPO
初期化ルーチンは、「クラウド・コード・リポジトリ」を初期化します。 「クラウド・コード・リポジトリ」ハンドルを取得したら、ハンドルを使用して「クラウド・コード・リポジトリ」にアクセスします。 - クラウド・コード・リポジトリの作成と管理
DBMS_CLOUD_REPO
管理ルーチンを使用すると、リポジトリを作成、リスト表示、更新または削除して、「クラウド・コード・リポジトリ」を管理できます。 - クラウド・コード・リポジトリでのブランチの作成と管理
DBMS_CLOUD_REPO
管理ルーチンを使用すると、リポジトリ内のブランチを作成、リスト、マージまたは削除することで、「クラウド・コード・リポジトリ」ブランチを管理できます。 - クラウド・コード・リポジトリ・ブランチへのスキーマ・オブジェクトのエクスポート
DBMS_CLOUD_REPO
管理ルーチンを使用すると、スキーマ内のオブジェクトのメタデータを「クラウド・コード・リポジトリ」ブランチにエクスポートできます。 オブジェクト名またはオブジェクト・タイプに基づいてリストをフィルタできます。 - クラウド・コード・リポジトリでのファイル操作の使用
DBMS_CLOUD_REPO
ファイル操作では、「クラウド・コード・リポジトリ」のファイルを作成、取得、リスト表示、更新または削除できます。 - クラウド・コード・リポジトリでのSQLインストール操作の使用
DBMS_CLOUD_REPO
SQLインストール操作を使用すると、「クラウド・コード・リポジトリ」からSQLスクリプトを格納およびダウンロードできます。
親トピック: 開発
Autonomous Databaseを使用したクラウド・コード・リポジトリについて
DBMS_CLOUD_REPO
パッケージは、Autonomous Databaseから「クラウド・コード・リポジトリ」にアクセスするための単一のインタフェースを提供します。
サポートされているクラウド・コード・リポジトリには、次の機能があります:
-
Gitバージョン管理システム: Gitは、任意のファイル・セットの変更をトラッキングするためのソフトウェアで、通常は、ソフトウェア開発時に共同でソース・コードを開発するプログラマ間の作業の調整に使用されます。 その目標には、速度、データの整合性、および分散型非線形ワークフローのサポートが含まれます。
-
Gitリポジトリ: Gitリポジトリはプロジェクトの仮想ストレージです。 必要なときにアクセスできるコードのバージョンを保存できます。
DBMS_CLOUD_REPO
APIでは、リポジトリ・ハンドル(REPO
オブジェクト)が使用されます。 リポジトリ・ハンドルは、特定のクラウド・プロバイダの「クラウド・コード・リポジトリ」を表す不透明なJSONオブジェクトです。 REPO
オブジェクトは、様々なDBMS_CLOUD_REPO
APIに渡すことができます。 この不透明オブジェクトは、DBMS_CLOUD_REPO
プロシージャおよび関数がマルチ・クラウド互換であることを保証します。あるクラウド・コード・リポジトリ・プロバイダから別の「クラウド・コード・リポジトリ」に移行するときに、コードを変更する必要はありません。
-
リポジトリを初期化するためのリポジトリ初期化操作。
詳細については、「クラウド・コード・リポジトリの初期化」を参照してください。
-
リポジトリを作成、リスト、更新または削除できるリポジトリ管理操作。
詳細については、「クラウド・コード・リポジトリの作成と管理」を参照してください。
-
リポジトリ内のブランチを作成、リスト、マージまたは削除できるリポジトリ・ブランチ管理操作。
詳細については、「クラウド・コード・リポジトリでのブランチの作成と管理」を参照してください。
-
スキーマ内のすべてのオブジェクトのメタデータDDLをリポジトリにエクスポートします。
詳細については、「クラウド・コード・リポジトリ・ブランチへのスキーマ・オブジェクトのエクスポート」を参照してください。
-
ファイルをアップロード、ダウンロード、更新および削除するためのリポジトリ・ファイル管理操作。
詳細については、「クラウド・コード・リポジトリでのファイル操作の使用」を参照してください。
-
データベース・オブジェクトのメタデータDDLをリポジトリにエクスポートし、「クラウド・コード・リポジトリ」からデータベースにSQL文をインストールできるSQLインストール操作。
詳細については、「クラウド・コード・リポジトリでのSQLインストール操作の使用」を参照してください。
クラウド・コード・リポジトリの初期化
DBMS_CLOUD_REPO
初期化ルーチンは、「クラウド・コード・リポジトリ」を初期化します。 「クラウド・コード・リポジトリ」ハンドルを取得したら、ハンドルを使用して「クラウド・コード・リポジトリ」にアクセスします。
クラウド・コード・リポジトリを初期化するには:
初期化関数の詳細は、「DBMS_CLOUD_REPO初期化操作」を参照してください。
クラウド・コード・リポジトリの作成と管理
DBMS_CLOUD_REPO
管理ルーチンを使用すると、リポジトリを作成、リスト、更新または削除することで、「クラウド・コード・リポジトリ」を管理できます。
最初に、リポジトリへのアクセスを提供する「クラウド・コード・リポジトリ」ハンドルを取得します。 詳細は「クラウド・コード・リポジトリの初期化」を参照してください。
詳細については、「DBMS_CLOUD_REPOリポジトリ管理操作」を参照してください。
「クラウド・コード・リポジトリ」でのブランチの作成および管理
DBMS_CLOUD_REPO
管理ルーチンを使用すると、リポジトリ内のブランチを作成、リスト、マージまたは削除することで、「クラウド・コード・リポジトリ」ブランチを管理できます。
「クラウド・コード・リポジトリ」ブランチ管理操作を実行するには、最初に次を実行する必要があります:
-
資格証明の作成
詳細は「CREATE_CREDENTIALプロシージャ」を参照してください。
-
ハンドルを取得します。
詳細は「クラウド・コード・リポジトリの初期化」を参照してください。
-
リポジトリの作成
詳細は「クラウド・コード・リポジトリの作成と管理」を参照してください。
-
ADMINユーザーとしてログインするか、
DBMS_CLOUD_REPO
に対するEXECUTE
権限を持ちます。
詳細については、「DBMS_CLOUD_REPOリポジトリ・ブランチ管理操作」を参照してください。
クラウド・コード・リポジトリ・ブランチへのスキーマ・オブジェクトのエクスポート
DBMS_CLOUD_REPO
管理ルーチンを使用すると、スキーマ内のオブジェクトのメタデータを「クラウド・コード・リポジトリ」ブランチにエクスポートできます。 オブジェクト名またはオブジェクト・タイプに基づいてリストをフィルタできます。
スキーマ・メタデータをエクスポートするには、最初に次を実行する必要があります:
-
資格証明の作成
詳細は「CREATE_CREDENTIALプロシージャ」を参照してください。
-
ハンドルを取得します。
詳細は「クラウド・コード・リポジトリの初期化」を参照してください。
-
リポジトリの作成
詳細は「クラウド・コード・リポジトリの作成と管理」を参照してください。
-
ADMINユーザーとしてログインするか、
DBMS_CLOUD_REPO
に対するEXECUTE
権限を持ちます。
EXPORT_SCHEMA
プロシージャを使用して、スキーマ内のオブジェクトのメタデータを「クラウド・コード・リポジトリ」ブランチにエクスポートします:
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;
/
この例では、USER1
スキーマのメタデータをl_repo
リポジトリにエクスポートします。 エクスポートには、表EMPLOYEE_SALARY
およびEMPLOYEE_ADDRESS
のメタデータ、およびOFFICE
を含む表名が含まれます。 また、EMPLOYEE_RECORD_SEQ
順序をエクスポートし、スキーマ内のビューを除外します。
クラウド・コード・リポジトリでのファイル操作の使用
DBMS_CLOUD_REPO
ファイル操作を使用すると、「クラウド・コード・リポジトリ」のファイルを作成、取得、リスト、更新または削除できます。
ファイル操作を使用する前に、「クラウド・コード・リポジトリ」ハンドルを取得します。 詳細は「クラウド・コード・リポジトリの初期化」を参照してください。
また、ファイルを操作する前にリポジトリを作成する必要があります。 詳細は「クラウド・コード・リポジトリの作成と管理」を参照してください。
詳細については、「DBMS_CLOUD_REPOファイル操作」を参照してください。
クラウド・コード・リポジトリでのSQLインストール操作の使用
DBMS_CLOUD_REPO
SQLインストール操作では、「クラウド・コード・リポジトリ」からSQLスクリプトを格納およびダウンロードできます。
SQLインストール操作を使用する前に、「クラウド・コード・リポジトリ」ハンドルを取得します。 詳細は「クラウド・コード・リポジトリの初期化」を参照してください。
また、SQLインストール操作を使用する前にリポジトリを作成する必要があります。 詳細は「クラウド・コード・リポジトリの作成と管理」を参照してください。
スクリプトは、汎用SQLスクリプトではなく、スキーマ・インストール・スクリプトとして設計されています:
- スクリプトにSQL*Plusクライアント固有のコマンドを含めることはできません。
- スクリプトには、バインド変数またはパラメータ化されたスクリプトを含めることはできません。
- SQL文は、改行(/)でスラッシュで終了する必要があります。
- スクリプトにはDDL文、DML PLSQL文を含めることができますが、直接
SELECT
文はサポートされていません。 PL/SQLブロック内でのSELECTの使用がサポートされています。
EXECUTE IMMEDIATE
を使用して実行できるSQL文は、バインド変数または定義が含まれていない場合に機能します。
詳細については、「DBMS_CLOUD_REPO SQLインストール操作」を参照してください。