Resumo de Subprogramas do Produtor de Compartilhamento

Esta tabela lista os procedimentos e as funções do pacote DBMS_SHARE usados para produzir compartilhamentos para os destinatários.

Subprograma Descrição
Procedimento ADD_TO_SHARE Adicionar uma tabela ou view a um compartilhamento.
Procedimento ASSERT_SHAREABLE_OBJECT Retorne sem erro, se o objeto existir e puder ser compartilhado.
Procedimento ASSERT_SHARING_ID Execute verificações básicas de validação em um id de compartilhamento e retorne um em formato canônico.
Função CAN_CREATE_SHARE Esta função verifica se o esquema atual pode criar destinatários de compartilhamento.
Função CAN_CREATE_SHARE_RECIPIENT Esta função verifica se o esquema atual pode criar destinatários de compartilhamento.
Procedimento CLEAR_RECIPIENT_EVENTS Limpar eventos do log de eventos do destinatário de compartilhamento.
Procedimento CLEAR_SHARE_EVENTS Limpar eventos do log de eventos de compartilhamento.
Procedimento CREATE_BEARER_TOKEN_CREDENTIAL Crie uma credencial adequada para uso com provedores de compartilhamento delta.
Procedimento CREATE_CLOUD_STORAGE_LINK Crie um link de URI de armazenamento na nuvem nomeado.
Procedimento CREATE_OR_REPLACE_CLOUD_STORAGE_LINK Crie ou substitua um URI de armazenamento em nuvem nomeado.
Procedimento CREATE_OR_REPLACE_SHARE_RECIPIENT Crie ou substitua um destinatário de compartilhamento.
Procedimento CREATE_SHARE Crie um objeto de compartilhamento nomeado.
Procedimento CREATE_SHARE_RECIPIENT Criar um novo destinatário de compartilhamento.
Procedimento DROP_CLOUD_STORAGE_LINK Solte um link do armazenamento na nuvem.
Procedimento DROP_RECIPIENT Elimine um destinatário.
Procedimento DROP_SHARE Solte um compartilhamento e todo o seu conteúdo.
Procedimento DROP_SHARE_LINK_VIEW Elimine uma view que foi criada pelo procedimento CREATE_SHARE_LINK_VIEW.
Procedimento DROP_SHARE_VERSION Elimine uma única versão de compartilhamento.
Procedimento DROP_SHARE_VERSIONS Elimine uma variedade de versões de compartilhamento.
Procedimento DROP_UNUSED_SHARE_VERSIONS Elimine qualquer versão de compartilhamento que não esteja em uso no momento.
Procedimento ENABLE_SCHEMA Ativar ou desativar um esquema para compartilhamento.
Função GET_ACTIVATION_LINK Gere o link que é colocado em e-mails para o destinatário autorizado.
Função GET_PUBLISHED_IDENTITY Obtenha dados sobre o usuário atual que foi definido por SET_PUBLISHED_IDENTITY.
Função GET_RECIPIENT_PROPERTY Retorna o valor de uma propriedade para um destinatário.
Função GET_SHARE_PROPERTY Obtenha o valor de propriedade de um compartilhamento existente.
Função GET_SHARE_TABLE_PROPERTY Obtenha o valor de propriedade de uma tabela de compartilhamento existente.
Procedimento GRANT_TO_RECIPIENT Conceder acesso em um compartilhamento a um destinatário específico.
Procedimento POPULATE_SHARE_PROFILE Gerar um perfil delta para um destinatário.
Procedimento PUBLISH_SHARE Publique um compartilhamento e retorne imediatamente.
Procedimento PUBLISH_SHARE_WAIT Publique um compartilhamento e aguarde até que o job em segundo plano seja concluído.
Procedimento PURGE_DETACHED_FILES Exclua ou esqueça arquivos parquet que foram desanexados de seus compartilhamentos.
Procedimento REMOVE_FROM_SHARE Remover uma tabela ou view de um compartilhamento.
Procedimento RENAME_RECIPIENT Renomear um destinatário.
Procedimento RENAME_SHARE Renomear um compartilhamento.
Procedimento RENAME_SHARE_LINK Renomeie um link de compartilhamento registrado.
Procedimento RENAME_SHARE_SCHEMA Renomeie um esquema de compartilhamento.
Procedimento RENAME_SHARE_TABLE Renomeie uma tabela de compartilhamento.
Procedimento REVOKE_FROM_RECIPIENT Revogue o acesso em um compartilhamento de um destinatário específico.
Procedimento SET_CURRENT_SHARE_VERSION Alterar a versão atual de um compartilhamento.
Procedimento SET_PUBLISHED_IDENTITY Defina dados sobre o usuário atual que serão fornecidos aos destinatários de compartilhamentos ORACLE publicados.
Procedimento SET_RECIPIENT_LOG_LEVEL Altere o nível de log de um destinatário de compartilhamento existente.
Procedimento SET_SHARE_LOG_LEVEL Altere o nível do log para um compartilhamento existente.
Procedimento SET_STORAGE_CREDENTIAL Defina o nome da credencial de acesso para o armazenamento fornecido.
Procedimento STOP_JOB Interromper um job de compartilhamento em execução.
Procedimento UNPUBLISH_SHARE Cancelar publicação de um compartilhamento.
Procedimento UPDATE_DEFAULT_RECIPIENT_PROPERTY Atualize os valores de propriedade de destinatário padrão.
Procedimento UPDATE_DEFAULT_SHARE_PROPERTY Atualize os valores de propriedade de compartilhamento padrão.
Procedimento UPDATE_RECIPIENT_PROPERTY Atualizar uma propriedade de um destinatário existente.
Procedimento UPDATE_SHARE_JOB_PROPERTY Modificar propriedades de um job de compartilhamento em execução.
Procedimento UPDATE_SHARE_PROPERTY Atualizar uma propriedade de um compartilhamento existente.
Procedimento UPDATE_SHARE_TABLE_PROPERTY Atualize o valor de propriedade de uma tabela de compartilhamento existente.
Função VALIDATE_CREDENTIAL Valide um nome de credencial, convertendo-o em um formulário canônico primeiro, se necessário.
Procedimento VALIDATE_SHARE_STORAGE Verifique se o armazenamento fornecido é adequado para compartilhamentos com controle de versão.
Procedimento WAIT_FOR_JOB Este procedimento aguarda até que o trabalho de compartilhamento especificado seja concluído.

Procedimento ADD_TO_SHARE

Adicionar uma tabela ou view a um compartilhamento. O objeto torna-se visível para qualquer usuário externo ao qual tenha sido concedido acesso ao compartilhamento.

Sintaxe

PROCEDURE ADD_TO_SHARE  
(
    share_name           IN VARCHAR2,
    table_name           IN VARCHAR2,
    owner                IN VARCHAR2 := NULL,
    share_table_name     IN VARCHAR2 := NULL,
    share_schema_name    IN VARCHAR2 := NULL,
    object_metadata      IN SYS.JSON_OBJECT_T := NULL,
    replace_existing     IN BOOLEAN := FALSE,
    share_owner          IN VARCHAR2 := NULL,
    auto_commit          IN BOOLEAN := FALSE  
);

Parâmetros

Parâmetro Descrição
share_name O nome de um compartilhamento existente ao qual o objeto é concedido.
table_name O nome da entidade a ser compartilhada (por exemplo, um nome de tabela ou de view).
owner O proprietário da entidade a compartilhar. O default é o esquema atual.
share_table_name O nome visível externamente da tabela. Por padrão, esse é o table_name em letras maiúsculas.
share_schema_name O esquema visível externamente no qual a tabela será colocada. Por padrão, esse é o proprietário da tabela em letras maiúsculas. O esquema será criado automaticamente se ele ainda não existir.
object_metadata Metadados opcionais a serem associados à entidade compartilhada.
replace_existing Se TRUE e esse share_table_name já existir, o table_name existente será eliminado do compartilhamento e substituído por esse table_name.

