Resumo de Subprogramas do Consumidor de Compartilhamento

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

Subprogramas Descrição
Procedimento ASSERT_SHARING_ID Execute verificações básicas de validação em um id de compartilhamento e retorne um em formato canônico.
CREATE_CREDENTIALS Procedimento e Função Crie uma credencial contendo o token do portador de um perfil delta.
Procedimento CREATE_OR_REPLACE_SHARE_LINK Inscreva-se 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 Inscreva-se para compartilhar de um provedor de compartilhamento registrado.
Procedimento CREATE_SHARE_LINK_VIEW Crie ou substitua uma view nomeada que conceda 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 assinados.
Função DISCOVER_AVAILABLE_TABLES Retorne um SHARE_AVAILABLE_TABLES_ROW para cada tabela disponível dos provedores de compartilhamento assinados 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 Limpe o cache de compartilhamentos para um determinado link de compartilhamento.
Procedimento FLUSH_SHARE_PROVIDER_CACHE Limpe o cache de compartilhamentos para um determinado provedor de compartilhamento.
GENERATE_SHARE_LINK_SELECT Procedimento e Função Gere uma instrução SELECT que retorne dados de uma tabela compartilhada.
Função GET_ORACLE_SHARE_LINK_INFO Recupere o nome e o namespace do link da nuvem para um compartilhamento Oracle para Oracle.
Procedimento GET_SHARE_LINK_INFO Obtenha o(s) ponto(s) final(is), o tipo de compartilhamento e o nome do 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 Retorne um identificador que pode ser usado como 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 por CREATE_BEARER_TOKEN_CREDENTIAL ou CREATE_CREDENTIALS.
Procedimento RENAME_CLOUD_STORAGE_LINK Renomeie um link de armazenamento na nuvem registrado.
Procedimento RENAME_SHARE_LINK Renomeie um link de compartilhamento registrado.
Procedimento RENAME_SHARE_PROVIDER Renomeie um provedor de compartilhamento registrado.
Procedimento REMOVE_SHARE_SCHEMA Remova um esquema e todo 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.

Procedimento ASSERT_SHARING_ID

Execute verificações básicas de validação em um id de compartilhamento e retorne um em formato canônico. 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 contendo 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 form 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 da(s) credencial(ões) a ser(em) criada(s).
delta_profile O perfil de compartilhamento delta, no formato JSON, obtido do provedor de compartilhamento.
{
  "shareCredentialsVersion": 1,
  "endpoint": "https://<endpoint>",
  "bearerToken": "<token>",
  "expirationTime": "...",
}
O perfil também pode, opcionalmente, incluir uma propriedade tokenEndpoint junto com clientID e clientSecret.
{
  "shareCredentialsVersion": 1,
  "endpoint": "https://<endpoint>",
  "bearerToken": "<token>",
  "expirationTime": "...",
  "tokenEndpoint": "https://<token endpoint>",
  "clientID": "<client id>",
  "clientSecret": "<client secret>"
}

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.

Procedimento CREATE_OR_REPLACE_SHARE_LINK

Inscreva-se 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

Procedimento CREATE_OR_REPLACE_ORACLE_SHARE_PROVIDER

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

Em seguida, ela aparecerá em ALL_SHARE_PROVIDERS View com RECIPIENT_TYPE = 'ORACLE'.

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

Procedimento CREATE_ORACLE_SHARE_PROVIDER

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

Em seguida, ela aparecerá em ALL_SHARE_PROVIDERS View 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 da view ALL_AVAILABLE_ORACLE_SHARE_PROVIDERS.

Consulte ALL_AVAILABLE_ORACLE_SHARE_PROVIDERS View.

provider_name Um nome local para o provedor
owner O proprietário do novo provedor de ações. Deixe 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.

Procedimento CREATE_SHARE_LINK

Inscreva-se 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

Procedimento CREATE_SHARE_LINK_VIEW

Crie ou substitua uma view nomeada que conceda 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

