Resumo de Subprogramas do Consumidor de Compartilhamento

Esta tabela lista as funções e os procedimentos do pacote DBMS_SHARE usados para consumir compartilhamentos.

Subprogramas Descrição
Procedimento ASSERT_SHARING_ID Execute verificações de validação básicas em um ID de compartilhamento e retorne um na forma canônica.
Procedimento e Função CREATE_CREDENTIALS Crie uma credencial que contenha o token do portador de um perfil delta.
Procedimento CREATE_OR_REPLACE_SHARE_LINK Assine para compartilhar de um provedor de compartilhamento registrado.
Procedimento CREATE_OR_REPLACE_ORACLE_SHARE_PROVIDER Inscreva-se em um provedor de compartilhamento Oracle, com um nome local.
Procedimento CREATE_ORACLE_SHARE_PROVIDER Inscreva-se em um provedor de compartilhamento Oracle, com um nome local.
Procedimento CREATE_SHARE_LINK Assine para compartilhar de um provedor de compartilhamento registrado.
Procedimento CREATE_SHARE_LINK_VIEW Crie ou substitua uma view nomeada que dê acesso a uma tabela compartilhada remota.
Procedimento CREATE_SHARE_PROVIDER Assine um provedor de compartilhamento delta.
Função DISCOVER_AVAILABLE_SHARES Retorne um SHARE_AVAILABLE_SHARES_ROW para cada tabela disponível dos provedores de compartilhamento inscritos.
Função DISCOVER_AVAILABLE_TABLES Retorne um SHARE_AVAILABLE_TABLES_ROW para cada tabela disponível dos provedores de compartilhamento inscritos ou de um ponto final delta explícito.
Procedimento DROP_SHARE_LINK Elimine um link de compartilhamento criado pelo procedimento CREATE_SHARE_LINK.
Procedimento DROP_SHARE_PROVIDER Solte uma assinatura para um provedor de compartilhamento.
Procedimento ENABLE_DELTA_ENDPOINT Crie ACLs necessárias que permitam que o usuário especificado se conecte a um ponto final delta.
Procedimento FLUSH_SHARE_LINK_CACHE Descarregue o cache de compartilhamentos para um determinado link de compartilhamento.
Procedimento FLUSH_SHARE_PROVIDER_CACHE Descarregue o cache de compartilhamentos para um determinado provedor de compartilhamento.
Procedimento e Função GENERATE_SHARE_LINK_SELECT Gere uma instrução SELECT que retorne dados de uma tabela compartilhada.
Função GET_ORACLE_SHARE_LINK_INFO Recupere o nome do link da nuvem e o namespace para um compartilhamento Oracle-to-Oracle.
Procedimento GET_SHARE_LINK_INFO Obtenha o(s) ponto(s) final(is), tipo de compartilhamento e nome de compartilhamento juntamente com quaisquer metadados JSON adicionais para um link de compartilhamento.
Procedimento GET_SHARE_PROVIDER_CREDENTIAL Obtenha o nome da credencial a ser usado pelo usuário atual quando ele tentar acessar o provedor de compartilhamento delta fornecido.
Procedimento GET_SHARE_PROVIDER_INFO Obtenha a(s) string(s) de ponto final e o tipo de compartilhamento juntamente com quaisquer metadados JSON adicionais para um provedor de compartilhamento.
Função GET_SHARING_ID Retorna um identificador que pode ser usado como o sharing_id no procedimento CREATE_SHARE_RECIPIENT.
Procedimento OPEN_SHARE_LINK_CURSOR Abra um cursor que retorne dados de uma tabela compartilhada.
Procedimento REFRESH_BEARER_TOKEN_CREDENTIAL Atualize uma ou mais credenciais criadas pelo CREATE_BEARER_TOKEN_CREDENTIAL ou CREATE_CREDENTIALS.
Procedimento RENAME_CLOUD_STORAGE_LINK Renomeie um link de armazenamento na nuvem registrado.
Procedimento RENAME_SHARE_LINK Renomear um link de compartilhamento registrado.
Procedimento RENAME_SHARE_PROVIDER Renomeie um provedor de compartilhamento registrado.
Procedimento REMOVE_SHARE_SCHEMA Remover um esquema e todo o seu conteúdo de um compartilhamento.
Procedimento SET_SHARE_LINK_METADATA Defina os metadados JSON adicionais para o link de compartilhamento.
Procedimento SET_SHARE_PROVIDER_CREDENTIAL Defina o nome da credencial para acessar o provedor de compartilhamento fornecido.
Procedimento SET_SHARE_PROVIDER_METADATA Defina metadados JSON adicionais para o provedor de compartilhamento.
Procedimento UPDATE_BEARER_TOKEN_CREDENTIAL Modifique um atributo de uma credencial criada por CREATE_CREDENTIALS ou CREATE_BEARER_TOKEN_CREDENTIAL.

ASSERT_SHARING_ID Procedimento

