11 ORDS_EXPORT PL/SQLパッケージのリファレンス

この項では、ORDS_EXPORTパッケージを使用して、ユーザーがスキーマ内のREST対応オブジェクトをエクスポートする方法について説明します。

ORDS_EXPORT PL/SQLパッケージを使用すると、ユーザーはOracle REST Data Services (ORDS)のメタデータをPL/SQLスクリプトとしてエクスポートでき、これを実行してメタデータを再作成できます。これにより、ORDS構成の移行、バックアップおよびデプロイメントが容易になります。

11.1 EXPORT_SCHEMA

形式

FUNCTION export_schema(
   p_include_modules       IN BOOLEAN,
   p_include_privileges    IN BOOLEAN,
   p_include_roles         IN BOOLEAN,
   p_include_oauth         IN BOOLEAN,
   p_include_rest_objects  IN BOOLEAN,
   p_include_jwt_profiles  IN BOOLEAN,
   p_include_enable_schema IN BOOLEAN,
   p_export_date           IN BOOLEAN
) RETURN CLOB;
説明
export_schemaファンクションを使用すると、ユーザーはCURRENT_SCHEMA内のRESTモジュール、テンプレート、ハンドラ、権限、ロール、OAuthクライアント、RESTオブジェクトおよびJWTプロファイルをエクスポートできます。

表11-1 パラメータ

パラメータ 説明
p_include_modules modules/templates/handlers/parametersコールをエクスポートに含めるかどうかを指定します。コールを含めるには値をTRUEに設定し、それ以外の場合は値をFALSEに設定します。
p_include_privileges すべての権限コールをエクスポートに含めるかどうかを指定します。コールを含めるには値をTRUEに設定し、それ以外の場合は値をFALSEに設定します。
p_include_roles すべてのロール・コールをエクスポートに含めるかどうかを指定します。それらのコールを含めるには、値をTRUEに設定します。そうでない場合は、値をFALSEに設定します。
p_include_oauth すべてのOauthクライアント・コールをエクスポートに含めるかどうかを指定します。それらのコールを含めるには、値をTRUEに設定します。そうでない場合は、値をFALSEに設定します。
p_include_rest_objects すべてのRESTオブジェクト・コールをエクスポートに含めるかどうかを指定します。それらのコールを含めるには、値をTRUEに設定します。そうでない場合は、値をFALSEに設定します。
p_include_jwt_profiles JWTプロファイル・コールをエクスポートに含めるかどうかを指定します。それらのコールを含めるには、値をTRUEに設定します。そうでない場合は、値をFALSEに設定します。
p_include_enable_schema エクスポートに
ORDS.ENABLE_SCHEMA
のコールを含めるかどうかを指定します。それらのコールを含めるには、値をTRUEに設定します。そうでない場合は、値をFALSEに設定します。
p_export_date エクスポート日をヘッダー・エクスポートに含めるかどうかを指定します。それらのコールを含めるには、値をTRUEに設定します。そうでない場合は、値をFALSEに設定します。

例11-1 スキーマのエクスポート

DECLARE
  v_exported_script CLOB;
BEGIN
  v_exported_script := ORDS_EXPORT.EXPORT_SCHEMA();
END;

例11-2 パラメータを使用したコンテンツのカスタマイズ

export_schemaファンクションを使用すると、ユーザーは出力スクリプトに含める項目をカスタマイズできます。

DECLARE
  v_exported_script CLOB;
BEGIN
  v_exported_script := ORDS_EXPORT.EXPORT_SCHEMA(
    P_INCLUDE_MODULES => TRUE,
    P_INCLUDE_PRIVILEGES => TRUE,
    P_INCLUDE_ROLES => TRUE,
    P_INCLUDE_OAUTH => TRUE,
    P_INCLUDE_REST_OBJECTS => TRUE,
    P_INCLUDE_JWT_PROFILES => FALSE,
    P_INCLUDE_ENABLE_SCHEMA => TRUE,
    P_EXPORT_DATE => FALSE
  );
END;

11.2 EXPORT_MODULE

形式

FUNCTION export_module (
   p_module_name             IN VARCHAR2,
   p_include_enable_schema   IN BOOLEAN ,
   p_include_privs           IN BOOLEAN ,
   p_privs_with_other_mod_refs   IN BOOLEAN DEFAULT FALSE,
   p_export_date             IN BOOLEAN DEFAULT TRUE
) RETURN CLOB;
説明
export_moduleファンクションは、指定されたモジュール(テンプレート/ハンドラ、ロール、権限、および同じ権限で保護されている他のモジュールへの参照を含む)をエクスポートします。