Se FALSE e este share_table_name já existir, uma exceção será gerada indicando que a tabela de compartilhamento já está sendo usada.

share_owner O proprietário da ação.
auto_commit Se TRUE, essa chamada de procedimento confirmará as alterações que não estão visíveis externamente até que o commit ocorra. O valor padrão é FALSE, o que significa que o usuário deve fazer COMMIT depois de executar essa chamada para tornar a alteração visível.

Procedimento ASSERT_SHAREABLE_OBJECT

Retorne sem erro, se o objeto existir e puder ser compartilhado.

Sintaxe

PROCEDURE ASSERT_SHAREABLE_OBJECT
(
  object_name          IN VARCHAR2,
  object_owner         IN VARCHAR2 := NULL
);

Parâmetros

Parâmetro Descrição
object_name O nome do objeto.
object_owner O proprietário do objeto. O padrão é o esquema atual.

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.

Função CAN_CREATE_SHARE

Esta função verifica se o esquema atual pode criar destinatários de compartilhamento. Se compartilhamentos puderem ser criados, um 1 será retornado e 0, caso contrário.

Sintaxe

FUNCTION CAN_CREATE_SHARE
RETURN NUMBER;

Exemplo: Antes e depois de ativar o esquema admin

SQL> select dbms_share.can_create_share from dual;
 CAN_CREATE_SHARE
----------------
               0 
SQL> exec dbms_share.enable_schema('admin') 
PL/SQL procedure successfully completed. 
SQL> select dbms_share.can_create_share from dual; 
CAN_CREATE_SHARE
----------------
               1

Função CAN_CREATE_SHARE_RECIPIENT

Esta função verifica se o esquema atual pode criar destinatários de compartilhamento. Se for possível criar compartilhamentos, 1 será retornado, caso contrário, será retornado 0.

Sintaxe

FUNCTION CAN_CREATE_SHARE_RECIPIENT
RETURN NUMBER;

Procedimento CLEAR_RECIPIENT_EVENTS

Limpar eventos do log de eventos do destinatário de compartilhamento.

Sintaxe

PROCEDURE CLEAR_RECIPIENT_EVENTS 
(
   recipient_name       IN VARCHAR2,
   from_time            IN TIMESTAMP WITH TIME ZONE := NULL,
   to_time              IN TIMESTAMP WITH TIME ZONE := NULL,
   recipient_owner      IN VARCHAR2 := NULL 
);

Parâmetros

Parâmetro Descrição
recipient_name O nome local do destinatário do compartilhamento.
from_time Hora mais antiga para eventos que devem ser limpos ou NULL.
to_time Hora mais recente para eventos que devem ser apagados ou NULL.
recipient_owner O esquema proprietário do destinatário.

Procedimento CLEAR_SHARE_EVENTS

Limpar eventos do log de eventos de compartilhamento.

Sintaxe

PROCEDURE CLEAR_SHARE_EVENTS 
(
    share_name           IN VARCHAR2,
    from_time            IN TIMESTAMP WITH TIME ZONE := NULL,
    to_time              IN TIMESTAMP WITH TIME ZONE := NULL,
    share_owner          IN VARCHAR2 := NULL 
);

Parâmetros

Parâmetro Descrição
share_name O nome do compartilhamento.
from_time Hora mais antiga para eventos que devem ser limpos ou NULL.
to_time Hora mais recente para eventos que devem ser apagados ou NULL.
share_owner O esquema proprietário do compartilhamento.

Procedimento CREATE_BEARER_TOKEN_CREDENTIAL

Crie uma credencial adequada para uso com provedores de compartilhamento delta.

Isso é semelhante à chamada CREATE_CREDENTIALS, mas usa valores explícitos em vez de um perfil de compartilhamento delta. Consulte CREATE_CREDENTIALS Procedimento e Função para obter mais informações.

Sintaxe

PROCEDURE CREATE_BEARER_TOKEN_CREDENTIAL 
(
   credential_name      IN VARCHAR2,
   bearer_token         IN VARCHAR2 := NULL,
   token_endpoint       IN VARCHAR2 := NULL,
   client_id            IN VARCHAR2 := NULL,
   client_secret        IN VARCHAR2 := NULL,
   token_refresh_rate   IN PLS_INTEGER := 3600 
);

Parâmetros

Parâmetro Descrição
credential_name O nome da nova credencial.
bearer_token O token do portador, se conhecido.
token_endpoint O ponto final a ser chamado para obter um novo token.
client_id O nome de usuário a ser enviado para token_endpoint.
client_secret A senha a ser enviada para token_endpoint.
token_refresh_rate Um tempo de atualização opcional, em segundos.

Exemplo: Credencial com um token de portador fixo

Em sua forma mais simples, esse procedimento é equivalente a chamar DBMS_CREDENTIAL com um nome de usuário 'BEARER_TOKEN' e o próprio token do portador como senha.

SQL> exec dbms_share.create_bearer_token_credential('MY_FIXED_CREDENTIAL', 'FF42322D27D4C2DEE05392644664351E')
PL/SQL procedure successfully completed. 
SQL> select username from user_credentials where credential_name = 'MY_FIXED_CREDENTIAL';
USERNAME
------------------------------------------------------------------------------------------------------------------------
BEARER_TOKEN

Exemplo: Credencial com um token de portador renovável

Crie uma credencial que contenha um token de portador de curta duração obtido de um ponto final de token. O token do portador será atualizado uma vez a cada hora usando uma segunda credencial, que é preenchida com base no id e no segredo do cliente.

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

Procedimento CREATE_CLOUD_STORAGE_LINK

Crie um link de URI de armazenamento na nuvem nomeado. Um link de armazenamento na nuvem é uma associação nomeada entre um URI de bucket do OCI e um nome de credencial local.

Observação

Use o Procedimento SET_STORAGE_CREDENTIAL para adicionar uma credencial ao link de armazenamento.

Sintaxe

PROCEDURE CREATE_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

Exemplo

Neste exemplo, um link de armazenamento na nuvem chamado MY_SHARE_STORAGE é criado no URL fornecido.

SQL> BEGIN
  2    dbms_share.create_cloud_storage_link(
  3      'MY_SHARE_STORAGE',
  4      'https://objectstorage.../n/abcdef/b/my_bucket/o' );
  5  END;
  6  /

PL/SQL procedure successfully completed.

SQL> select storage_link_name from user_lineage_cloud_storage_links;

STORAGE_LINK_NAME
----------------------------------------------------------------------------------------
MY_SHARE_STORAGE

Procedimento CREATE_OR_REPLACE_CLOUD_STORAGE_LINK

Crie ou substitua um URI de armazenamento em nuvem nomeado. Um link de armazenamento na nuvem é uma associação nomeada entre um URI de bucket do OCI e um nome de credencial local.

Observação

Use o Procedimento SET_STORAGE_CREDENTIAL para adicionar uma credencial ao link de armazenamento.

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_OR_REPLACE_SHARE_RECIPIENT

Crie ou substitua um destinatário de compartilhamento. Você deve fornecer pelo menos um endereço de e-mail ou ID de compartilhamento.

Sintaxe

PROCEDURE CREATE_OR_REPLACE_SHARE_RECIPIENT  
(
    recipient_name       IN VARCHAR2,
    description          IN VARCHAR2 := NULL,
    recipient_owner      IN VARCHAR2 := NULL,
    email                IN VARCHAR2 := NULL,
    sharing_id           IN VARCHAR2 := NULL  
);