Execute verificações de validação básicas em um ID de compartilhamento e retorne um na forma canônica. Uma exceção será gerada se o id for obviamente inválido.

Sintaxe

PROCEDURE ASSERT_SHARING_ID
(
    sharing_id              IN OUT NOCOPY VARCHAR2,
    out_sharing_id_type     IN OUT NOCOPY VARCHAR2
);

Parâmetros

Parâmetro Descrição
sharing_id O id a ser verificado.
out_sharing_id_type O tipo do id, se válido. Por exemplo, TENANCY ou DATABASE.

CREATE_CREDENTIALS Procedimento e Função

Crie uma credencial que contenha o token do portador de um perfil de compartilhamento delta. O tipo padrão, versão 1, especifica um ponto final e um único token de portador de longo prazo.

Sintaxe

PROCEDURE CREATE_CREDENTIALS
(
    credential_base_name IN VARCHAR2,
    delta_profile        IN CLOB,
    out_credential_name  IN OUT NOCOPY VARCHAR2
);

Veja a seguir a versão funcional do create_credentials que retorna o nome das novas credenciais no formato JSON.

FUNCTION CREATE_CREDENTIALS
(
   credential_base_name IN VARCHAR2,
   delta_profile        IN CLOB
)
RETURN CLOB;

Parâmetros

Parâmetro Descrição
credential_base_name O nome base das credenciais a serem criadas.
delta_profile O perfil de compartilhamento delta, em formato JSON, obtido do provedor de compartilhamento.
{ "shareCredentialsVersion": 1, "endpoint": "https://", "bearerToken": "", "expirationTime": "...", }

O perfil também pode, opcionalmente, incluir uma propriedade tokenEndpoint junto com uma propriedade clientID e clientSecret.

{ "shareCredentialsVersion": 1, "endpoint": "https://", "bearerToken": "", "expirationTime": "...", "tokenEndpoint": "https://", "clientID": "", "clientSecret": "" }

Consulte Formato do Arquivo de Perfil e Token do Portador para obter mais informações.

out_credential_name O nome da credencial de token do portador recém-criada.

CREATE_OR_REPLACE_SHARE_LINK Procedimento

Assine para compartilhar de um provedor de compartilhamento registrado.

Sintaxe

PROCEDURE CREATE_OR_REPLACE_SHARE_LINK
(
    share_link_name        IN VARCHAR2,
    share_provider         IN VARCHAR2,
    share_name             IN VARCHAR2,
    provider_owner         IN VARCHAR2 := NULL,
    link_owner             IN VARCHAR2 := NULL,
    use_default_credential IN BOOLEAN := TRUE,
    metadata               IN SYS.JSON_OBJECT_T := NULL,
    auto_commit            IN BOOLEAN := TRUE
);

Parâmetros

Parâmetro Descrição
share_link_name O nome do link de compartilhamento que será criado. Os nomes de compartilhamento disponíveis podem ser encontrados chamando a Função DISCOVER_AVAILABLE_SHARES.
share_provider O nome do provedor de compartilhamento registrado.
share_name O nome do compartilhamento do provedor de compartilhamento.
provider_owner O proprietário do provedor de compartilhamento. O padrão é o esquema atual.
link_owner O proprietário do link de compartilhamento. O padrão é o esquema atual.
use_default_credential Se TRUE, use as mesmas credenciais do provedor de compartilhamento.
metadata Metadados opcionais a serem associados ao link de compartilhamento.
auto_commit Se TRUE (padrão), essa chamada de procedimento fará commit de alterações que não estarão visíveis externamente até que o commit ocorra. Se FALSO, o usuário deverá fazer COMMIT depois de executar esta chamada para tornar a alteração visível.

CREATE_OR_REPLACE_ORACLE_SHARE_PROVIDER Procedimento

Inscreva-se em um provedor de compartilhamento Oracle, com um nome local.

Ele aparecerá na Exibição ALL_SHARE_PROVIDERS com RECIPIENT_TYPE = 'ORACLE'.

Observação

Observação: Use o procedimento SET_STORAGE_CREDENTIAL para adicionar uma credencial ao link de armazenamento. Consulte Procedimento SET_STORAGE_CREDENTIAL.

Sintaxe

PROCEDURE CREATE_OR_REPLACE_CLOUD_STORAGE_LINK
(
    storage_link_name    IN VARCHAR2,
    uri                  IN VARCHAR2,
    owner                IN VARCHAR2 := NULL,
    metadata             IN SYS.JSON_OBJECT_T := NULL,
    auto_commit          IN BOOLEAN := TRUE
);

Parâmetros