Procedimento CREATE_SHARE_PROVIDER

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 ações. O padrão é o esquema atual.
metadata Metadados JSON opcionais a serem associados ao provedor de compartilhamento.
auto_commit Se TRUE (o padrão), essa chamada de procedimento confirmará alterações que não estão visíveis externamente até que o commit ocorra. Se FALSE, o usuário deverá fazer COMMIT depois de executar essa 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 assinados.

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 ações. O padrão é o esquema atual.

Exemplo: Descubra 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 assinados.

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 NULO, pesquise todos os provedores de compartilhamento assinados.
share_name Um nome de compartilhamento opcional. Se NULO, pesquise todos os compartilhamentos descobertos.
owner O proprietário do provedor de ações. 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

SQL> 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 em 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.

Procedimento DROP_SHARE_LINK

Elimine um link de compartilhamento criado pelo procedimento CREATE_SHARE_LINK.

Consulte Procedimento CREATE_SHARE_LINK para obter informações adicionais.

Sintaxe

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

Parâmetros

Procedimento DROP_SHARE_PROVIDER

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 VERDADEIRO, todas as credenciais associadas ao provedor serão eliminadas. Se FALSO, as credenciais não serão eliminadas.

Procedimento ENABLE_DELTA_ENDPOINT

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

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 tokenEndpoint são obrigatórios.
enabled TRUE para ativar e FALSE para desativar.

Procedimento FLUSH_SHARE_LINK_CACHE

Limpe 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 em cache.

Sintaxe

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

Parâmetros

Procedimento FLUSH_SHARE_PROVIDER_CACHE

Limpe 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 em 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 ações. O padrão é o esquema atual.
auto_commit Se TRUE, as alterações serão submetidas a commit 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 de 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

Função GET_ORACLE_SHARE_LINK_INFO

Recupere o nome e o namespace do link da nuvem para um compartilhamento Oracle para 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

Retornar

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

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

Procedimento GET_SHARE_LINK_INFO

Obtenha o(s) ponto(s) final(is), o tipo de compartilhamento e o nome do 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

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.

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 ALL_CREDENTIALS View.

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.

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. 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 ações. O padrão é o esquema atual.

Função GET_SHARING_ID

Retorne um identificador que pode ser usado como 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 informações adicionais.

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, via email) para o 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.

  • O compartilhamento ficará visível para qualquer usuário administrador no banco de dados no qual GET_SHARING_ID foi chamado.
  • COMPARTMENT O compartilhamento ficará visível para qualquer usuário administrador em qualquer banco de dados no mesmo compartimento no qual GET_SHARING_ID foi chamado.
  • TENÂNCIA O compartilhamento ficará visível para qualquer usuário administrador em qualquer banco de dados na mesma TENANCY em que GET_SHARING_ID foi chamado.
  • REGION O compartilhamento ficará visível para qualquer usuário administrador em qualquer banco de dados na mesma região em que GET_SHARING_ID foi chamado.

Procedimento OPEN_SHARE_LINK_CURSOR

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.

Procedimento REFRESH_BEARER_TOKEN_CREDENTIAL

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 de portador. Observe que esse procedimento é chamado automaticamente por um job do scheduler, ADP$BEARER_REFRESH_JOB, que é executado a cada 50 minutos.

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.

Procedimento RENAME_CLOUD_STORAGE_LINK

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

Procedimento RENAME_SHARE_PROVIDER

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 ações. O padrão é o esquema atual.

Procedimento REMOVE_SHARE_SCHEMA

Remova um esquema e todo 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 submetidas a commit automaticamente. O padrão é FALSE.

Procedimento SET_SHARE_LINK_METADATA

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

Procedimento SET_SHARE_PROVIDER_CREDENTIAL

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 ações. O padrão é o esquema atual.
check_if_exists Se TRUE (padrão), valide se a credencial existe.

Procedimento SET_SHARE_PROVIDER_METADATA

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 FALSE, o novo valor será mesclado com quaisquer metadados existentes.
owner O proprietário do provedor de ações. O padrão é o esquema atual.

Procedimento UPDATE_BEARER_TOKEN_CREDENTIAL

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

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. Uma das opções '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: Atualize 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