表11-2 パラメータ

パラメータ 説明
p_module_name エクスポートするモジュールの名前を指定します。エクスポートしたモジュールには、定義済のテンプレート、ハンドラおよびパラメータが含まれます。
p_include_enable_schema ORDS.ENABLE_SCHEMAのコールをエクスポートに含めるかどうかを指定します。それらのコールを含めるには、値をTRUEに設定します。そうでない場合は、値をFALSEに設定します。
p_include_privs モジュールに関連付けられた権限およびロールをエクスポートに含めるかどうかを指定します。それらのコールを含めるには、値をTRUEに設定します。そうでない場合は、値をFALSEに設定します。
p_privs_with_other_mod_refs エクスポートされる権限に、p_module_nameで指定されたモジュール以外のモジュールへの参照を含めるかどうか。すべてのモジュールへの参照を含めるには、権限定義に対してこの値をTRUEに設定します。そうでない場合は、エクスポートするモジュールのみを参照するように権限定義に対してこの値をFALSEに設定します。
p_export_date エクスポートが行われた日付をヘッダー・エクスポートに含めるかどうかを指定します。それらのコールを含めるには、値をTRUEに設定します。そうでない場合は、値をFALSEに設定します。

例11-3 RESTモジュールのエクスポート

export_moduleファンクションを使用すると、ユーザーはモジュールの名前を使用できます。デフォルトでは、エクスポートされたコードには次のものが含まれています:
  • モジュール定義
  • モジュールに含まれるテンプレートとハンドラ
  • モジュールに関連付けられた権限およびロール
  • REST対応スキーマへのコール
  • エクスポート日
DECLARE
  v_exported_script CLOB;
BEGIN
  v_exported_script := ORDS_EXPORT.EXPORT_MODULE(
    P_MODULE_NAME => 'module_1'
  );
END;

例11-4 パラメータを使用してコンテンツをカスタマイズしたエクスポート

export_moduleファンクションを使用すると、ユーザーは出力スクリプトに含める項目をカスタマイズできます。

DECLARE
  v_exported_script CLOB;
BEGIN
  v_exported_script := ORDS_EXPORT.EXPORT_MODULE(
    P_MODULE_NAME => 'module_1'
    P_INCLUDE_ENABLE_SCHEMA => TRUE,
    P_INCLUDE_PRIVILEGES => TRUE,
    p_PRIVS_WITH_OTHER_MOD_REFS => TRUE,
    P_EXPORT_DATE => FALSE
  );
END;

11.3 EXPORT_OAUTH_CLIENT

形式

FUNCTION export_oauth_client (
   p_client_name                            IN VARCHAR2,
   p_include_security_definitions           IN BOOLEAN,
   p_export_date                            IN BOOLEAN DEFAULT TRUE
) RETURN CLOB;
説明
export_oauth_clientファンクションは、スキーマが以前にREST対応であった場合に、現在のスキーマからOAuthクライアントを名前でエクスポートします。
エクスポートには次のものが含まれています:
  • OAuthクライアントに関連付けられた権限およびロール
  • エクスポート生成日

表11-3 パラメータ

パラメータ 説明
p_client_name エクスポートするOAuthクライアントの名前を指定します。
p_include_security_definitions OAuthクライアントに関連付けられた権限およびロールをエクスポートに含めるかどうかを指定します。それらを含めるには、値をTRUEに設定します。そうでない場合は、値をFALSEに設定します。
p_export_date エクスポート・ファイルのヘッダーにエクスポート日を含めるかどうかを指定します。含める場合は、値をTRUEに設定します。そうでない場合は、値をFALSEに設定します。

例11-5 OAuthクライアントのエクスポート

export_oauth_clientファンクションを使用すると、ユーザーは出力スクリプトに含める項目を選択できます。


DECLARE
  v_exported_script CLOB;
BEGIN
  v_exported_script := ORDS_EXPORT.EXPORT_OAUTH_CLIENT(
    P_CLIENT_NAME => 'client_1',
    P_INCLUDE_SECURITY_DEFINITIONS => TRUE,
    P_EXPORT_DATE => FALSE,
  );
END;