Parâmetro Descrição
storage_link_name O nome do link de armazenamento na nuvem. O nome do link deve seguir as convenções de nomenclatura padrão da Oracle. Consulte Nomes e Qualificadores de Objeto de Banco de dados
uri O URI do bucket de armazenamento. O URI deve estar no formato https://objectstorage.region.oraclecloud.com/n/namespace-string/b/bucket/o
owner O proprietário do link de armazenamento. O padrão é o esquema atual.
metadata Um documento de metadados JSON opcional contendo informações adicionais.
auto_commit Se TRUE, as alterações serão confirmadas automaticamente após a criação do link. O default é TRUE.

CREATE_ORACLE_SHARE_PROVIDER Procedimento

Inscreva-se em um provedor de compartilhamento Oracle, com um nome local.

Ele aparecerá na Exibição ALL_SHARE_PROVIDERS com RECIPIENT_TYPE = 'ORACLE'.

Sintaxe

PROCEDURE CREATE_ORACLE_SHARE_PROVIDER
(
    oracle_provider_id   IN VARCHAR2,
    provider_name        IN VARCHAR2,
    owner                IN VARCHAR2 := NULL,
    metadata             IN SYS.JSON_OBJECT_T := NULL,
    auto_commit          IN BOOLEAN := TRUE
);

Parâmetros

Parâmetro Descrição
oracle_provider_id O ID do provedor obtido na view ALL_AVAILABLE_ORACLE_SHARE_PROVIDERS. Consulte Exibição ALL_AVAILABLE_ORACLE_SHARE_PROVIDERS.
provider_name Um nome local para o provedor
owner O proprietário do novo provedor de compartilhamento. Deixe como NULL para o usuário atual.
metadata Metadados JSON opcionais a serem associados ao provedor.
auto_commit Se TRUE, as alterações serão confirmadas automaticamente após a criação do link. O default é TRUE.

CREATE_SHARE_LINK Procedimento

Assine para compartilhar de um provedor de compartilhamento registrado. Os nomes de compartilhamento disponíveis podem ser encontrados chamando DISCOVER_AVAILABLE_SHARES.

Sintaxe

PROCEDURE CREATE_SHARE_LINK
(
    share_link_name      IN VARCHAR2,
    share_provider       IN VARCHAR2,
    share_name           IN VARCHAR2,
    provider_owner       IN VARCHAR2 := NULL,
    link_owner           IN VARCHAR2 := NULL,
    use_default_credential IN BOOLEAN := TRUE,
    metadata             IN SYS.JSON_OBJECT_T := NULL,
    auto_commit          IN BOOLEAN := TRUE
);

Parâmetros

Parâmetro Descrição
share_link_name O nome do link de compartilhamento a ser criado. Isso deve seguir as convenções de nomenclatura padrão da Oracle e não precisa ser igual ao parâmetro share_name.
share_provider O nome do provedor de compartilhamento, listado no ALL_SHARE_PROVIDERS, que compartilhou os dados.
share_name O nome do compartilhamento, conforme definido pelo provedor de compartilhamento.
provider_owner O esquema que assinou o provedor de compartilhamento, conforme listado em ALL_SHARE_PROVIDER. Deixe como nulo para o usuário atual, o que é típico.
link_owner O proprietário do novo link de compartilhamento. Deixe como nulo para o usuário atual, o que é típico.
use_default_credential Defina como TRUE para usar a mesma credencial para o link de compartilhamento e o provedor de compartilhamento.
metadata Metadados JSON opcionais a serem associados ao link de compartilhamento.
auto_commit Se TRUE, as alterações serão confirmadas automaticamente após a criação do link. O default é TRUE.

CREATE_SHARE_LINK_VIEW Procedimento

Crie ou substitua uma view nomeada que dê acesso a uma tabela compartilhada remota.

Sintaxe

PROCEDURE CREATE_SHARE_LINK_VIEW
(
    view_name            IN VARCHAR2,
    share_link_name      IN VARCHAR2,
    share_schema_name    IN VARCHAR2,
    share_table_name     IN VARCHAR2,
    view_owner           IN VARCHAR2 := NULL,
    share_link_owner     IN VARCHAR2 := NULL
);

Parâmetros

Parâmetro Descrição
view_name O nome da nova visualização.
share_link_name O nome do link de compartilhamento.
share_schema_name O nome do esquema compartilhado.
share_table_name O nome da tabela compartilhada.
view_owner O proprietário da view. O padrão é o esquema atual.
share_link_owner O proprietário do link. O padrão é o esquema atual.

CREATE_SHARE_PROVIDER Procedimento

Assine um provedor de compartilhamento delta.

Sintaxe

PROCEDURE CREATE_SHARE_PROVIDER
(
  provider_name        IN VARCHAR2,
  endpoint             IN VARCHAR2,
  token_endpoint       IN VARCHAR2 := NULL,
  share_type           IN VARCHAR2 := 'DELTA',
  owner                IN VARCHAR2 := NULL,
  metadata             IN SYS.JSON_OBJECT_T := NULL,
  auto_commit          IN BOOLEAN := TRUE
);

Parâmetros

