Criar e Gerenciar Grupos de Hiperlink de Tabela
Os Grupos de Hiperlinks de Tabela permitem que você acesse dados de vários objetos ou várias instruções SELECT por meio de um único URL. O uso de um Grupo de Hiperlinks de Tabela simplifica a recuperação de dados consolidando informações de vários objetos em um único ponto de acesso (URL).
Criar um Grupo de Hiperlinks de Tabela
Mostra as etapas para criar um Grupo de Hiperlinks de Tabela que fornece acesso a vários Hiperlinks de Tabela com um único URL.
Quando você acessa um Grupo de Hiperlinks de Tabela, ele usa os privilégios concedidos ao usuário do banco de dados que cria o Grupo de Hiperlinks de Tabela. O usuário que cria um Grupo de Hiperlinks de Tabela deve ter os privilégios mínimos necessários para fornecer acesso aos dados. Para manter a segurança, a Oracle recomenda que você não execute DBMS_DATA_ACCESS.CREATE_URL como o usuário ADMIN.
Para criar um Grupo de Hiperlinks de Tabela:
-
Identifique os objetos (tabelas ou views) e as instruções
SELECTque contêm as informações que você deseja compartilhar. -
Execute
DBMS_DATA_ACCESS.CREATE_URLpara gerar o Grupo de Hiperlinks da Tabela.Por exemplo:
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; /Neste exemplo, os parâmetros são:
-
sqls: especifica, como um array JSON, os detalhes do membro para um ou mais objetos de esquema ou instruções SQLSELECTa serem criados como membros de um Grupo de Hiperlinks da Tabela.O formato do array JSON é:
Nome do Atributo Obrigatório Descrição nameNão Especifica o nome do membro do grupo. Quando nenhum nome é fornecido, o procedimento cria um nome padrão. descriptionNão Descrição do membro do grupo sql_statementO fornecimento de sql_statementouschema_object_nameé obrigatórioinstrução SQL para o membro Consulte [Criar um Hiperlink de Tabela com uma Instrução Select](autonomous-table-hyperlink-generate-url.html#GUID-19ACA32B-3F7A-44BF-AF9F-69C424E3909D) para obter detalhes.
schema_nameNão Nome de esquema para o membro. Forneça um valor
schema_namesomente quando a tabela/view fornecida noschema_object_namenão estiver disponível no esquema atualConsulte Criar um Hiperlink de Tabela para uma Tabela ou uma View para obter detalhes.
schema_object_nameO fornecimento de sql_statementouschema_object_nameé obrigatórioNome da Tabela/View do membro Consulte [Create a Table Hyperlink for a Table or a View](autonomous-table-hyperlink-generate-url.html#GUID-382CC1A2-CCDF-4CC4-BC67-18A66B1DB61B) para obter detalhes.
default_bind_variableNão Aplicável somente a sql_statementscom variáveis de bindConsulte [Criar um Hiperlink de Tabela com uma Instrução Select](autonomous-table-hyperlink-generate-url.html#GUID-19ACA32B-3F7A-44BF-AF9F-69C424E3909D) para obter detalhes.
column_listsNão Igual ao definido para a criação de um Hiperlink de Tabela que não seja de grupo Consulte [Criar um Hiperlink de Tabela com Recursos de IU Especificados em Colunas](autonomous-table-hyperlink-generate-url.html#GUID-B9B39F35-6F30-4FDE-9176-FBE911ACFE05) para obter detalhes.
-
expiration_minutes: especifica que o Grupo de Hiperlinks da Tabela expira e é invalidado após 360 minutos. -
service_name: especifica que o Grupo de Hiperlinks de Tabela gerado é atendido com uma garantia e recursos específicos de nível de serviço. Por exemplo, use o parâmetroservice_namepara especificar que o acesso ao objeto seja mapeado para o serviço HIGH. -
result: fornece JSON que indica o resultado da operação.
Consulte Procedimento CREATE_URL para obter mais informações.
-
-
Verifique o resultado.
O
statuscontém o resultado que inclui os detalhes de criação do Grupo de Hiperlinks da Tabela. Por exemplo:{ "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" }
Observação
Observação: Você pode usar DBMS_DATA_ACCESS.LIST_ACTIVE_URLS e DBMS_DATA_ACCESS.LIST_MEMBERS para listar os membros Grupos de Hiperlink de Tabela e Grupo de Hiperlink de Tabela. Consulte Listar Hiperlinks da Tabela, Grupos e Membros do Grupo para obter mais informações.
Observações para criar um Grupo de Hiperlinks de Tabela:
-
O
resultinclui o valorpreauth_url: esse valor é o URL que você usa para acessar o Grupo de Hiperlinks da Tabela. Consulte Usar um Grupo de Hiperlinks de Tabela para Acessar Dados para obter mais informações. -
Quando você gera um Grupo de Hiperlinks de Tabela em uma instância do Autonomous AI Database com um ponto final privado, o resultado inclui um nome
private_preauth_urlcom o valor do formato:"https://private-endpoint/adb/p/parurl-token/data".Quando você gera um Grupo de Hiperlinks de Tabela em uma instância do Autonomous AI Database com um ponto final privado e o ponto final privado é configurado com a opção Permitir acesso público ativada, o resultado inclui o
preauth_urlpara o ponto final público e oprivate_preauth_url.Consulte Configurar Pontos Finais Privados e Usar um Ponto Final Privado com Acesso Público Permitido para obter mais informações.
-
Use
DBMS_DATA_ACCESS.EXTEND_URLpara estender a vida útil de um Grupo de Hiperlinks de Tabela. Quando você executaDBMS_DATA_ACCESS.EXTEND_URLcom umidque se destina a um Grupo de Hiperlinks de Tabela, isso só estende a expiração dos membros adicionados quando você cria o grupo comDBMS_DATA_ACCESS.CREATE_URL(isso não inclui Hiperlinks de Tabela adicionados comDBMS_DATA_ACCESS.ADD_MEMBER). Os Hiperlinks de Tabela adicionados comDBMS_DATA_ACCESS.ADD_MEMBERtambém existem independentemente fora do contexto do Grupo de Hiperlinks de Tabela e você pode executarDBMS_DATA_ACCESS.EXTEND_URLindependentemente nesses Hiperlinks de Tabela.Consulte ProcedimentoEXTEND_URL para obter mais informações.
-
Use o parâmetro
passwordse quiser criar um Grupo de Hiperlinks de Tabela protegido por senha. Se você incluir o parâmetro de senha, também poderá usar omax_failed_access_attemptspara especificar o número máximo de tentativas sequenciais de senha com falha; se esse valor for excedido, o Grupo de Hiperlinks da Tabela será invalidado.Consulte Criar um Hiperlink de Tabela Protegida por Senha para obter mais informações.
-
Consulte Observações para Criar um Hiperlink de Tabela ou um Grupo de Hiperlinks de Tabela para obter informações adicionais sobre parâmetros opcionais para
DBMS_DATA_ACCESS.CREATE_URL.
Adicionar um Membro do Grupo de Hiperlinks da Tabela
A qualquer momento, um usuário com privilégios apropriados pode adicionar um membro a um Grupo de Hiperlink de Tabela.
Use DBMS_DATA_ACCESS.ADD_MEMBER para adicionar um Hiperlink de Tabela existente a um grupo. Por exemplo:
DECLARE
status CLOB;
BEGIN
DBMS_DATA_ACCESS.ADD_MEMBER(
id => 'Vd1Px7QWASdqDbnndiuwTAyyEstv82PCHqS_example',
member_id => 'Zdd1Px7QWASdqDbnndiuwTAyyEstv82PCHlS_example',
result => status);
dbms_output.put_line(status);
END;
/Os parâmetros são:
-
id: especifica o ID do Grupo de Hiperlinks da Tabela. Esse é o valoridmostrado no resultado quando você cria um Grupo de Hiperlinks de Tabela. Consulte Criar um Grupo de Hiperlinks de Tabela para obter mais informações. -
member_id: especifica um ID de Hiperlink de Tabela existente a ser adicionado ao grupo. O valormember_idnão pode ser um ID do Grupo de Hiperlinks da Tabela (is_group_urldeve serfalse). Consulte Listar Hiperlinks de Tabela e Grupos de Hiperlinks de Tabela para obter mais informações. -
result: fornece JSON que indica o resultado da operação.
Consulte Procedimento ADD_MEMBER para obter mais informações.
Remover um Membro do Grupo de Hiperlinks da Tabela
A qualquer momento, um usuário com privilégios apropriados pode remover um membro de um Grupo de Hiperlinks de Tabela.
Use DBMS_DATA_ACCESS.REMOVE_MEMBER para remover um membro de um Grupo de Hiperlinks de Tabela. Por exemplo:
DECLARE
status CLOB;
BEGIN
DBMS_DATA_ACCESS.REMOVE_MEMBER(
id => 'Vd1Px7QWASdqDbnndiuwTAyyEstv82PCHqS_example',
member_id => 'Zdd1Px7QWASdqDbnndiuwTAyyEstv82PCHlS_example',
result => status);
dbms_output.put_line(status);
END;
/Os parâmetros são:
-
id: especifica o ID do Grupo de Hiperlinks da Tabela. Esse é o valoridmostrado no resultado quando você cria um Grupo de Hiperlinks de Tabela. Consulte Criar um Grupo de Hiperlinks de Tabela para obter mais informações. -
member_id: especifica o ID do membro a ser removido do Grupo de Hiperlinks da Tabela. -
result: fornece JSON que indica o resultado da operação.
Notas para remover um membro:
-
O valor
member_idnão pode ser um ID do Grupo de Hiperlinks da Tabela (is_group_urldeve serfalse). Consulte Observações para Listar Hiperlinks de Tabela e Grupos de Hiperlinks de Tabela para obter mais informações. -
Você pode usar
DBMS_DATA_ACCESS.LIST_MEMBERSpara listar os membros de um Grupo de Hiperlinks de Tabela. Consulte Observações para Listar Hiperlinks de Tabela e Grupos de Hiperlinks de Tabela para obter mais informações. -
Se o membro removido for um Hiperlink de Tabela existente que foi adicionado ao grupo usando
DBMS_DATA_ACCESS.ADD_MEMBER, o membro será removido do grupo, mas o Hiperlink de Tabela poderá ser acessado diretamente até que seja explicitamente invalidado ou expire. -
Se um Grupo de Hiperlink de Tabela contiver apenas um membro e esse membro for removido, o grupo será invalidado.
Consulte Procedimento REMOVE_MEMBER para obter mais informações.
Invalidar um Grupo de Hiperlink de Tabela
A qualquer momento, um usuário com privilégios apropriados pode invalidar um Grupo de Hiperlink de Tabela.
Use DBMS_DATA_ACCESS.INVALIDATE_URL para invalidar um Grupo de Hiperlinks de Tabela. Por exemplo:
DECLARE
status CLOB;
BEGIN
DBMS_DATA_ACCESS.INVALIDATE_URL(
id => 'Vd1Px7QWASdqDbnndiuwTAyyEstv82PCHqS_example',
result => status);
dbms_output.put_line(status);
END;
/Os parâmetros são:
-
id: especifica o ID do Grupo de Hiperlinks da Tabela. Esse é o valoridmostrado no resultado quando você cria um Grupo de Hiperlinks de Tabela. Consulte Criar um Grupo de Hiperlinks de Tabela para obter mais informações. -
result: fornece JSON que indica o resultado da operação.
Observação
Observação: Quando o parâmetro DBMS_DATA_ACCESS.INVALIDATE_URL id é um Grupo de Hiperlinks de Tabela, o procedimento invalida o grupo e todos os membros do grupo, com exceção de todos os membros do grupo que foram adicionados com DBMS_DATA_ACCESS.ADD_MEMBER. Depois de executar DBMS_DATA_ACCESS.INVALIDATE_URL, os membros adicionados com DBMS_DATA_ACCESS.ADD_MEMBER mantêm seus valores de invalidação de Hiperlink de Tabela independentes e você pode invalidar esses Hiperlinks de Tabela individualmente usando DBMS_DATA_ACCESS.INVALIDATE_URL.
Consulte Procedimento INVALIDATE_URL para obter mais informações.