Parâmetros

Parâmetro Descrição
recipient_name O nome local do destinatário do compartilhamento. Alguns nomes não são permitidos (por exemplo, MY_TENANCY).
description Uma descrição do destinatário.
recipient_owner O esquema proprietário do destinatário.
email Um e-mail que será registrado para o usuário OAUTH.
sharing_id O id de compartilhamento do destinatário, da Função GET_SHARING_ID.

Procedimento CREATE_SHARE

Crie um objeto de compartilhamento nomeado.

Sintaxe

PROCEDURE CREATE_SHARE
(
  share_name           IN VARCHAR2,
  share_type           IN VARCHAR2 := SHARE_TYPE_VERSIONED,
  storage_link_name    IN VARCHAR2 := NULL,
  storage_link_owner   IN VARCHAR2 := NULL,
  description          IN VARCHAR2 := NULL,
  public_description   IN VARCHAR2 := NULL,
  configuration        IN SYS.JSON_OBJECT_T := NULL,
  force_create         IN BOOLEAN  := FALSE,
  share_owner          IN VARCHAR2 := NULL,
  auto_commit          IN BOOLEAN := FALSE,
  log_level            IN PLS_INTEGER := LOG_LEVEL_BASIC,
  run_storage_tests    IN BOOLEAN := TRUE
);

Parâmetros

Parâmetro Descrição
share_name O nome do compartilhamento. Esse nome está em letras maiúsculas, pois os compartilhamentos delta não fazem distinção entre maiúsculas e minúsculas. O nome segue as convenções padrão da Oracle. Portanto, ele deve ter no máximo 128 caracteres e deve ter aspas duplas se não for um identificador simples. A única diferença é que ele estará em letras maiúsculas, mesmo que seja citado duas vezes.
share_type O tipo de compartilhamento. Para obter informações sobre constantes usadas para esse parâmetro, consulte descrições de Tipos de Compartilhamento em DBMS_SHARE Constantes.
storage_link_name O nome do link de armazenamento na nuvem no qual os objetos são criados. O usuário deve ter acesso de leitura/gravação a esse armazenamento e ter a capacidade de criar solicitações pré-autenticadas no armazenamento. O parâmetro é necessário para compartilhamentos com controle de versão e opcional para compartilhamentos atuais.
storage_link_owner O proprietário do link de armazenamento na nuvem no qual os objetos são criados.
description Uma descrição local para o compartilhamento.
public_description Uma descrição pública do compartilhamento.
configuration Um documento de configuração que define como os objetos são criados.
force_create Defina force_create como TRUE para redefinir o compartilhamento, se ele existir.
share_owner O proprietário da ação.
auto_commit Se TRUE, essa chamada de procedimento confirmará as alterações que não estão visíveis externamente até que o commit ocorra. O valor padrão é FALSE, o que significa que o usuário deve fazer COMMIT depois de executar essa chamada para tornar a alteração visível.
log_level Nível de log de eventos. Isso controla a quantidade de detalhes registrada na Exibição ALL_SHARE_EVENTS. Para obter informações sobre constantes usadas para esse parâmetro, consulte descrições de Nível de Log em DBMS_SHARE Constantes.
run_storage_tests Se esse parâmetro for TRUE, DBMS_SHARE executará testes para verificar se o link de armazenamento de compartilhamento especificado tem os privilégios corretos.

Se esse parâmetro for FALSE, o procedimento não executará verificações no momento da criação. Isso pode levar a erros mais tarde, durante a publicação ou o consumo da ação.

A Oracle recomenda que você especifique TRUE para esse parâmetro.

Procedimento CREATE_SHARE_RECIPIENT

Criar um novo destinatário de compartilhamento.

Sintaxe

PROCEDURE CREATE_SHARE_RECIPIENT  
(
    recipient_name       IN VARCHAR2,
    description          IN VARCHAR2 := NULL,
    recipient_owner      IN VARCHAR2 := NULL,
    email                IN VARCHAR2 := NULL,
    sharing_id           IN VARCHAR2 := NULL  
);

Parâmetros

Parâmetro Descrição
recipient_name O nome local do destinatário do compartilhamento. Alguns nomes não são permitidos, por exemplo: MY_TENANCY.
description Uma descrição do destinatário.
recipient_owner O esquema proprietário do destinatário.
email Um e-mail que será registrado para o usuário OAUTH. Forneça pelo menos um ID de e-mail ou compartilhamento.
sharing_id O id de compartilhamento do destinatário da Função GET_SHARING_ID. Forneça pelo menos um ID de e-mail ou compartilhamento.

Procedimento DROP_CLOUD_STORAGE_LINK

Solte um link do armazenamento na nuvem.

Sintaxe

PROCEDURE DROP_CLOUD_STORAGE_LINK  
(
    storage_link_name    IN VARCHAR2,
    owner                IN VARCHAR2 := NULL,
    auto_commit          IN BOOLEAN := TRUE  
);

Parâmetros

Procedimento DROP_RECIPIENT

Elimine um destinatário. Todo o acesso ao destinatário será revogado.

Sintaxe

PROCEDURE DROP_RECIPIENT  
(
    recipient_name       IN VARCHAR2,
    owner                IN VARCHAR2 := NULL  
);

Parâmetros

Parâmetro Descrição
recipient_name O nome do destinatário do compartilhamento.
owner O esquema que define o destinatário.

Procedimento DROP_SHARE

Solte um compartilhamento e todo o seu conteúdo. O acesso futuro à participação dos consumidores terminará.

Sintaxe

PROCEDURE DROP_SHARE
(
  share_name           IN VARCHAR2,
  share_owner          IN VARCHAR2 := NULL,
  destroy_objects      IN BOOLEAN := TRUE
);

Parâmetros

Parâmetro Descrição
share_name O nome do compartilhamento a ser eliminado.
share_owner O proprietário da ação a ser descartada.
destroy_objects Se TRUE, exclua todos os objetos criados em nome do compartilhamento. O default é TRUE.

Procedimento DROP_SHARE_LINK_VIEW

Elimine uma view que foi criada pelo procedimento CREATE_SHARE_LINK_VIEW.

Consulte Procedimento CREATE_SHARE_LINK_VIEW para obter informações adicionais.

Sintaxe

PROCEDURE DROP_SHARE_LINK_VIEW  
(
    view_name            IN VARCHAR2,
    view_owner           IN VARCHAR2 := NULL  
);

Parâmetros

Procedimento DROP_SHARE_VERSION

Elimine uma única versão de compartilhamento. Observe que você não pode eliminar a versão atual.

Sintaxe

PROCEDURE DROP_SHARE_VERSION  
(
    share_name           IN VARCHAR2,
    share_version        IN NUMBER,
    destroy_objects      IN BOOLEAN := TRUE,
    force_drop           IN BOOLEAN := FALSE,
    share_owner          IN VARCHAR2 := NULL  
);

Parâmetros

Parâmetro Descrição
share_name O nome do compartilhamento.
share_version A versão a ser eliminada. Não é possível eliminar a versão atual.
destroy_objects Destrua qualquer objeto associado no armazenamento em nuvem, se aplicável.
force_drop Solte a versão de compartilhamento mesmo que haja um arquivo PAR pendente na versão.
share_owner O proprietário da ação.

Procedimento DROP_SHARE_VERSIONS

Elimine uma variedade de versões de compartilhamento. Observe que você não pode eliminar a versão atual usando este procedimento.

Sintaxe