Parâmetro Descrição
provider_name O nome local deste provedor de compartilhamento.
endpoint O ponto final delta, do perfil de compartilhamento delta.
token_endpoint Este parâmetro é ignorado.
share_type O tipo de provedor de compartilhamento. Deixe isso como DELTA.
owner O proprietário do provedor de compartilhamento. O padrão é o esquema atual.
metadata Metadados JSON opcionais a serem associados ao provedor de compartilhamento.
auto_commit Se TRUE (padrão), essa chamada de procedimento fará commit de alterações que não estarão visíveis externamente até que o commit ocorra. Se FALSO, o usuário deverá fazer COMMIT depois de executar esta chamada para tornar a alteração visível.

Função DISCOVER_AVAILABLE_SHARES

Retorne um SHARE_AVAILABLE_SHARES_ROW para cada tabela disponível dos provedores de compartilhamento inscritos.

Sintaxe

FUNCTION DISCOVER_AVAILABLE_SHARES
(
    share_provider       IN VARCHAR2,
    owner                IN VARCHAR2 := NULL
) RETURN share_available_shares_tbl PIPELINED;

Parâmetros

Parâmetro Descrição
share_provider O nome do provedor de compartilhamento.
owner O proprietário do provedor de compartilhamento. O padrão é o esquema atual.

Exemplo: Descobrir uma lista de compartilhamentos disponíveis de um determinado provedor

SQL> select available_share_name
  2    from dbms_share.discover_available_shares('share_prov')
  3   order by available_share_name;

AVAILABLE_SHARE_NAME
--------------------------------------------------------------------------------
BURLINGTON_EXPEDITION_2022

EGYPT_EXPEDITION_2022

Função DISCOVER_AVAILABLE_TABLES

Retorne um SHARE_AVAILABLE_TABLES_ROW para cada tabela disponível dos provedores de compartilhamento inscritos.

Sintaxe

FUNCTION DISCOVER_AVAILABLE_TABLES
(
  share_provider       IN VARCHAR2 := NULL,
  share_name           IN VARCHAR2 := NULL,
  owner                IN VARCHAR2 := NULL,
  endpoint             IN VARCHAR2 := NULL,
  credential_name      IN VARCHAR2 := NULL
) RETURN share_available_tables_tbl PIPELINED;

Parâmetros

Parâmetro Descrição
share_provider Um nome de provedor de compartilhamento opcional. Se NULL, pesquise todos os provedores de compartilhamento inscritos.
share_name Um nome de compartilhamento opcional. Se NULL, pesquise todos os compartilhamentos descobertos.
owner O proprietário do provedor de compartilhamento. O padrão é o esquema atual.
endpoint Um ponto final delta opcional.
credential_name Uma credencial de token do portador opcional para acessar o ponto final.

Exemplo: Listar compartilhamentos disponíveis de todos os provedores de compartilhamento inscritos

select * from dbms_share.discover_available_tables()
  2  order by share_name, schema_name, table_name;

 PROVIDER_NAME             PROVIDER_OWNER  SHARE_NAME
------------------------- --------------- ------------------------------
SCHEMA_NAME               TABLE_NAME
------------------------- -------------------------
My Test Oracle Provider   ADP_SHARE_TEST  BURLINGTON_EXPEDITION_2022
SH                        COUNTRIES

My Test Oracle Provider   ADP_SHARE_TEST  BURLINGTON_EXPEDITION_2022
SH                        SH_COUNTRIES

My Test Oracle Provider   ADP_SHARE_TEST  EGYPT_EXPEDITION_2022
SHARED_SCHEMA             SHARED_VIEW_1

My Test Oracle Provider   ADP_SHARE_TEST  EGYPT_EXPEDITION_2022
SHARED_SCHEMA             SHARED_VIEW_2

Exemplo: Listar tabelas disponíveis de um ponto final com inscrição cancelada

SQL> exec dbms_cloud.create_credential('MY_CRED', 'BEARER_TOKEN', '123456')
PL/SQL procedure successfully completed.
SQL> column share_name format a13
SQL> column table_name format a20
SQL> column schema_name format a10
SQL> select share_name, schema_name, table_name
2   from dbms_share.discover_available_tables(
3     endpoint=>'https://my_endpoint',
4     credential_name=>'MY_CRED')
5   order by 1, 2, 3;

SHARE_NAME SCHEMA_NAM TABLE_NAME
------------- ---------- --------------------
DELTA_SHARING DEFAULT BOSTON-HOUSING
DELTA_SHARING DEFAULT COVID_19_NYT
DELTA_SHARING DEFAULT FLIGHT-ASA_2008
DELTA_SHARING DEFAULT LENDING_CLUB
DELTA_SHARING DEFAULT NYCTAXI_2019
DELTA_SHARING DEFAULT NYCTAXI_2019_PART
DELTA_SHARING DEFAULT OWID-COVID-DATA

7 rows selected.

DROP_SHARE_LINK Procedimento

