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;
/
例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
です。
パラメータ
使用上の注意
ジョブは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;