PROCEDURE DROP_SHARE_VERSIONS  
(
    share_name           IN VARCHAR2,
    from_share_version   IN NUMBER,
    to_share_version     IN NUMBER,
    destroy_objects      IN BOOLEAN := TRUE,
    force_drop           IN BOOLEAN := FALSE,
    share_owner          IN VARCHAR2 := NULL  
);

Parâmetros

Parâmetro Descrição
share_name O nome do compartilhamento.
from_share_version A versão mais baixa a ser lançada.
to_share_version A versão mais alta a cair.
destroy_objects Destrua qualquer objeto associado no armazenamento em nuvem, se aplicável.
force_drop Solte a versão de compartilhamento mesmo que haja um arquivo PAR pendente na versão.
share_owner O proprietário da ação.

Procedimento DROP_UNUSED_SHARE_VERSIONS

Elimine qualquer versão de compartilhamento que não esteja em uso no momento.

Sintaxe

PROCEDURE DROP_UNUSED_SHARE_VERSIONS  
(
    share_name           IN VARCHAR2,
    destroy_objects      IN BOOLEAN := TRUE,
    share_owner          IN VARCHAR2 := NULL  
);

Parâmetros

Parâmetro Descrição
share_name O nome do compartilhamento.
destroy_objects Destrua qualquer objeto associado no armazenamento em nuvem, se aplicável.
share_owner O proprietário da ação.

Procedimento ENABLE_SCHEMA

Ativar ou desativar um esquema para compartilhamento. Esse procedimento deve ser executado pelo usuário ADMIN.

Sintaxe

Os usuários podem consumir compartilhamentos delta sem estarem ativados com este procedimento, mas não podem criar ou publicar compartilhamentos. O compartilhamento é desativado por padrão para todos os esquemas, incluindo ADMIN.

PROCEDURE ENABLE_SCHEMA  
(
    schema_name          IN VARCHAR2,
    enabled              IN BOOLEAN := TRUE,
    privileges           IN PLS_INTEGER := NULL
);

Parâmetros

Parâmetro Descrição
schema_name O esquema a ser ativado ou desativado.
enable VERDADEIRO para ativar; FALSO para desativar.
privileges O argumento de privilégios tem valores de bitmap. Se você deixar o argumento como NULL, o padrão será PRIV_CREATE_SHARE + PRIV_CREATE_RECIPIENT + PRIV_CONSUME_ORACLE_SHARE.

Os valores de bitmap são os seguintes:
  • PRIV_CREATE_SHARE
    Permita que os usuários criem compartilhamentos de publicação em seu próprio esquema.
    PRIV_CREATE_SHARE         CONSTANT PLS_INTEGER := 1;
  • PRIV_CREATE_RECIPIENT

    Permite que os usuários criem destinatários de compartilhamento em seu próprio esquema.

    PRIV_CREATE_RECIPIENT     CONSTANT PLS_INTEGER := 2;
  • PRIV_CONSUME_ORACLE_SHARE

    Permita que os usuários consumam compartilhamentos ao vivo de Oracle para Oracle.

    PRIV_CONSUME_ORACLE_SHARE CONSTANT PLS_INTEGER := 4;
  • PRIV_ORDS_ACL

    Conceda uma ACL ao usuário no ponto final local do ORDS. Isso é necessário para que o usuário gere tokens de portador em compartilhamentos criados localmente.

    PRIV_ORDS_ACL             CONSTANT PLS_INTEGER := 8;

Função GET_ACTIVATION_LINK

Gere o link que é colocado em e-mails para o destinatário autorizado. Esse link de ativação leva à página de download, na qual o destinatário clica em um botão para obter o perfil delta.

Sintaxe

FUNCTION GET_ACTIVATION_LINK
(
  recipient_name       IN VARCHAR2,
  recipient_owner      IN VARCHAR2 := NULL,
  expiration           IN PLS_INTEGER := 259200,
  invalidate_previous  IN BOOLEAN := TRUE
)
RETURN VARCHAR2;

Parâmetros

Exemplo: Imprimir link de ativação na tela

SQL> exec dbms_share.create_share_recipient('new_recipient', email=>'anyone@example.com')

PL/SQL procedure successfully completed.

SQL> column PROFILE format A200
SQL> variable sprof varchar2(32767)
SQL> declare
  2    profile sys.json_object_t;
  3  begin
  4    dbms_share.populate_share_profile('NEW_RECIPIENT', profile);
  5    :sprof := profile.to_string;
  6  end;
  7  /
PL/SQL procedure successfully completed.

SQL> exec dbms_output.put_line(dbms_share.get_activation_link('NEW_RECIPIENT'))
http://.../ords/_adpshr/delta-sharing/download?key=43BA....YXJlX3Rlc3Q= 

PL/SQL procedure successfully completed.

Função GET_PUBLISHED_IDENTITY

Obtenha dados sobre o usuário atual que foi definido por SET_PUBLISHED_IDENTITY.

Sintaxe

FUNCTION GET_PUBLISHED_IDENTITY
  RETURN CLOB;

Exemplo

SQL> declare
  2    id_json json_object_t := json_object_t();
  3  begin
  4    id_json.put('name', 'Demo Publisher');
  5    id_json.put('description', 'Documentation Share Provider');
  6    id_json.put('contact', 'null@example.com');
  7    dbms_share.set_published_identity(id_json);
  8  end;
  9  /

PL/SQL procedure successfully completed.

SQL> select json_query(dbms_share.get_published_identity, '$' pretty) "Published Identity"
  2  from dual;

Published Identity-
-------------------------------------------------------------------------------
{
  "name" : "Demo Publisher",
  "description" : "Documentation Share Provider",
  "contact" : "null@example.com"
}

Função GET_RECIPIENT_PROPERTY

Retorna o valor de uma propriedade para um destinatário.

Sintaxe

FUNCTION GET_RECIPIENT_PROPERTY
(
  recipient_name       IN VARCHAR2,
  recipient_property   IN VARCHAR2,
  recipient_owner      IN VARCHAR2 := NULL
)RETURN VARCHAR2;

Parâmetros

Parâmetro Descrição
recipient_name O nome do destinatário.
recipient_property A propriedade a ser obtida. Essas propriedades incluem:
  • PROP_SHARE_DESC
  • PROP_SHARE_PUBLIC_DESC
  • PROP_SHARE_VERSION_ACCESS
  • PROP_SHARE_JOB_NAME
  • PROP_SHARE_SPLIT_SIZE
  • PROP_SHARE_LOG_LEVEL
  • PROP_SHARE_JOB_DOP
  • PROP_SHARE_JOB_CLASS
  • PROP_SHARE_JOB_PRIORITY
  • PROP_SHARE_VERSION_ACCESS

Para obter informações sobre constantes usadas para esse parâmetro, consulte descrições de Compartilhar Propriedades em DBMS_SHARE Constantes.

recipient_owner O proprietário do destinatário. O padrão é o usuário atual.

Função GET_SHARE_PROPERTY

Obtenha o valor de propriedade de um compartilhamento existente.

Sintaxe

FUNCTION GET_SHARE_PROPERTY
(
  share_name       IN VARCHAR2,
  share_property   IN VARCHAR2,
  share_owner      IN VARCHAR2 := NULL
)
RETURN VARCHAR2

Parâmetros

Parâmetro Descrição
share_name O nome do compartilhamento.
share_property O valor da propriedade a ser obtido. Para obter informações sobre constantes usadas para esse parâmetro, consulte descrições de Compartilhar Propriedades em DBMS_SHARE Constantes.
share_owner O proprietário da ação. O padrão é o usuário atual.