Elimine um link de compartilhamento criado pelo procedimento CREATE_SHARE_LINK.

Consulte Procedimento CREATE_SHARE_LINK para obter mais informações.

Sintaxe

PROCEDURE DROP_SHARE_LINK
(
    link_name            IN VARCHAR2,
    link_owner           IN VARCHAR2 := NULL
);

Parâmetros

Parâmetro Descrição
link_name O nome do link de compartilhamento a ser eliminado.
link_owner O proprietário do link de compartilhamento a ser eliminado. Deixe como nulo para o esquema atual.

DROP_SHARE_PROVIDER Procedimento

Solte uma assinatura para um provedor de compartilhamento.

Sintaxe

PROCEDURE DROP_SHARE_PROVIDER
(
    provider_name        IN VARCHAR2,
    owner                IN VARCHAR2 := NULL,
    drop_credentials     IN BOOLEAN := FALSE
);

Parâmetros

Parâmetro Descrição
provider_name O nome do provedor de compartilhamento a ser eliminado.
owner O proprietário do provedor de compartilhamento a ser eliminado. O padrão é o esquema atual.
drop_credentials Se TRUE, todas as credenciais associadas ao profissional de saúde serão eliminadas. Se for FALSO, as credenciais não serão eliminadas.

ENABLE_DELTA_ENDPOINT Procedimento

Crie ACLs necessárias que permitam que o usuário especificado se conecte a um ponto final delta. Os privilégios de administrador são necessários para este procedimento.

Sintaxe

PROCEDURE ENABLE_DELTA_ENDPOINT
(
    schema_name          IN VARCHAR2,
    delta_profile        IN CLOB,
    enabled              IN BOOLEAN := TRUE
);

Parâmetros

Parâmetro Descrição
schema_name O esquema a ser ativado ou desativado.
delta_profile O perfil delta. Somente o ponto final e o tokenEndpoint são obrigatórios.
enabled TRUE para ativar e FALSE para desativar.

FLUSH_SHARE_LINK_CACHE Procedimento

Descarregue o cache de compartilhamentos para um determinado link de compartilhamento. A lista de compartilhamentos para os pontos finais remotos é extraída em vez de depender de valores armazenados no cache.

Sintaxe

PROCEDURE FLUSH_SHARE_LINK_CACHE
(
    link_name            IN VARCHAR2,
    owner                IN VARCHAR2 := NULL,
    auto_commit          IN BOOLEAN := TRUE
);

Parâmetros

Parâmetro Descrição
link_name O nome do link de compartilhamento.
owner O proprietário do link de compartilhamento. O padrão é o esquema atual.
auto_commit Se TRUE, as alterações serão confirmadas automaticamente. O default é TRUE.

FLUSH_SHARE_PROVIDER_CACHE Procedimento

Descarregue o cache de compartilhamentos para um determinado provedor de compartilhamento. A lista de compartilhamentos para os pontos finais remotos é extraída em vez de depender de valores armazenados no cache.

Sintaxe

PROCEDURE FLUSH_SHARE_PROVIDER_CACHE
(
  provider_name        IN VARCHAR2,
  owner                IN VARCHAR2 := NULL,
  auto_commit          IN BOOLEAN := TRUE
);

Parâmetros

Parâmetro Descrição
provider_name O nome do provedor de compartilhamento.
owner O proprietário do provedor de compartilhamento. O padrão é o esquema atual.
auto_commit Se TRUE, as alterações serão confirmadas automaticamente. O default é TRUE.

GENERATE_SHARE_LINK_SELECT Procedimento e Função

Gere uma instrução SELECT que retorne dados de uma tabela compartilhada.

Sintaxe

Versão do procedimento de GENERATE_SHARE_LINK_SELECT.

PROCEDURE GENERATE_SHARE_LINK_SELECT
(
    share_link_name      IN VARCHAR2,
    share_schema_name    IN VARCHAR2,
    share_table_name     IN VARCHAR2,
    stmt                 IN OUT NOCOPY CLOB,
    share_link_owner     IN VARCHAR2 := NULL
);

Versão da função GENERATE_SHARE_LINK_SELECT.

 FUNCTION GENERATE_SHARE_LINK_SELECT
(
    share_link_name      IN VARCHAR2,
    share_schema_name    IN VARCHAR2,
    share_table_name     IN VARCHAR2,
    share_link_owner     IN VARCHAR2 := NULL
)
RETURN CLOB;

Parâmetros

Parâmetro Descrição
share_link_name O nome do link de compartilhamento.
share_schema_name O nome do esquema compartilhado.
share_table_name O nome da tabela compartilhada.
stmt A instrução de seleção gerada.
share_link_owner O proprietário do link. O padrão é o esquema atual.

Função GET_ORACLE_SHARE_LINK_INFO

Recupere o nome do link da nuvem e o namespace para um compartilhamento Oracle-to-Oracle.

Sintaxe

