表ハイパーリンク・グループの作成および管理
表のハイパーリンク・グループを使用すると、1つのURLを介して複数のオブジェクトまたは複数のSELECT文のデータにアクセスできます。 表のハイパーリンク・グループを使用すると、様々なオブジェクトからの情報を1つのアクセス・ポイント(URL)に統合することで、データの取得が簡略化されます。
表ハイパーリンク・グループの作成
1つのURLを持つ複数の表ハイパーリンクへのアクセスを提供する表ハイパーリンク・グループを作成するステップを示します。
表ハイパーリンク・グループにアクセスすると、表ハイパーリンク・グループを作成するデータベース・ユーザーに付与された権限が使用されます。 表ハイパーリンク・グループを作成するユーザーには、データへのアクセスを提供するために必要な最小限の権限が必要です。 セキュリティを維持するために、Oracleでは、ADMINユーザーとしてDBMS_DATA_ACCESS.CREATE_URLを実行しないことをお薦めします。
表ハイパーリンク・グループを作成するには:
ノート:
DBMS_DATA_ACCESS.LIST_ACTIVE_URLSおよびDBMS_DATA_ACCESS.LIST_MEMBERSを使用して、表ハイパーリンク・グループおよび表ハイパーリンク・グループのメンバーをリストできます。 詳細については、「表のハイパーリンク、グループおよびグループ・メンバーのリスト」を参照してください。
表ハイパーリンク・グループの作成に関するノート:
-
resultには、preauth_url値が含まれます。この値は、表ハイパーリンク・グループへのアクセスに使用するURLです。 詳細については、「表ハイパーリンク・グループを使用したデータへのアクセス」を参照してください。 -
プライベート・エンドポイントを含むAutonomous Databaseインスタンスで表ハイパーリンク・グループを生成すると、結果には
private_preauth_urlという名前とフォームの値が含まれます:"https://private-endpoint/adb/p/parurl-token/data"。プライベート・エンドポイントを使用してAutonomous Databaseインスタンスに表ハイパーリンク・グループを生成し、プライベート・エンドポイントが「パブリック・アクセスの許可」を有効にして構成されている場合、結果にはパブリック・エンドポイントの
preauth_urlとprivate_preauth_urlの両方が含まれます。詳細については、「プライベート・エンドポイントの構成」と「パブリック・アクセスが許可されたプライベート・エンドポイントの使用」を参照してください。
-
DBMS_DATA_ACCESS.EXTEND_URLを使用して、表ハイパーリンク・グループの存続期間を延長します。 表ハイパーリンク・グループ用のidを使用してDBMS_DATA_ACCESS.EXTEND_URLを実行すると、DBMS_DATA_ACCESS.CREATE_URLを使用してグループを作成したときに追加されたメンバーの有効期限のみが延長されます(これには、DBMS_DATA_ACCESS.ADD_MEMBERで追加された表ハイパーリンクは含まれません)。DBMS_DATA_ACCESS.ADD_MEMBERで追加された表ハイパーリンクも、表ハイパーリンク・グループのコンテキストの外部で独立して存在し、それらの表ハイパーリンクでDBMS_DATA_ACCESS.EXTEND_URLを独立して実行できます。詳細については、「EXTEND_URLプロシージャ」を参照してください。
-
パスワードで保護された表のハイパーリンク・グループを作成する場合は、
passwordパラメータを使用します。 パスワード・パラメータを含める場合は、max_failed_access_attemptsを使用して、失敗したパスワードの連続試行の最大数を指定することもできます。この値を超えると、表ハイパーリンク・グループが無効になります。詳細は、パスワード保護された表のハイパーリンクの作成を参照してください。
-
DBMS_DATA_ACCESS.CREATE_URLのオプション・パラメータの詳細は、「表ハイパーリンクまたは表ハイパーリンク・グループの作成に関するノート」を参照してください。
表ハイパーリンク・グループ・メンバーの追加
適切な権限を持つユーザーはいつでも、表ハイパーリンク・グループにメンバーを追加できます。
DBMS_DATA_ACCESS.ADD_MEMBERを使用して、既存の表ハイパーリンクをグループに追加します。 たとえば:
DECLARE
status CLOB;
BEGIN
DBMS_DATA_ACCESS.ADD_MEMBER(
id => 'Vd1Px7QWASdqDbnndiuwTAyyEstv82PCHqS_example',
member_id => 'Zdd1Px7QWASdqDbnndiuwTAyyEstv82PCHlS_example',
result => status);
dbms_output.put_line(status);
END;
/
パラメータは次のとおりです:
-
id: 表のハイパーリンク・グループIDを指定します。 これは、表ハイパーリンク・グループの作成時に結果に表示されるid値です。 詳細については、「表ハイパーリンク・グループの作成」を参照してください。 member_id: グループに追加する既存の表ハイパーリンクIDを指定します。member_id値は表ハイパーリンク・グループIDにできません(is_group_urlはfalseである必要があります)。 詳細については、「表ハイパーリンクおよび表ハイパーリンク・グループのリスト」を参照してください。-
result: 、操作の結果を示すJSONを提供します。
詳細については、「ADD_MEMBERプロシージャ」を参照してください。
表ハイパーリンク・グループ・メンバーの削除
適切な権限を持つユーザーは、いつでも表のハイパーリンク・グループからメンバーを削除できます。
DBMS_DATA_ACCESS.REMOVE_MEMBERを使用して、表ハイパーリンク・グループからメンバーを削除します。 たとえば:
DECLARE
status CLOB;
BEGIN
DBMS_DATA_ACCESS.REMOVE_MEMBER(
id => 'Vd1Px7QWASdqDbnndiuwTAyyEstv82PCHqS_example',
member_id => 'Zdd1Px7QWASdqDbnndiuwTAyyEstv82PCHlS_example',
result => status);
dbms_output.put_line(status);
END;
/
パラメータは次のとおりです:
-
id: 表のハイパーリンク・グループIDを指定します。 これは、表ハイパーリンク・グループの作成時に結果に表示されるid値です。 詳細については、「表ハイパーリンク・グループの作成」を参照してください。 -
member_id: 表ハイパーリンク・グループから削除するメンバーIDを指定します。 -
result: 、操作の結果を示すJSONを提供します。
メンバーの削除に関するノート:
member_id値は表ハイパーリンク・グループIDにできません(is_group_urlはfalseである必要があります)。 詳細については、「表ハイパーリンクおよび表ハイパーリンク・グループのリストに関するノート」を参照してください。-
DBMS_DATA_ACCESS.LIST_MEMBERSを使用して、表ハイパーリンク・グループのメンバーをリストできます。 詳細については、「表ハイパーリンクおよび表ハイパーリンク・グループのリストに関するノート」を参照してください。 -
削除されたメンバーが、
DBMS_DATA_ACCESS.ADD_MEMBERを使用してグループに追加された既存の表ハイパーリンクである場合、そのメンバーはグループから削除されますが、表ハイパーリンクは明示的に無効化されるか期限切れになるまで直接アクセスできます。 -
表ハイパーリンク・グループに1つのメンバーのみが含まれ、そのメンバーが削除された場合、グループは無効化されます。
詳細については、「REMOVE_MEMBERプロシージャ」を参照してください。
表ハイパーリンク・グループの無効化
適切な権限を持つユーザーはいつでも、表ハイパーリンク・グループを無効にできます。
DBMS_DATA_ACCESS.INVALIDATE_URLを使用して、表ハイパーリンク・グループを無効化します。 たとえば:
DECLARE
status CLOB;
BEGIN
DBMS_DATA_ACCESS.INVALIDATE_URL(
id => 'Vd1Px7QWASdqDbnndiuwTAyyEstv82PCHqS_example',
result => status);
dbms_output.put_line(status);
END;
/
パラメータは次のとおりです:
-
id: 表のハイパーリンク・グループIDを指定します。 これは、表ハイパーリンク・グループの作成時に結果に表示されるid値です。 詳細については、「表ハイパーリンク・グループの作成」を参照してください。 -
result: 、操作の結果を示すJSONを提供します。
ノート:
DBMS_DATA_ACCESS.INVALIDATE_URL idパラメータが表のハイパーリンク・グループである場合、プロシージャは、DBMS_DATA_ACCESS.ADD_MEMBERで追加されたグループ・メンバーを除いて、グループおよびすべてのグループ・メンバーを無効にします。 DBMS_DATA_ACCESS.INVALIDATE_URLを実行すると、DBMS_DATA_ACCESS.ADD_MEMBERで追加されたメンバーは独立した表ハイパーリンク無効化値を保持し、DBMS_DATA_ACCESS.INVALIDATE_URLを使用してこれらの表ハイパーリンクを個別に無効化できます。
詳細については、「INVALIDATE_URLプロシージャ」を参照してください。