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
ASSERT_SHARING_ID Procedimento Execute verificações de validação básicas em um ID de compartilhamento e retorne um na forma canônica.
CREATE_CREDENTIALS Procedimento e Função Crie uma credencial que contenha o token do portador de um perfil delta.
CREATE_OR_REPLACE_SHARE_LINK Procedimento Assine para compartilhar de um provedor de compartilhamento registrado.
CREATE_OR_REPLACE_ORACLE_SHARE_PROVIDER Procedimento Inscreva-se em um provedor de compartilhamento Oracle, com um nome local.
CREATE_ORACLE_SHARE_PROVIDER Procedimento Inscreva-se em um provedor de compartilhamento Oracle, com um nome local.
CREATE_SHARE_LINK Procedimento Assine para compartilhar de um provedor de compartilhamento registrado.
CREATE_SHARE_LINK_VIEW Procedimento Crie ou substitua uma view nomeada que dê acesso a uma tabela compartilhada remota.
CREATE_SHARE_PROVIDER Procedimento 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.
DROP_SHARE_LINK Procedimento Elimine um link de compartilhamento criado pelo procedimento CREATE_SHARE_LINK.
DROP_SHARE_PROVIDER Procedimento Solte uma assinatura para um provedor de compartilhamento.
ENABLE_DELTA_ENDPOINT Procedimento Crie ACLs necessárias que permitam que o usuário especificado se conecte a um ponto final delta.
FLUSH_SHARE_LINK_CACHE Procedimento Descarregue o cache de compartilhamentos para um determinado link de compartilhamento.
FLUSH_SHARE_PROVIDER_CACHE Procedimento Descarregue 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 do link da nuvem e o namespace para um compartilhamento Oracle-to-Oracle.
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.
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.
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.
Função GET_SHARING_ID Retorna um identificador que pode ser usado como o sharing_id no procedimento CREATE_SHARE_RECIPIENT.
OPEN_SHARE_LINK_CURSOR Procedimento Abra um cursor que retorne dados de uma tabela compartilhada.
REFRESH_BEARER_TOKEN_CREDENTIAL Procedimento Atualize uma ou mais credenciais criadas pelo CREATE_BEARER_TOKEN_CREDENTIAL ou CREATE_CREDENTIALS.
RENAME_CLOUD_STORAGE_LINK Procedimento Renomeie um link de armazenamento na nuvem registrado.
RENAME_SHARE_LINK Procedimento Renomear um link de compartilhamento registrado.
RENAME_SHARE_PROVIDER Procedimento Renomeie um provedor de compartilhamento registrado.
REMOVE_SHARE_SCHEMA Procedimento Remover um esquema e todo o seu conteúdo de um compartilhamento.
SET_SHARE_LINK_METADATA Procedimento Defina os metadados JSON adicionais para o link de compartilhamento.
SET_SHARE_PROVIDER_CREDENTIAL Procedimento Defina o nome da credencial para acessar o provedor de compartilhamento fornecido.
SET_SHARE_PROVIDER_METADATA Procedimento Defina metadados JSON adicionais para o provedor de compartilhamento.
UPDATE_BEARER_TOKEN_CREDENTIAL Procedimento 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://<endpoint>",
  "bearerToken": "<token>",
  "expirationTime": "...",
}
O perfil também pode, opcionalmente, incluir uma propriedade tokenEndpoint junto com uma propriedade 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.

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

CREATE_OR_REPLACE_ORACLE_SHARE_PROVIDER Procedimento

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

Ele 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 SET_STORAGE_CREDENTIAL Procedure.

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

CREATE_ORACLE_SHARE_PROVIDER Procedimento

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

Ele 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 na 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 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

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

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

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 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 CREATE_SHARE_LINK Procedures para obter mais informações.

Sintaxe

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

Parâmetros

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

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

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

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

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

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 CREATE_SHARE_RECIPIENT Procedures 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.

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

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

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.

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