7 Oracle REST Data Services管理PL/SQLパッケージのリファレンス

Oracle REST Data Services(ORDS) ADMIN PL/SQLパッケージには、Oracle REST Data Servicesを使用してRESTfulサービスを開発および管理するための特権ユーザー用サブプログラム(プロシージャおよびファンクション)が含まれています。

データベース・ユーザーは、ORDS_ADMINパッケージを起動する前に、ORDS_ADMINISTRATOR_ROLEデータベース・ロールを付与されている必要があります。

次の例では、ORDS_ADMINISTRATOR_ROLEロールがADMINユーザーに付与されます。
GRANT ORDS_ADMINSTRATOR_ROLE TO ADMIN;

ORDS_ADMINパッケージはAUTHID CURRENT_USER権限を除いてORDSパッケージと同等であり、非推奨メソッドがなく、ターゲット・スキーマの指定が必要なすべてのメソッドおよび追加メソッドのp_schemaパラメータがありません。

7.1 RESTfulサービスの開発および管理のためのサブプログラムの例

この項では、ORDSを使用したRESTfulサービスの開発および管理に使用するサブプログラムの例を示します。

サブプログラムの例を次に示します。

例7-1 ORDS_ADMIN.CREATE_ROLE

形式

ORDS_ADMIN.CREATE_ROLE(
   p_schema    IN ords_schemas.parsing_schema%type,
   p_role_name IN sec_roles.name%type);

次の例では、ロールを作成します。

ORDS_ADMIN.CREATE_ROLE(
   p_schema    IN ords_schemas.parsing_schema%type,
   p_role_name IN sec_roles.name%type);

BEGIN
  ORDS_ADMIN.CREATE_ROLE(
    p_schema => 'tickets',
    p_role_name => 'Tickets User');
  };
END;
/

例7-2 ORDS_ADMIN.DEFINE_PARAMETER

形式

ORDS_ADMIN.DEFINE_PARAMETER(
   p_schema             IN ords_schemas.parsing_schema%type,
   p_module_name        IN ords_modules.name%type,
   p_pattern            IN ords_templates.uri_template%type,
   p_method             IN ords_handlers.method%type,
   p_name               IN ords_parameters.name%type ,
   p_bind_variable_name IN ords_parameters.bind_variable_name%type 
                              DEFAULT NULL,
   p_source_type        IN ords_parameters.source_type%type DEFAULT 'HEADER',
   p_param_type         IN ords_parameters.param_type%type DEFAULT 'STRING',
   p_access_method      IN ords_parameters.access_method%type DEFAULT 'IN',
   p_comments           IN ords_parameters.comments%type DEFAULT NULL);

次の例では、作成されたチケットの場所を格納するPOSTハンドラのアウトバウンド・パラメータを定義します。

BEGIN
  ORDS_ADMIN.DEFINE_PARAMETER(
    p_schema => 'tickets',
    p_module_name => 'my.tickets',
    p_pattern => '.',
    p_method => 'POST',
    p_name => 'X-APEX-FORWARD',
    p_bind_variable_name => 'location',
    p_source_type => 'HEADER',
    p_access_method => 'OUT'
  );
END;
/

パラメータ

p_schema
スキーマの名前を指定します。このパラメータは必須です。

例7-3 ORDS_ADMIN.ENABLE_HOUSEKEEPING_JOB

形式

ORDS_ADMIN.ENABLE_HOUSEKEEPING_JOB(p_enabled IN boolean DEFAULT TRUE);

説明

ENABLE_HOUSEKEEPING_JOBは、ORDS DBMS_SCHEDULERハウスキーピング・ジョブを作成して有効化または無効化します。非推奨のジョブCLEAN_OLD_ORDS_SESSIONSを置き換えるジョブ名はORDS_HOUSEKEEPING_JOBです。

パラメータ

p_enabled

ORDS HOUSEKEEPING_JOBを有効にするかどうかを指定します。値をTRUEに設定して、ORDS HOUSEKEEPING_JOBを有効にします。無効化するには、値をFALSEに設定します。NULL値は、ジョブが存在していない場合にジョブを作成して使用可能にします。それ以外の場合、有効な状態は変更されません。

使用上の注意

ジョブは1時間ごとに実行され、ORDSメタデータ・リポジトリ上でハウスキーピング・アクションが実行されます。コミットは不要です。

次の例では、ハウスキーピング・ジョブを有効化します。

EXECUTE ORDS_ADMIN.ENABLE_HOUSEKEEPING_JOB;

例7-4 ORDS_ADMIN.DROP_HOUSEKEEPING_JOB

形式

ORDS_ADMIN.DROP_HOUSEKEEPING_JOB;

説明

DROP_HOUSEKEEPING_JOBは、ORDS DBMS_SCHEDULERハウスキーピング・ジョブを削除します。ジョブ名はORDS_HOUSEKEEPING_JOBです。

パラメータ

なし。

使用上の注意

コミットは不要です。

次の例では、ハウスキーピング・ジョブを削除します。

EXECUTE ORDS_ADMIN.DROP_HOUSEKEEPING_JOB;

例7-5 ORDS_ADMIN.PERFORM_HOUSEKEEPING

形式

ORDS_ADMIN.PERFORM_HOUSEKEEPING;

説明

PERFORM_HOUSEKEEPINGは、ORDSハウスキーピング・アクションをただちに実行します。次のアクションが実行されます。

  • 1日以上経過した期限切れセッションを削除します。

パラメータ

なし。

使用上の注意

コミットは不要です。

次の例では、ORDSメタデータ・リポジトリに対してハウスキーピング・アクションを実行します。

EXECUTE ORDS_ADMIN.PERFORM_HOUSEKEEPING;