FUNCTION GET_ORACLE_SHARE_LINK_INFO
(
  oracle_provider_id   IN VARCHAR2,
  share_name           IN VARCHAR2,
  share_schema_name    IN VARCHAR2,
  share_table_name     IN VARCHAR2
)
RETURN CLOB;

Parâmetros

Parâmetro Descrição
oracle_provider_id O ID do Prestador da Oracle de ALL_AVAILABLE_ORACLE_SHARE_PROVIDERS.
share_name O nome de um compartilhamento de ALL_AVAILABLE_ORACLE_SHARE_PROVIDERS.SHARES.
share_schema_name O nome de um esquema de compartilhamento de ALL_AVAILABLE_ORACLE_SHARE_PROVIDERS.SHARES.
share_table_name O nome de uma tabela de ALL_AVAILABLE_ORACLE_SHARE_PROVIDERS.SHARES.

Retornar

O valor de retorno é um objeto JSON que contém três propriedades: esquema, tabela e dblink. O chamador pode usar estas três propriedades para extrair dados usando uma consulta do seguinte formulário:

SELECT *
FROM <schema>.<table>@<dblink>

GET_SHARE_LINK_INFO Procedimento

Obtenha o(s) ponto(s) final(is), tipo de compartilhamento e nome de compartilhamento juntamente com quaisquer metadados JSON adicionais para um link de compartilhamento.

Sintaxe

PROCEDURE GET_SHARE_LINK_INFO
(
    link_name            IN VARCHAR2,
    endpoint             IN OUT NOCOPY VARCHAR2,
    share_type           IN OUT NOCOPY VARCHAR2,
    share_name           IN OUT NOCOPY VARCHAR2,
    token_endpoint       IN OUT NOCOPY VARCHAR2,
    metadata             IN OUT NOCOPY BLOB,
    link_owner           IN VARCHAR2 := NULL
);

Parâmetros

Parâmetro Descrição
link_name O nome de um link de compartilhamento (criado anteriormente pelo CREATE_SHARE_LINK).
endpoint OUT: O ponto final, se houver, associado ao link de compartilhamento.
share_type OUT: O tipo de link de compartilhamento (por exemplo, DELTA).
share_name OUT: O nome do compartilhamento vinculado.
token_endpoint Este parâmetro não é mais usado.
metadata OUT: Metadados opcionais associados ao link de compartilhamento.
link_owner O proprietário do link de compartilhamento. O padrão é o esquema atual.

GET_SHARE_PROVIDER_CREDENTIAL Procedimento

Obtenha o nome da credencial a ser usado pelo usuário atual quando ele tentar acessar o provedor de compartilhamento delta fornecido.

Sintaxe

PROCEDURE GET_SHARE_PROVIDER_CREDENTIAL
(
    provider_name        IN VARCHAR2,
    share_credential     IN OUT NOCOPY VARCHAR2,
    get_token_credential IN OUT NOCOPY VARCHAR2,
    owner                IN VARCHAR2 := NULL
);

Parâmetros

Parâmetro Descrição
provider_name O nome do provedor de compartilhamento.
share_credential OUT: O nome da credencial associada ao provedor. O nome da credencial é retornado sem aspas duplas, como seria exibido na coluna CREDENTIAL_NAME da view USER_CREDENTIALS. Consulte Exibição ALL_CREDENTIALS.
get_token_credential Este parâmetro não é usado.
owner O proprietário é o nome do esquema no qual o provedor de compartilhamento foi registrado, não o proprietário da credencial. O padrão é o esquema atual.

GET_SHARE_PROVIDER_INFO Procedimento

Obtenha a(s) string(s) de ponto final e o tipo de compartilhamento juntamente com quaisquer metadados JSON adicionais para um provedor de compartilhamento. Para provedores de compartilhamento ORACLE, o ID do provedor Oracle é retornado no argumento de ponto final.

Sintaxe

PROCEDURE GET_SHARE_PROVIDER_INFO
(
    provider_name        IN VARCHAR2,
    endpoint             IN OUT NOCOPY VARCHAR2,
    share_type           IN OUT NOCOPY VARCHAR2,
    token_endpoint       IN OUT NOCOPY VARCHAR2,
    metadata             IN OUT NOCOPY BLOB,
    owner                IN VARCHAR2 := NULL
);

Parâmetros

Parâmetro Descrição
provider_name O nome do provedor de compartilhamento.
endpoint O ponto final delta.
share_type O tipo de compartilhamento: DELTA ou ORACLE.
token_endpoint Este parâmetro não é usado.
metadata Os metadados opcionais que foram associados ao provedor de compartilhamento.
owner O proprietário do provedor de compartilhamento. O padrão é o esquema atual.

Função GET_SHARING_ID

Retorna um identificador que pode ser usado como o sharing_id no procedimento CREATE_SHARE_RECIPIENT. Esta função pode ser usada para compartilhar dados entre dois usuários, o "provedor" e o "destinatário", em diferentes bancos de dados.

