Crear y gestionar grupos de hiperenlaces de tablas
Los grupos de hiperenlaces de tablas permiten acceder a datos de varios objetos o varias sentencias SELECT a través de una única URL. El uso de un grupo de hipervínculos de tabla simplifica la recuperación de datos mediante la consolidación de información de varios objetos en un punto de acceso (URL).
Creación de un grupo de hiperenlaces de tablas
Muestra los pasos para crear un grupo de hipervínculos de tabla que proporciona acceso a varios hipervínculos de tabla con una única URL.
Al acceder a un grupo de hipervínculos de tabla, utiliza los privilegios otorgados al usuario de la base de datos que crea el grupo de hipervínculos de tabla. El usuario que crea un grupo de hipervínculos de tabla debe tener los privilegios mínimos necesarios para proporcionar acceso a los datos. Para mantener la seguridad, Oracle recomienda que no ejecute DBMS_DATA_ACCESS.CREATE_URL como usuario ADMIN.
Para crear un grupo de hipervínculos de tabla:
-
Identifique los objetos (tablas o vistas) y las sentencias
SELECTque contienen la información que desea compartir. -
Ejecute
DBMS_DATA_ACCESS.CREATE_URLpara generar el grupo de hipervínculos de tabla.Por ejemplo:
DECLARE status CLOB; BEGIN DBMS_DATA_ACCESS.CREATE_URL( sqls => '[{"name": "employee", "description": "employee description", "schema_name":"SCOTT", "schema_object_name":"employee"}, {"name":"TREE", "description": "tree description", "sql_statement": "select * from admin.tree_data"}]', expiration_minutes => 360, result => status); dbms_output.put_line(status); END; /En este ejemplo, los parámetros son:
-
sqls: especifica, como matriz JSON, los detalles de miembro para uno o más objetos de esquema o sentencias SQLSELECTque se van a crear como miembros de un grupo de hiperenlaces de tablas.El formato de la matriz de JSON es:
Nombre de atributo Necesario Descripción nameNo Especifica el nombre del miembro del grupo. Cuando no se proporciona ningún nombre, el procedimiento crea un nombre por defecto. descriptionNo Descripción de miembro de grupo sql_statementProporcionar sql_statementoschema_object_namees obligatorioSentencia SQL para el miembro Consulte [Crear un hiperenlace de tabla con una sentencia Select](autonomous-table-hyperlink-generate-url.html#GUID-19ACA32B-3F7A-44BF-AF9F-69C424E3909D) para obtener más información.
schema_nameNo Nombre de esquema para el miembro. Proporcione un valor
schema_namesolo cuando la tabla/vista proporcionada enschema_object_nameno esté disponible en el esquema actualConsulte Creación de un hiperenlace de tabla para una tabla o una vista para obtener más información.
schema_object_nameProporcionar sql_statementoschema_object_namees obligatorioNombre de tabla/vista del miembro Consulte [Crear un hiperenlace de tabla para una tabla o una vista] (autonomous-table-hyperlink-generate-url.html#GUID-382CC1A2-CCDF-4CC4-BC67-18A66B1DB61B) para obtener más información.
default_bind_variableNo Aplicable solo para sql_statementscon variables de enlaceConsulte [Crear un hiperenlace de tabla con una sentencia Select](autonomous-table-hyperlink-generate-url.html#GUID-19ACA32B-3F7A-44BF-AF9F-69C424E3909D) para obtener más información.
column_listsNo Igual que se ha definido para la creación de un hiperenlace de tabla que no sea de grupo Consulte [Crear un hiperenlace de tabla con funciones de IU especificadas en columnas](autonomous-table-hyperlink-generate-url.html#GUID-B9B39F35-6F30-4FDE-9176-FBE911ACFE05) para obtener más información.
-
expiration_minutes: especifica que el grupo de hiperenlaces de tablas caduca y se invalida después de 360 minutos. -
service_name: especifica que el grupo de hiperenlaces de tablas generado recibe servicio con una garantía y recursos de nivel de servicio específicos. Por ejemplo, utilice el parámetroservice_namepara especificar que el acceso al objeto se asigne al servicio HIGH. -
result: proporciona JSON que indica el resultado de la operación.
Consulte Procedimiento CREATE_URL para obtener más información.
-
-
Compruebe el resultado.
statuscontiene el resultado que incluye los detalles de creación de grupo de hipervínculos de tabla. Por ejemplo:{ "status" : "SUCCESS", "id" : "P4LmrWC2-tGeHVlF6FRaQUIN2fW5nixkXa2t4ZGx6ubxxxyyyzzz-itojFFJFMooj", "preauth_url" : "https://dataaccess.adb.us-phoenix-1.oraclecloudapps.com/adb/p/QHD_Yvonle1eUCoxbN6bO...xyzabcFQEg/data", "member_ids" : [ "zAhrHMBwknDwmmA7Nh4fR3-Wuva6io_3y-Vv-iZNNc8XplGDxyxabc7SXf5xLmFGY", "JKYigWp5fvAftcRsuoFeaZx2JqMn9yk71KtEleBMWZ8XcDWxyzabcPKGOTJRHVu" ], "expiration_ts" : "2025-08-07T00:37:00.214Z" }
Nota
Nota: Puede utilizar DBMS_DATA_ACCESS.LIST_ACTIVE_URLS y DBMS_DATA_ACCESS.LIST_MEMBERS para mostrar los grupos de hipervínculos de tabla y los miembros del grupo de hipervínculos de tabla. Consulte Lista de hipervínculos de tabla, grupos y miembros de grupo para obtener más información.
Notas para crear un grupo de hipervínculos de tabla:
-
resultincluye el valorpreauth_url: este valor es la URL que utiliza para acceder al grupo de hiperenlaces de tablas. Consulte Uso de un grupo de hiperenlaces de tablas para acceder a los datos para obtener más información. -
Al generar un grupo de hiperenlaces de tablas en una instancia de base de datos de IA autónoma con un punto final privado, el resultado incluye un nombre
private_preauth_urlcon el valor del formulario:"https://private-endpoint/adb/p/parurl-token/data".Al generar un grupo de hiperenlaces de tablas en una instancia de base de datos de IA autónoma con un punto final privado y el punto final privado está configurado con Permitir acceso público activado, el resultado incluye tanto
preauth_urlpara el punto final público comoprivate_preauth_url.Consulte Configuración de puntos finales privados y Uso de un punto final privado con acceso público permitido para obtener más información.
-
Utilice
DBMS_DATA_ACCESS.EXTEND_URLpara ampliar la vida útil de un grupo de hiperenlaces de tablas. Al ejecutarDBMS_DATA_ACCESS.EXTEND_URLconidpara un grupo de hipervínculos de tabla, esto solo amplía la caducidad de los miembros agregados al crear el grupo conDBMS_DATA_ACCESS.CREATE_URL(no incluye los hipervínculos de tabla agregados conDBMS_DATA_ACCESS.ADD_MEMBER). Los hiperenlaces de tabla agregados conDBMS_DATA_ACCESS.ADD_MEMBERtambién existen de forma independiente fuera del contexto del grupo de hiperenlaces de tabla y puede ejecutarDBMS_DATA_ACCESS.EXTEND_URLde forma independiente en esos hiperenlaces de tabla.Consulte Procedimiento EXTEND_URL para obtener más información.
-
Utilice el parámetro
passwordsi desea crear un grupo de hiperenlaces de tablas protegido por contraseña. Si incluye el parámetro de contraseña, también puede utilizarmax_failed_access_attemptspara especificar el número máximo de intentos de contraseña fallidos secuenciales; si se supera este valor, el grupo de hipervínculos de tabla se invalida.Consulte Creación de un hiperenlace de tabla protegida con contraseña para obtener más información.
-
Consulte Notas para la creación de un hiperenlace de tabla o un grupo de hiperenlaces de tabla para obtener información adicional sobre los parámetros opcionales de
DBMS_DATA_ACCESS.CREATE_URL.
Agregar un miembro de grupo de hipervínculos de tabla
En cualquier momento, un usuario con los privilegios adecuados puede agregar un miembro a un grupo de hipervínculos de tabla.
Utilice DBMS_DATA_ACCESS.ADD_MEMBER para agregar un hiperenlace de tabla existente a un grupo. Por ejemplo:
DECLARE
status CLOB;
BEGIN
DBMS_DATA_ACCESS.ADD_MEMBER(
id => 'Vd1Px7QWASdqDbnndiuwTAyyEstv82PCHqS_example',
member_id => 'Zdd1Px7QWASdqDbnndiuwTAyyEstv82PCHlS_example',
result => status);
dbms_output.put_line(status);
END;
/Los parámetros son:
-
id: especifica el ID de grupo de hipervínculos de tabla. Este es el valoridque se muestra en el resultado al crear un grupo de hipervínculos de tabla. Consulte Creación de un grupo de hiperenlaces de tablas para obtener más información. -
member_id: especifica un ID de hiperenlace de tabla existente para agregar al grupo. El valormember_idno puede ser un ID de grupo de hipervínculos de tabla (is_group_urldebe serfalse). Consulte Lista de hiperenlaces de tablas y grupos de hiperenlaces de tablas para obtener más información. -
result: proporciona JSON que indica el resultado de la operación.
Consulte Procedimiento ADD_MEMBER para obtener más información.
Eliminar un miembro de grupo de hipervínculos de tabla
En cualquier momento, un usuario con los privilegios adecuados puede eliminar un miembro de un grupo de hipervínculos de tabla.
Utilice DBMS_DATA_ACCESS.REMOVE_MEMBER para eliminar un miembro de un grupo de hipervínculos de tabla. Por ejemplo:
DECLARE
status CLOB;
BEGIN
DBMS_DATA_ACCESS.REMOVE_MEMBER(
id => 'Vd1Px7QWASdqDbnndiuwTAyyEstv82PCHqS_example',
member_id => 'Zdd1Px7QWASdqDbnndiuwTAyyEstv82PCHlS_example',
result => status);
dbms_output.put_line(status);
END;
/Los parámetros son:
-
id: especifica el ID de grupo de hipervínculos de tabla. Este es el valoridque se muestra en el resultado al crear un grupo de hipervínculos de tabla. Consulte Creación de un grupo de hiperenlaces de tablas para obtener más información. -
member_id: especifica el ID de miembro que se va a eliminar del grupo de hiperenlaces de tablas. -
result: proporciona JSON que indica el resultado de la operación.
Notas para eliminar un miembro:
-
El valor
member_idno puede ser un ID de grupo de hipervínculos de tabla (is_group_urldebe serfalse). Consulte Notas para mostrar hipervínculos de tabla y grupos de hipervínculos de tabla para obtener más información. -
Puede utilizar
DBMS_DATA_ACCESS.LIST_MEMBERSpara mostrar los miembros de un grupo de hipervínculos de tabla. Consulte Notas para mostrar hipervínculos de tabla y grupos de hipervínculos de tabla para obtener más información. -
Si el miembro eliminado es un hiperenlace de tabla existente que se ha agregado al grupo mediante
DBMS_DATA_ACCESS.ADD_MEMBER, el miembro se elimina del grupo, pero se puede acceder directamente al hiperenlace de tabla hasta que se invalide o caduque explícitamente. -
Si un grupo de hipervínculos de tabla contiene solo un miembro y ese miembro se elimina, el grupo se invalidará.
Consulte Procedimiento REMOVE_MEMBER para obtener más información.
Invalidación de un Grupo de Hipervínculos de Tabla
En cualquier momento, un usuario con los privilegios adecuados puede invalidar un grupo de hipervínculos de tabla.
Utilice DBMS_DATA_ACCESS.INVALIDATE_URL para invalidar un grupo de hipervínculos de tabla. Por ejemplo:
DECLARE
status CLOB;
BEGIN
DBMS_DATA_ACCESS.INVALIDATE_URL(
id => 'Vd1Px7QWASdqDbnndiuwTAyyEstv82PCHqS_example',
result => status);
dbms_output.put_line(status);
END;
/Los parámetros son:
-
id: especifica el ID de grupo de hipervínculos de tabla. Este es el valoridque se muestra en el resultado al crear un grupo de hipervínculos de tabla. Consulte Creación de un grupo de hiperenlaces de tablas para obtener más información. -
result: proporciona JSON que indica el resultado de la operación.
Nota
Nota: cuando el parámetro DBMS_DATA_ACCESS.INVALIDATE_URL id es un grupo de hiperenlaces de tabla, el procedimiento invalida el grupo y todos los miembros del grupo, con la excepción de los miembros del grupo que se hayan agregado con DBMS_DATA_ACCESS.ADD_MEMBER. Después de ejecutar DBMS_DATA_ACCESS.INVALIDATE_URL, los miembros que se agregaron con DBMS_DATA_ACCESS.ADD_MEMBER mantienen sus valores de invalidación de hiperenlace de tabla independientes y puede invalidar estos hiperenlaces de tabla individualmente mediante DBMS_DATA_ACCESS.INVALIDATE_URL.
Consulte Procedimiento INVALIDATE_URL para obtener más información.