Função GET_SHARE_TABLE_PROPERTY

Obtenha o valor de propriedade de uma tabela de compartilhamento existente.

Sintaxe

FUNCTION GET_SHARE_TABLE_PROPERTY
(
  share_name           IN VARCHAR2,
  share_table_name     IN VARCHAR2,
  share_table_property IN VARCHAR2,
  share_schema_name    IN VARCHAR2 := NULL,
  share_owner          IN VARCHAR2 := NULL
)RETURN VARCHAR2;

Parâmetros

Parâmetro Descrição
share_name O nome do compartilhamento.
share_table_name O nome da tabela de compartilhamento.
share_table_property A propriedade da tabela de compartilhamento a ser atualizada. Para obter informações sobre constantes usadas para esse parâmetro, consulte descrições de Compartilhar Propriedades da Tabela em DBMS_SHARE Constantes.
share_schema_name O nome do esquema de compartilhamento. O padrão é letras maiúsculas do usuário atual.
share_owner O proprietário da ação.

Procedimento GRANT_TO_RECIPIENT

Conceder acesso em um compartilhamento a um destinatário específico. O compartilhamento e o destinatário devem pertencer ao mesmo esquema.

Sintaxe

PROCEDURE GRANT_TO_RECIPIENT  
(
    share_name           IN VARCHAR2,
    recipient_name       IN VARCHAR2,
    owner                IN VARCHAR2 := NULL,
    auto_commit          IN BOOLEAN := FALSE  
);

Parâmetros

Parâmetro Descrição
share_name O nome do compartilhamento a ser concedido.
recipient_name O nome do destinatário.
owner O proprietário da ação e do destinatário.
auto_commit O parâmetro auto_commit é ignorado. Esse procedimento sempre será confirmado.

Procedimento POPULATE_SHARE_PROFILE

Gerar um perfil delta para um destinatário. Você pode imprimi-lo na tela ou carregá-lo em algum lugar. Por exemplo, para um bucket de objeto usando DBMS_CLOUD.EXPORT_DATA.

Sintaxe

PROCEDURE POPULATE_SHARE_PROFILE  
(
    recipient_name       IN VARCHAR2,
    share_profile        IN OUT NOCOPY SYS.JSON_OBJECT_T,
    recipient_owner      IN VARCHAR2 := NULL  
);

Parâmetros

Parâmetro Descrição
recipient_name O nome local do destinatário.
share_profile O perfil de compartilhamento, sem token do portador.
recipient_owner O esquema proprietário do destinatário.

Exemplo: Imprima o perfil na tela.

SQL> EXEC DBMS_SHARE.CREATE_SHARE_RECIPIENT('new_recipient', email=>'anyone@example.com')
 
PL/SQL procedure successfully completed. 
SQL> column PROFILE format A200
SQL> variable sprof varchar2(32767)
SQL> declare
  2    profile sys.json_object_t;
  3  begin
  4    dbms_share.populate_share_profile('NEW_RECIPIENT', profile);
  5    :sprof := profile.to_string;
  6  end;
  7  /

PL/SQL procedure successfully completed. 

SQL> select json_query(:sprof, '$' pretty) "PROFILE" from dual;
PROFILE------------------------------------------------------------------------------------------------------------------------
{
  "shareCredentialsVersion" : 1,
  "endpoint" : "https://.../ords/share_test/_delta_sharing/",
  "bearerToken" : "mc7puvhqCpU6xjTOjRdl_w",
  "tokenEndpoint" : "https://.../ords/share_test/oauth/token",
  "clientID" : "VXGQ_44s6qJ-K4WHUNM2yQ..",
  "clientSecret" : "y9ddppgwEmZl7adDHFQndw.."
}

Procedimento PUBLISH_SHARE

Publique um compartilhamento e retorne imediatamente.

A publicação continuará em segundo plano. Você pode verificar o status do job consultando a view USER_SHARE_JOBS. Consulte USER_SHARE_JOBS View para obter informações adicionais.

Sintaxe

PROCEDURE PUBLISH_SHARE  
(
    share_name           IN VARCHAR2,
    share_owner          IN VARCHAR2 := NULL,
    drop_prior_versions  IN BOOLEAN := FALSE,
    share_job_dop        IN NUMBER := NULL,
    share_job_priority   IN NUMBER := NULL,
    job_class            IN VARCHAR2 := 'DEFAULT_JOB_CLASS',
    force_job_class      IN BOOLEAN := FALSE  
);

Parâmetros

Parâmetro Descrição
share_name O nome do compartilhamento a ser publicado.
share_owner O proprietário do compartilhamento, que deve ser o usuário atual ou NULL.
drop_prior_versions Defina como TRUE se quiser eliminar todas as versões anteriores do compartilhamento. Observe que as versões só serão eliminadas se não houver PARs (Solicitações Pré-Autenticadas) pendentes.
share_job_dop Especifique o número máximo de jobs dbms_scheduler que serão usados para publicar o compartilhamento. Deixe NULL como valor nulo para usar o número padrão do sistema.
share_job_priority Especifique uma prioridade relativa desta publicação de compartilhamento em comparação com outras. Se dois compartilhamentos estiverem sendo publicados ao mesmo tempo, o que tiver a prioridade mais alta será processado primeiro, mesmo que tenha sido iniciado posteriormente.
job_class A classe de job do scheduler, de all_scheduler_job_classes, que é usada para publicar o compartilhamento.
force_job_class Use o job_class especificado mesmo que o administrador tenha definido uma classe de job padrão diferente.

Procedimento PUBLISH_SHARE_WAIT

Publique um compartilhamento e aguarde até que o job em segundo plano seja concluído. A publicação continua mesmo que a chamada seja interrompida.

Sintaxe

PROCEDURE PUBLISH_SHARE_WAIT  
(
       share_name           IN VARCHAR2,
       share_owner          IN VARCHAR2 := NULL,
       drop_prior_versions  IN BOOLEAN := FALSE,
       share_job_dop        IN NUMBER := NULL,
       share_job_priority   IN NUMBER := NULL,
       job_class            IN VARCHAR2 := 'DEFAULT_JOB_CLASS',
       force_job_class      IN BOOLEAN := FALSE  
);

Parâmetros

Parâmetro Descrição
share_name O nome do compartilhamento a ser publicado.
share_owner O proprietário do compartilhamento, que deve ser o usuário atual ou NULL.
drop_prior_versions Defina como TRUE se quiser eliminar todas as versões anteriores do compartilhamento. Observe que as versões só serão eliminadas se não houver PARs (Solicitações Pré-Autenticadas) pendentes.
share_job_dop Especifique o número máximo de jobs dbms_scheduler que serão usados para publicar o compartilhamento. Deixe NULL como valor nulo para usar o número padrão do sistema.
share_job_priority Especifique uma prioridade relativa desta publicação de compartilhamento em comparação com outras. Se dois compartilhamentos estiverem sendo publicados ao mesmo tempo, o que tiver a prioridade mais alta será processado primeiro, mesmo que tenha sido iniciado posteriormente.
job_class A classe de job do scheduler, de all_scheduler_job_classes, que é usada para publicar o compartilhamento.
force_job_class Use o job_class especificado mesmo que o administrador tenha definido uma classe de job padrão diferente.

Procedimento PURGE_DETACHED_FILES

Exclua ou esqueça arquivos parquet que foram desanexados de seus compartilhamentos.

Sintaxe

PROCEDURE PURGE_DETACHED_FILES  
(
    file_pattern         IN VARCHAR2 := '%',
    credential_name      IN VARCHAR2 := NULL,
    purge_mode           IN PLS_INTEGER := PURGE_DROP,
    owner_id             IN NUMBER := SYS_CONTEXT('USERENV', 'CURRENT_USERID')  
);