Consulte Procedimento CREATE_SHARE_RECIPIENT para obter mais informações.

Sintaxe

FUNCTION GET_SHARING_ID
(
    sharing_id_type      IN VARCHAR2 := SHARING_ID_TYPE_DATABASE
)
  RETURN VARCHAR2;

Parâmetros

Parâmetro Descrição
sharing_id_type O tipo de ID de compartilhamento.

Uso

O fluxo é o seguinte:

  1. O destinatário chama DBMS_SHARE.GET_SHARING_ID para obter um identificador exclusivo.

  2. O destinatário envia esse identificador (por exemplo, por e-mail) ao provedor.

  3. O provedor chama DBMS_SHARE.CREATE_SHARE_RECIPIENT, informando o identificador como sharing_id.

  4. O provedor chama DBMS_SHARE.GRANT_TO_RECIPIENT para conceder ao destinatário acesso a dados compartilhados.

O parâmetro sharing_id_type é usado para especificar quais usuários do banco de dados podem acessar o compartilhamento seguindo a sequência acima.

  • BANCO DE DADOS O compartilhamento ficará visível para qualquer usuário administrador no banco de dados em que o GET_SHARING_ID foi chamado.

  • COMPARTIMENTO O compartilhamento ficará visível para qualquer usuário administrador em qualquer banco de dados no mesmo compartimento no qual o GET_SHARING_ID foi chamado.

  • TENANCY O compartilhamento ficará visível para qualquer usuário administrador em qualquer banco de dados na mesma TENANCY em que o GET_SHARING_ID foi chamado.

  • REGIÃO O compartilhamento ficará visível para qualquer usuário administrador em qualquer banco de dados na mesma região em que o GET_SHARING_ID foi chamado.

OPEN_SHARE_LINK_CURSOR Procedimento

Abra um cursor que retorne dados de uma tabela compartilhada.

Sintaxe

PROCEDURE OPEN_SHARE_LINK_CURSOR
(
    share_link_name      IN VARCHAR2,
    share_schema_name    IN VARCHAR2,
    share_table_name     IN VARCHAR2,
    table_cursor         IN OUT NOCOPY SYS_REFCURSOR,
    share_link_owner     IN VARCHAR2 := NULL
);

Parâmetros

Parâmetro Descrição
share_link_name O nome do link de compartilhamento.
share_schema_name O nome do esquema compartilhado.
share_table_name O nome da tabela compartilhada.
table_cursor O cursor.
share_link_owner O proprietário do link. O padrão é o esquema atual.

REFRESH_BEARER_TOKEN_CREDENTIAL Procedimento

Atualize uma ou mais credenciais criadas por CREATE_BEARER_TOKEN_CREDENTIAL ou CREATE_CREDENTIALS chamando os pontos finais de token registrados e extraindo novos tokens do portador. Observe que esse procedimento é chamado automaticamente por um job do scheduler, ADP$BEARER_REFRESH_JOB, que é executado a cada 50 minutos.

Consulte Procedimento CREATE_BEARER_TOKEN_CREDENTIAL ou Procedimento e Função CREATE_CREDENTIALS para obter mais informações.

Sintaxe

PROCEDURE REFRESH_BEARER_TOKEN_CREDENTIAL
(
    credential_name           IN VARCHAR2 := NULL
);

Parâmetros

Parâmetro Descrição
credential_name O nome da credencial a ser atualizada.

RENAME_CLOUD_STORAGE_LINK Procedimento

Renomeie um link de armazenamento na nuvem registrado.

Sintaxe

PROCEDURE RENAME_CLOUD_STORAGE_LINK
(
    old_name             IN VARCHAR2,
    new_name             IN VARCHAR2,
    owner                IN VARCHAR2 := NULL,
    auto_commit          IN BOOLEAN := TRUE
);

Parâmetros

Parâmetro Descrição
old_name O nome atual do link de armazenamento na nuvem.
new_name O novo nome do link de armazenamento na nuvem.
owner O proprietário do link de armazenamento na nuvem. O padrão é o esquema atual.
auto_commit Se TRUE, as alterações serão confirmadas automaticamente. O default é TRUE.

RENAME_SHARE_PROVIDER Procedimento

Renomeie um provedor de compartilhamento registrado.

Sintaxe

PROCEDURE RENAME_SHARE_PROVIDER
(
  old_name             IN VARCHAR2,
  new_name             IN VARCHAR2,
  owner                IN VARCHAR2 := NULL
);

Parâmetros

Parâmetro Descrição
old_name O nome atual do provedor de compartilhamento.
new_name O novo nome do provedor de compartilhamento.
owner O proprietário do provedor de compartilhamento. O padrão é o esquema atual.

REMOVE_SHARE_SCHEMA Procedimento

Remover um esquema e todo o seu conteúdo de um compartilhamento.

Sintaxe

PROCEDURE REMOVE_SHARE_SCHEMA
(
    share_name           IN VARCHAR2,
    schema_name          IN VARCHAR2,
    share_owner          IN VARCHAR2 := NULL,
    auto_commit          IN BOOLEAN := FALSE
);

Parâmetros

Parâmetro Descrição
share_name O nome do compartilhamento.
schema_name O nome do esquema a ser removido.
share_owner O proprietário da ação.
auto_commit Se TRUE, as alterações serão confirmadas automaticamente. O padrão é FALSE.

SET_SHARE_LINK_METADATA Procedimento

Defina os metadados JSON adicionais para o link de compartilhamento.

Sintaxe

PROCEDURE SET_SHARE_LINK_METADATA
(
    link_name            IN VARCHAR2,
    metadata             IN SYS.JSON_OBJECT_T,
    replace_existing     IN BOOLEAN := FALSE,
    link_owner           IN VARCHAR2 := NULL
);

Parâmetros

Parâmetro Descrição
link_name O nome do link de compartilhamento.
metadata Os novos metadados.
replace_existing Se TRUE, todos os metadados existentes serão substituídos pela nova versão. Se FALSO, o novo valor será mesclado com quaisquer metadados existentes.
link_owner O proprietário do link de compartilhamento. O padrão é o esquema atual.

SET_SHARE_PROVIDER_CREDENTIAL Procedimento

Defina o nome da credencial a ser usado pelo usuário atual quando ele tentar acessar o provedor de compartilhamento fornecido.

Sintaxe

PROCEDURE SET_SHARE_PROVIDER_CREDENTIAL
(
    provider_name        IN VARCHAR2,
    share_credential     IN VARCHAR2,
    get_token_credential IN VARCHAR2 := NULL,
    owner                IN VARCHAR2 := NULL,
    check_if_exists      IN BOOLEAN := TRUE
);

Parâmetros

Parâmetro Descrição
provider_name O nome do provedor de compartilhamento.
share_credential A credencial do token do portador.
get_token_credential Este argumento é ignorado.
owner O proprietário do provedor de compartilhamento. O padrão é o esquema atual.
check_if_exists Se TRUE (padrão), valide se a credencial existe.

SET_SHARE_PROVIDER_METADATA Procedimento

Defina metadados JSON adicionais para o provedor de compartilhamento.

Sintaxe

PROCEDURE SET_SHARE_PROVIDER_METADATA
(
    provider_name        IN VARCHAR2,
    metadata             IN SYS.JSON_OBJECT_T,
    replace_existing     IN BOOLEAN := FALSE,
    owner                IN VARCHAR2 := NULL
);

Parâmetros

Parâmetro Descrição
provider_name O nome do provedor de compartilhamento.
metadata Os novos metadados.
replace_existing Se TRUE, todos os metadados existentes serão substituídos pela nova versão. Se FALSO, o novo valor será mesclado com quaisquer metadados existentes.
owner O proprietário do provedor de compartilhamento. O padrão é o esquema atual.

UPDATE_BEARER_TOKEN_CREDENTIAL Procedimento

Modifique um atributo de uma credencial criada por CREATE_CREDENTIALS ou CREATE_BEARER_TOKEN_CREDENTIAL.

Consulte Procedimento CREATE_BEARER_TOKEN_CREDENTIAL ou Procedimento e Função CREATE_CREDENTIALS para obter mais informações.

Sintaxe

PROCEDURE UPDATE_BEARER_TOKEN_CREDENTIAL
(
     credential_name           IN VARCHAR2,
     attribute                 IN VARCHAR2,
     new_value                 IN VARCHAR2
);

Parâmetros

Parâmetro Descrição
credential_name O nome da credencial a ser atualizada.
attribute O atributo a ser atualizado. Um dos itens 'BEARER_TOKEN', 'CLIENT_ID', 'CLIENT_SECRET', 'TOKEN_REFRESH_RATE'. O ponto final do token não pode ser alterado.
new_value O novo valor.

Exemplo: Atualizar o CLIENT_ID de uma credencial

SQL> BEGIN
  2    dbms_share.create_bearer_token_credential(
  3      credential_name=>'MY_RENEWABLE_CREDENTIAL',
  4      token_endpoint=>'https://myserver/ords/share_provider/oauth/token',
  5      client_id=>'VXGQ_44s6qJ-K4WHUNM2yQ..',
  6      client_secret=>'y9ddppgwEmZl7adDHFQndw..');
  7  END;
  8  /
PL/SQL procedure successfully completed.
SQL> select credential_name, username from user_credentials where credential_name LIKE 'MY_RENEWABLE_CREDENTIAL%';
CREDENTIAL_NAME
------------------------------------------
USERNAME
-------------------------------------
MY_RENEWABLE_CREDENTIAL
BEARER_TOKEN
MY_RENEWABLE_CREDENTIAL$TOKEN_REFRESH_CRED
ABCDEF