Uma versão de PURGE_DETACHED_FILES que retorna o ID do job de expurgação, se houver.

PROCEDURE PURGE_DETACHED_FILES  
(
    purge_job_id         IN OUT NOCOPY NUMBER,
    file_pattern         IN VARCHAR2 := '%',
    credential_name      IN VARCHAR2 := NULL,
    purge_mode           IN PLS_INTEGER := PURGE_DROP,
    owner_id             IN NUMBER := SYS_CONTEXT('USERENV', 'CURRENT_USERID')  
);

Parâmetros

Parâmetro Descrição
purge_job_id O ID do job de limpeza.
file_pattern Um padrão LIKE opcional para os arquivos que devem ser limpos.
credential_name Uma credencial opcional a ser usada para excluir os arquivos.
purge_mode Especifica como os arquivos são limpos. Os valores do modo de limpeza incluem:
  • PURGE_DROP
    Tentativa de eliminar os arquivos, usando a credencial especificada. Se o arquivo não puder ser eliminado, ele continuará sendo listado nas views *_SHARE_DETACHED_FILES.
    PURGE_DROP             CONSTANT PLS_INTEGER := 1;
  • PURGE_DROP_FORCE
    Tentativa de eliminar os arquivos, usando a credencial especificada. O arquivo será removido das views *_SHARE_DETACHED_FILES mesmo que a tentativa de eliminar o arquivo falhe novamente.
    PURGE_DROP_FORCE       CONSTANT PLS_INTEGER := 2;
  • PURGE_FORGET
    Remova as views *_SHARE_DETACHED_FILES dos arquivos sem tentar eliminá-las.
    PURGE_FORGET           CONSTANT PLS_INTEGER := 3;
owner_id O ID do proprietário cujos arquivos devem ser limpos.

Procedimento REMOVE_FROM_SHARE

Remover uma tabela ou view de um compartilhamento.

Sintaxe

PROCEDURE REMOVE_FROM_SHARE  
(
    share_name           IN VARCHAR2,
    share_table_name     IN VARCHAR2,
    share_schema_name    IN VARCHAR2 := NULL,
    share_owner          IN VARCHAR2 := NULL,
    auto_commit          IN BOOLEAN := FALSE  
);

Parâmetros

Parâmetro Descrição
share_name O nome de um compartilhamento existente para o qual o objeto é revogado.
share_table_name O nome da tabela de compartilhamento a ser revogada. Isso deve corresponder ao nome visível externamente; portanto, a entrada estará em letras maiúsculas.
share_schema_name O nome do esquema de compartilhamento. O padrão é letras maiúsculas do usuário atual.
share_owner O proprietário da ação.
auto_commit Se TRUE, essa chamada de procedimento confirmará as alterações que não estão visíveis externamente até que o commit ocorra. O valor padrão é FALSE, o que significa que o usuário deve fazer COMMIT depois de executar essa chamada para tornar a alteração visível.

Procedimento RENAME_RECIPIENT

Renomear um destinatário. Este procedimento só altera o nome local do destinatário. A definição externa do destinatário, por exemplo, o nome do usuário OAUTH ou o ID de compartilhamento, não é alterada.

Sintaxe

PROCEDURE RENAME_RECIPIENT  
(
    old_recipient_name   IN VARCHAR2,
    new_recipient_name   IN VARCHAR2,
    owner                IN VARCHAR2 := NULL,
    auto_commit          IN BOOLEAN := TRUE  
);

Parâmetros

Parâmetro Descrição
old_recipient_name O nome atual do destinatário do compartilhamento.
new_recipient_name O novo nome do destinatário do compartilhamento.
owner O esquema que define o destinatário.
auto_commit Se TRUE, as alterações serão submetidas a commit automaticamente. As alterações não são visíveis externamente até que o commit ocorra. O default é TRUE.

Procedimento RENAME_SHARE

Renomear um compartilhamento. Deve-se ter cuidado com este procedimento, uma vez que a alteração afeta todos os consumidores existentes cujo acesso se baseia no nome anterior. Os consumidores não são notificados diretamente ou atualizados.

Sintaxe

PROCEDURE RENAME_SHARE  
(
    old_share_name       IN VARCHAR2,
    new_share_name       IN VARCHAR2,
    share_owner          IN VARCHAR2 := NULL,
    auto_commit          IN BOOLEAN := TRUE  
);

Parâmetros

Parâmetro Descrição
old_share_name O nome atual do compartilhamento.
new_share_name O novo nome do compartilhamento.
share_owner O proprietário da ação.
auto_commit Se TRUE, as alterações serão submetidas a commit automaticamente. As alterações não são visíveis externamente até que o commit ocorra. O default é TRUE.

Procedimento RENAME_SHARE_LINK

Renomeie um link de compartilhamento registrado.

Sintaxe

PROCEDURE RENAME_SHARE_LINK  
(
    old_name             IN VARCHAR2,
    new_name             IN VARCHAR2,
    link_owner           IN VARCHAR2 := NULL  
);

Parâmetros

Procedimento RENAME_SHARE_SCHEMA

Renomeie um esquema de compartilhamento.

Sintaxe

PROCEDURE RENAME_SHARE_SCHEMA  
(
    share_name           IN VARCHAR2,
    old_schema_name      IN VARCHAR2,
    new_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.
old_schema_name O nome antigo do esquema.
new_schema_name O novo nome do esquema.
share_owner O proprietário da ação. O padrão é o esquema atual.
auto_commit Se TRUE, as alterações serão submetidas a commit automaticamente. As alterações não são visíveis externamente até que o commit ocorra. O padrão é FALSE.

Procedimento RENAME_SHARE_TABLE

Renomeie uma tabela de compartilhamento.

Sintaxe

PROCEDURE RENAME_SHARE_TABLE  
(
    share_name           IN VARCHAR2,
    share_schema_name    IN VARCHAR2,
    old_share_table_name IN VARCHAR2,
    new_share_table_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.
share_schema_name O nome do esquema de compartilhamento.
old_share_table_name O antigo nome da tabela de compartilhamento.
new_share_table_name O novo nome da tabela de compartilhamento.
share_owner O proprietário da ação.
auto_commit Se TRUE, as alterações serão submetidas a commit automaticamente. As alterações não são visíveis externamente até que o commit ocorra. O padrão é FALSE.

Procedimento REVOKE_FROM_RECIPIENT

Revogue o acesso em um compartilhamento de um destinatário específico.

Sintaxe

PROCEDURE REVOKE_FROM_RECIPIENT  
(
    share_name           IN VARCHAR2,
    recipient_name       IN VARCHAR2,
    owner                IN VARCHAR2 := NULL,
    auto_commit          IN BOOLEAN := FALSE  
);

Parâmetros

Parâmetro Descrição
share_name O nome do compartilhamento a ser revogado.
recipient_name O nome do destinatário.
owner O proprietário da ação e do destinatário.
auto_commit Se TRUE, as alterações serão submetidas a commit automaticamente. As alterações não são visíveis externamente até que o commit ocorra. O padrão é FALSE.

Procedimento SET_CURRENT_SHARE_VERSION

Alterar a versão atual de um compartilhamento.

Sintaxe

PROCEDURE SET_CURRENT_SHARE_VERSION  
(
    share_name         IN VARCHAR2,
    share_version      IN NUMBER,
    share_owner        IN VARCHAR2 := NULL  
);

Parâmetros

Parâmetro Descrição
share_name O nome do compartilhamento.
share_version A nova versão ou NULL. A versão deve existir e deve ser válida. Se share_version for NULL, nenhuma versão será marcada como CURRENT e o compartilhamento será "não publicado".
share_owner O proprietário da ação. O padrão é o esquema atual.

Procedimento SET_PUBLISHED_IDENTITY

Defina dados sobre o usuário atual que serão fornecidos aos destinatários de compartilhamentos ORACLE publicados.

Sintaxe

PROCEDURE SET_PUBLISHED_IDENTITY  
(
    metadata             IN SYS.JSON_OBJECT_T := NULL  
);

Parâmetros

Parâmetro Descrição
metadata Se a identidade do provedor já tiver sido definida, apenas os itens que o chamador deseja atualizar precisarão ser incluídos no JSON. O fornecimento de um valor NULL para um item faz com que esse item seja removido da identidade armazenada. No entanto, "nome", "descrição" e "contato" não podem ser removidos desta forma.

Se o argumento de metadados for NULO, a identidade do provedor existente será excluída. Isso só pode acontecer se o usuário atual não tiver compartilhamentos publicados.

Se a identidade do provedor ainda não tiver sido definida, o JSON deverá conter pelo menos:
  • nome (<=128 bytes)
  • descrição (<=4000 bytes)
  • valores de contato (<=4000 bytes)

Itens adicionais podem ser incluídos a critério do chamador.

Exemplo: Incluir itens adicionais nos metadados JSON

Além do "nome", "descrição" e "contato" necessários, este exemplo inclui o item adicional "agendamento".
{
  "name" : "A sample share provider",
  "description" : "Test of share provider metadata",
  "contact" : "provider1@example.com".
  "schedule" : "New data provided on alternate rainy Fridays"
}

Exemplo: Atualizar "description" e remover "schedule"

Para atualizar "descrição" e remover "programação", o seguinte JSON pode ser usado:
{
  "description" : "The Share Provider You Can Trust!(tm)",
  "schedule" : null
}

Procedimento SET_RECIPIENT_LOG_LEVEL

Altere o nível de log de um destinatário de compartilhamento existente.

Sintaxe

PROCEDURE SET_RECIPIENT_LOG_LEVEL
(
  recipient_name       IN VARCHAR2,
  log_level            IN PLS_INTEGER,
  recipient_owner      IN VARCHAR2 := NULL
);

Parâmetros

Parâmetro Descrição
recipient_name O nome local do destinatário do compartilhamento.
log_level Nível de log de eventos. Para obter informações sobre constantes usadas para esse parâmetro, consulte descrições de Nível de Log em DBMS_SHARE Constantes.
recipient_owner O esquema proprietário do destinatário.

Procedimento SET_SHARE_LOG_LEVEL

Altere o nível do log para um compartilhamento existente.

Sintaxe

PROCEDURE SET_SHARE_LOG_LEVEL
(
  share_name           IN VARCHAR2,
  log_level            IN PLS_INTEGER,
  share_owner          IN VARCHAR2 := NULL
);

Parâmetros

Parâmetro Descrição
share_name O nome do compartilhamento.
log_level Nível de log de eventos. Para obter informações sobre constantes usadas para esse parâmetro, consulte descrições de Nível de Log em DBMS_SHARE Constantes.
share_owner O proprietário da ação.

Procedimento SET_STORAGE_CREDENTIAL

Defina o nome da credencial usado pelo usuário atual quando ele tentar acessar o armazenamento fornecido.

Sintaxe

PROCEDURE SET_STORAGE_CREDENTIAL  
(
    storage_link_name    IN VARCHAR2,
    credential_name      IN VARCHAR2,
    owner                IN VARCHAR2 := NULL,
    check_if_exists      IN BOOLEAN := TRUE,
    auto_commit          IN BOOLEAN := TRUE  
);

Parâmetros

Procedimento STOP_JOB

Tentativa de interromper um job de compartilhamento em execução. O procedimento deve retornar rapidamente, mas pode levar algum tempo para que o trabalho associado pare.

Sintaxe

PROCEDURE STOP_JOB
(
  share_job_id         IN NUMBER,
  share_job_owner      IN VARCHAR2 := NULL
);

Parâmetros

Parâmetro Descrição
share_job_id O ID do job de compartilhamento.
share_job_owner O proprietário do job. O padrão é o esquema atual.

Procedimento UNPUBLISH_SHARE

Cancelar publicação de um compartilhamento.

Sintaxe

PROCEDURE UNPUBLISH_SHARE  
(
    share_name           IN VARCHAR2,
    out_share_job_id     IN OUT NOCOPY NUMBER,
    share_owner          IN VARCHAR2 := NULL,
    drop_all_versions    IN BOOLEAN := FALSE,
    restart_versions     IN BOOLEAN := FALSE  
);

Parâmetros

Parâmetro Descrição
share_name O nome do compartilhamento.
out_share_job_id O ID de qualquer job de compartilhamento que precisa ser executado para processar este comando.
share_owner O proprietário da ação. O padrão é o esquema atual.
drop_all_versions Se definido como TRUE, todas as versões existentes, juntamente com todo o armazenamento associado, serão eliminadas.

Se drop_all_versions for FALSO, todas as versões existentes continuarão a existir, mas o compartilhamento não ficará visível para os destinatários. Uma chamada subsequente para PUBLISH_SHARE ou SET_CURRENT_SHARE_VERSION os torna visíveis novamente.

restart_versions Reinicie a numeração da versão. Se FALSE, o próximo número de versão publicado será o mesmo que teria sido se nenhuma versão tivesse sido descartada.

Se TRUE, a próxima versão publicada será definida como mais de uma versão do que a mais alta existente. Quando usado em conjunto com drop_all_versions, isso tem o efeito de redefinir o compartilhamento para seu estado original. Observe que isso pode confundir qualquer cliente delta existente, por isso deve ser usado com cuidado.

Procedimento UPDATE_DEFAULT_RECIPIENT_PROPERTY

Atualize os valores de propriedade de destinatário padrão. Este procedimento requer que o usuário tenha privilégios de administrador.

Sintaxe

PROCEDURE UPDATE_DEFAULT_RECIPIENT_PROPERTY
(
  recipient_property   IN VARCHAR2,
  new_value_vc         IN VARCHAR2
);

Parâmetros

Parâmetro Descrição
recipient_property A propriedade a ser atualizada. Para obter informações sobre constantes usadas para esse parâmetro, consulte descrições de Compartilhar Propriedades do Destinatário em DBMS_SHARE Constantes.
new_value_vc O novo valor da propriedade.

Procedimento UPDATE_DEFAULT_SHARE_PROPERTY

Atualize os valores de propriedade de compartilhamento padrão.

Sintaxe

PROCEDURE UPDATE_DEFAULT_SHARE_PROPERTY  
(
    share_property       IN VARCHAR2,
    new_value            IN VARCHAR2  
);

Parâmetros

Parâmetro Descrição
share_property A propriedade a ser atualizada. Para obter informações sobre constantes usadas para esse parâmetro, consulte descrições de Compartilhar Propriedades em DBMS_SHARE Constantes.

Essas propriedades podem ser lidas usando a View ALL_SHARE_DEFAULT_SETTINGS.

new_value O novo valor da propriedade.

Procedimento UPDATE_RECIPIENT_PROPERTY

Atualizar uma propriedade de um destinatário existente.

Sintaxe

PROCEDURE UPDATE_RECIPIENT_PROPERTY  
(
    recipient_name       IN VARCHAR2,
    recipient_property   IN VARCHAR2,
    new_value            IN VARCHAR2,
    recipient_owner      IN VARCHAR2 := NULL  
);

Parâmetros

Parâmetro Descrição
recipient_name O nome do destinatário.
recipient_property A propriedade a ser atualizada. Essas propriedades incluem:
  • PROP_RECIPIENT_EMAIL
  • PROP_RECIPIENT_DESCRIPTION
  • PROP_RECIPIENT_LOG_LEVEL
  • PROP_RECIPIENT_SHARING_ID
  • PROP_RECIPIENT_PROFILE_URL
  • PROP_RECIPIENT_PAR_TYPE
  • PROP_RECIPIENT_MIN_PAR_LIFETIME
  • PROP_RECIPIENT_PAR_LIFETIME
  • PROP_RECIPIENT_TOKEN_LIFETIME
Para obter informações sobre constantes usadas para esse parâmetro, consulte descrições de Compartilhar Propriedades do Destinatário em DBMS_SHARE Constantes.
new_value O novo valor da propriedade.
recipient_owner O proprietário do destinatário. O padrão é o esquema atual.

Procedimento UPDATE_SHARE_JOB_PROPERTY

Modificar propriedades de um job de compartilhamento em execução. O procedimento deve retornar rapidamente, mas pode levar algum tempo para que as alterações entrem em vigor.

Sintaxe

PROCEDURE UPDATE_SHARE_JOB_PROPERTY  
(
    share_job_id         IN NUMBER,
    share_property       IN VARCHAR2,
    new_value            IN VARCHAR2,
    share_job_owner      IN VARCHAR2 := NULL  
);

Parâmetros

Parâmetro Descrição
share_job_id O ID do job de compartilhamento.
share_property A propriedade a ser atualizada. Para obter informações sobre constantes usadas para esse parâmetro, consulte descrições de Compartilhar Propriedades do Job em DBMS_SHARE Constantes.
new_value O novo valor da propriedade.
share_job_owner O proprietário do job. O padrão é o esquema atual.

Procedimento UPDATE_SHARE_PROPERTY

Atualizar uma propriedade de um compartilhamento existente.

Sintaxe

PROCEDURE UPDATE_SHARE_PROPERTY  
(
    share_name           IN VARCHAR2,
    share_property       IN VARCHAR2,
    new_value            IN VARCHAR2,
    share_owner          IN VARCHAR2 := NULL,
    auto_commit          IN BOOLEAN := TRUE  
);

Parâmetros

Parâmetro Descrição
share_name O nome do compartilhamento.
share_property A propriedade a ser atualizada. Para obter informações sobre constantes usadas para esse parâmetro, consulte descrições de Compartilhar Propriedades em DBMS_SHARE Constantes.
new_value O novo valor da propriedade.
share_owner O proprietário da ação. O padrão é o esquema atual.
Auto_commit Se TRUE (o padrão), as alterações serão submetidas a commit automaticamente. Se FALSE, o usuário deverá confirmar as alterações. As alterações são visíveis externamente depois que o commit ocorre.

Procedimento UPDATE_SHARE_TABLE_PROPERTY

Atualize o valor de propriedade de uma tabela de compartilhamento existente.

Sintaxe

PROCEDURE UPDATE_SHARE_TABLE_PROPERTY  
(
    share_name           IN VARCHAR2,
    share_table_name     IN VARCHAR2,
    share_table_property IN VARCHAR2,
    new_value            IN VARCHAR2,
    share_schema_name    IN VARCHAR2 := NULL,
    share_owner          IN VARCHAR2 := NULL,
    auto_commit          IN BOOLEAN := TRUE  
);

Parâmetros

Parâmetro Descrição
share_name O nome do compartilhamento.
share_table_name O nome da tabela de compartilhamento.
share_table_property A propriedade a ser atualizada. Essas propriedades incluem:
  • PROP_SHARE_TABLE_SPLIT_METHOD
  • PROP_SHARE_TABLE_SPLIT_COLUMNS
  • PROP_SHARE_TABLE_ORDER_COLUMNS
  • PROP_SHARE_TABLE_SHARE_COLUMNS
  • PROP_SHARE_TABLE_SPLIT_SIZE
  • PROP_SHARE_TABLE_GATHER_STATS
  • PROP_SHARE_TABLE_SPLIT_ROWS
  • PROP_SHARE_TABLE_FLASHBACK
new_value O novo valor da propriedade.
share_schema_name O nome do esquema de compartilhamento (o padrão é letras maiúsculas do usuário atual).
share_owner O proprietário da ação. O padrão é o esquema atual.
Auto_commit Se TRUE (o padrão), as alterações serão submetidas a commit automaticamente. Se FALSE, o usuário deverá confirmar as alterações. As alterações são visíveis externamente depois que o commit ocorre.

Função VALIDATE_CREDENTIAL

Valide um nome de credencial, convertendo-o em um formulário canônico primeiro, se necessário.

O procedimento gerará uma exceção se o nome não for um identificador Oracle válido. O credential_name é retornado sem aspas duplas, como seria exibido na coluna CREDENTIAL_NAME da view USER_CREDENTIALS.

Sintaxe

FUNCTION VALIDATE_CREDENTIAL  
(
        credential_name      IN VARCHAR2,
        check_if_exists      IN BOOLEAN := TRUE  
)  
RETURN VARCHAR2;

Parâmetros

Parâmetro Descrição
credential_name O nome da credencial a ser validada no formato de banco de dados padrão, com aspas duplas se o nome não for um identificador simples.
check_if_exists Se TRUE, a função também confirmará que a credencial existe para o usuário atual.

Procedimento VALIDATE_SHARE_STORAGE

Verifique se o armazenamento fornecido é adequado para compartilhamentos com controle de versão.

Sintaxe

A sintaxe do procedimento incluindo o parâmetro de saída validation_results.

 PROCEDURE VALIDATE_SHARE_STORAGE  
(
    storage_link_name    IN VARCHAR2,
    validation_results   IN OUT NOCOPY VARCHAR2,
    run_storage_tests    IN BOOLEAN := TRUE,
    storage_link_owner   IN VARCHAR2 := NULL  
);

A sintaxe do procedimento não inclui o parâmetro de saída validation_results.

PROCEDURE VALIDATE_SHARE_STORAGE  
(
    storage_link_name    IN VARCHAR2,
    run_storage_tests    IN BOOLEAN := TRUE,
    storage_link_owner   IN VARCHAR2 := NULL  
);

Parâmetros

Parâmetro Descrição
storage_link_name O nome do link de armazenamento na nuvem.
validation_results (Entrada e saída opcionais) Detalhes do resultado da validação retornados no form JSON.

O validation_results inclui os resultados de cada teste separado.

run_storage_tests Execute testes para validar o armazenamento. Se TRUE (o padrão), o procedimento testa READ, WRITE, DELETE e PREAUTHENTICATED REQUESTS.
storage_link_owner O proprietário do link do armazenamento na nuvem.

Exemplo: Resultados da validação

{
  "READ":"PASSSED",
  "WRITE":"PASSSED",
  "CREATE_PAR":"PASSSED",
  "DELETE_PAR":"PASSSED",
  "DELETE":"PASSSED"
}

Procedimento WAIT_FOR_JOB

Este procedimento aguarda até que o trabalho de compartilhamento especificado seja concluído.

Sintaxe

PROCEDURE WAIT_FOR_JOB  
(
    share_job_id         IN NUMBER,
    completed            IN OUT NOCOPY BOOLEAN,
    maximum_wait         IN NUMBER := NULL  
);

Parâmetros

Parâmetro Descrição
share_job_id O ID do job de compartilhamento.
completed Indicador de conclusão do cargo.
maximum_wait O período máximo de espera, em segundos. Um valor NULL não implica limite.