Resumo de Subprogramas do Produtor de Compartilhamento

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

Subprograma Descrição
ADD_TO_SHARE Procedimento Adicione uma tabela ou view a um compartilhamento.
ASSERT_SHAREABLE_OBJECT Procedimento Retorne sem erro, se o objeto existir e puder ser compartilhado.
ASSERT_SHARING_ID Procedimento Execute verificações de validação básicas em um ID de compartilhamento e retorne um na forma canônica.
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.
CLEAR_RECIPIENT_EVENTS Procedimento Limpar eventos do log de eventos do destinatário do compartilhamento.
CLEAR_SHARE_EVENTS Procedimento Limpar eventos do log de eventos de compartilhamento.
CREATE_BEARER_TOKEN_CREDENTIAL Procedimento Crie uma credencial adequada para uso com provedores de compartilhamento delta.
CREATE_CLOUD_STORAGE_LINK Procedimento Crie um link de URI de armazenamento na nuvem nomeado.
CREATE_OR_REPLACE_CLOUD_STORAGE_LINK Procedimento Crie ou substitua um URI de armazenamento na nuvem nomeado.
CREATE_OR_REPLACE_SHARE_RECIPIENT Procedimento Criar ou substituir um destinatário de compartilhamento.
CREATE_SHARE Procedimento Crie um objeto de compartilhamento nomeado.
CREATE_SHARE_RECIPIENT Procedimento Criar um novo destinatário de compartilhamento.
DROP_CLOUD_STORAGE_LINK Procedimento Elimine um link de armazenamento na nuvem.
DROP_RECIPIENT Procedimento Solte um destinatário.
DROP_SHARE Procedimento Elimine um compartilhamento e todo o seu conteúdo.
DROP_SHARE_LINK_VIEW Procedimento Elimine uma view criada pelo procedimento CREATE_SHARE_LINK_VIEW.
DROP_SHARE_VERSION Procedimento Elimine uma única versão de compartilhamento.
DROP_SHARE_VERSIONS Procedimento Elimine uma faixa de versões de compartilhamento.
DROP_UNUSED_SHARE_VERSIONS Procedimento Elimine qualquer versão de compartilhamento que não esteja em uso no momento.
ENABLE_SCHEMA Procedimento 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 Obter o valor de propriedade de um compartilhamento existente.
Função GET_SHARE_TABLE_PROPERTY Obter o valor de propriedade de uma tabela de compartilhamento existente.
GRANT_TO_RECIPIENT Procedimento Conceder acesso em um compartilhamento a um destinatário específico.
POPULATE_SHARE_PROFILE Procedimento Gerar um perfil delta para um destinatário.
PUBLISH_SHARE Procedimento Publique um compartilhamento e retorne imediatamente.
PUBLISH_SHARE_WAIT Procedimento Publique um compartilhamento e aguarde até que o job em segundo plano seja concluído.
PURGE_DETACHED_FILES Procedimento Exclua ou esqueça os arquivos parquet que foram desanexados de seus compartilhamentos.
REMOVE_FROM_SHARE Procedimento Remover uma tabela ou view de um compartilhamento.
RENAME_RECIPIENT Procedimento Renomear um destinatário.
RENAME_SHARE Procedimento Renomeie um compartilhamento.
RENAME_SHARE_LINK Procedimento Renomear um link de compartilhamento registrado.
RENAME_SHARE_SCHEMA Procedimento Renomeie um esquema de compartilhamento.
RENAME_SHARE_TABLE Procedimento Renomear uma tabela de compartilhamento.
REVOKE_FROM_RECIPIENT Procedimento Revogue o acesso em um compartilhamento de um destinatário específico.
SET_CURRENT_SHARE_VERSION Procedimento Alterar a versão atual de um compartilhamento.
SET_PUBLISHED_IDENTITY Procedimento Definir dados sobre o usuário atual que serão fornecidos aos destinatários de compartilhamentos ORACLE publicados.
SET_RECIPIENT_LOG_LEVEL Procedimento Altere o nível de log de um destinatário de compartilhamento existente.
SET_SHARE_LOG_LEVEL Procedimento Altere o nível de log para um compartilhamento existente.
SET_STORAGE_CREDENTIAL Procedimento Defina o nome da credencial de acesso para o armazenamento fornecido.
STOP_JOB Procedimento Interrompa um job de compartilhamento em execução.
UNPUBLISH_SHARE Procedimento Cancelar a publicação de um compartilhamento.
UPDATE_DEFAULT_RECIPIENT_PROPERTY Procedimento Atualize os valores de propriedade do destinatário padrão.
UPDATE_DEFAULT_SHARE_PROPERTY Procedimento Atualize os valores de propriedade de compartilhamento padrão.
UPDATE_RECIPIENT_PROPERTY Procedimento Atualize uma propriedade de um destinatário existente.
UPDATE_SHARE_JOB_PROPERTY Procedimento Modificar propriedades de um job de compartilhamento em execução.
UPDATE_SHARE_PROPERTY Procedimento Atualizar uma propriedade de um compartilhamento existente.
UPDATE_SHARE_TABLE_PROPERTY Procedimento Atualize o valor da 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.
VALIDATE_SHARE_STORAGE Procedimento Verifique se o armazenamento fornecido é adequado para compartilhamentos com controle de versão.
WAIT_FOR_JOB Procedimento Este procedimento aguarda até que o job de compartilhamento especificado seja concluído.

ADD_TO_SHARE Procedimento

Adicione uma tabela ou view a um compartilhamento. O objeto se torna visível para qualquer usuário externo que tenha recebido 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 ser compartilhada. O padrão é para 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, este é o proprietário da tabela em letras maiúsculas. O esquema será criado automaticamente se ainda não existir.
object_metadata Metadados opcionais a serem associados à entidade compartilhada.
replace_existing Se TRUE e este share_table_name já existirem, o table_name existente será eliminado do compartilhamento e substituído por este table_name.

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

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

ASSERT_SHAREABLE_OBJECT Procedimento

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.

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.

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 compartilhamentos puderem ser criados, um 1 será retornado e 0, caso contrário.

Sintaxe

FUNCTION CAN_CREATE_SHARE_RECIPIENT
RETURN NUMBER;

CLEAR_RECIPIENT_EVENTS Procedimento

Limpar eventos do log de eventos do destinatário do 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 NULOS.
to_time Hora mais recente para eventos que devem ser limpos ou NULOS.
recipient_owner O esquema que possui o destinatário.

CLEAR_SHARE_EVENTS Procedimento

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 NULOS.
to_time Hora mais recente para eventos que devem ser limpos ou NULOS.
share_owner O esquema que possui o compartilhamento.

CREATE_BEARER_TOKEN_CREDENTIAL Procedimento

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 símbolo 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 o token_endpoint.
client_secret A senha a ser enviada ao 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 a partir do id e do 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..

CREATE_CLOUD_STORAGE_LINK Procedimento

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

CREATE_OR_REPLACE_CLOUD_STORAGE_LINK Procedimento

Crie ou substitua um 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_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_OR_REPLACE_SHARE_RECIPIENT Procedimento

Criar ou substituir um destinatário de compartilhamento. Você deve fornecer pelo menos um endereço de email 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 que possui o 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.

CREATE_SHARE Procedimento

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. Este nome está em 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, deve ter 128 caracteres ou menos e deve ter aspas duplas se não for um identificador simples. A única diferença é que ele estará em letras maiúsculas mesmo se estiver entre aspas duplas.
share_type O tipo de compartilhamento. Para obter informações sobre constantes usadas para esse parâmetro, consulte as descrições de Tipos de Compartilhamento em DBMS_SHARE Constants.
storage_link_name O nome do link de armazenamento na nuvem em que os objetos são criados. O usuário deve ter acesso de leitura/gravação a esse armazenamento e pode 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 em que os objetos são criados.
description Uma descrição local do 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, esta chamada de procedimento fará commit de alterações que não estarão visíveis externamente até que o commit ocorra. O valor padrão é FALSE, o que significa que o usuário deve COMMIT depois de executar esta chamada para tornar a alteração visível.
log_level Nível de log do evento. Controla a quantidade de detalhes registrados na ALL_SHARE_EVENTS View. Para obter informações sobre constantes usadas para esse parâmetro, consulte as descrições para Log Level em DBMS_SHARE Constants.
run_storage_tests Se esse parâmetro for TRUE, o 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á nenhuma verificação no momento da criação. Isso pode levar a erros posteriormente, durante a publicação ou o consumo da ação.

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

CREATE_SHARE_RECIPIENT Procedimento

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 que possui o destinatário.
email Um e-mail que será registrado para o usuário OAUTH. Você deve fornecer pelo menos um e-mail ou ID de compartilhamento.
sharing_id O id de compartilhamento do destinatário da Função GET_SHARING_ID. Você deve fornecer pelo menos um e-mail ou ID de compartilhamento.

DROP_CLOUD_STORAGE_LINK Procedimento

Elimine um link de 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

DROP_RECIPIENT Procedimento

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

DROP_SHARE Procedimento

Elimine 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 cancelada.
destroy_objects Se TRUE, exclua todos os objetos criados em nome do compartilhamento. O default é TRUE.

DROP_SHARE_LINK_VIEW Procedimento

Elimine uma view criada pelo procedimento CREATE_SHARE_LINK_VIEW.

Consulte CREATE_SHARE_LINK_VIEW Procedures para obter mais informações.

Sintaxe

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

Parâmetros

DROP_SHARE_VERSION Procedimento

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 lançada. Não é possível eliminar a versão atual.
destroy_objects Destrua qualquer objeto associado no armazenamento em nuvem, se aplicável.
force_drop Elimine a versão de compartilhamento mesmo que haja um arquivo PAR pendente na versão.
share_owner O proprietário da ação.

DROP_SHARE_VERSIONS Procedimento

Elimine uma faixa 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 ser lançada.
destroy_objects Destrua qualquer objeto associado no armazenamento em nuvem, se aplicável.
force_drop Elimine a versão de compartilhamento mesmo que haja um arquivo PAR pendente na versão.
share_owner O proprietário da ação.

DROP_UNUSED_SHARE_VERSIONS Procedimento

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.

ENABLE_SCHEMA Procedimento

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

Sintaxe

Os usuários podem consumir compartilhamentos delta sem estarem habilitados 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, ele assumirá como padrão PRIV_CREATE_SHARE + PRIV_CREATE_RECIPIENT + PRIV_CONSUME_ORACLE_SHARE.

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

    Permitir 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 Oracle para Oracle.

    PRIV_CONSUME_ORACLE_SHARE CONSTANT PLS_INTEGER := 4;
  • PRIV_ORDS_ACL

    Conceda uma ACL ao usuário no ponto final do ORDS local. 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 para a 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 para obter. 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 as descrições de Share Properties em DBMS_SHARE Constants.

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

Função GET_SHARE_PROPERTY

Obter 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 as descrições de Share Properties em DBMS_SHARE Constants.
share_owner O proprietário da ação. O padrão é o usuário atual.

Função GET_SHARE_TABLE_PROPERTY

Obter 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 compartilhada.
share_table_property A propriedade da tabela de compartilhamento a ser atualizada. Para obter informações sobre constantes usadas para esse parâmetro, consulte as descrições de Share Table Properties em DBMS_SHARE Constants.
share_schema_name O nome do esquema de compartilhamento. O padrão é uma letra maiúscula do usuário atual.
share_owner O proprietário da ação.

GRANT_TO_RECIPIENT Procedimento

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 do compartilhamento e do destinatário.
auto_commit O parâmetro auto_commit é ignorado. Esse procedimento sempre será confirmado.

POPULATE_SHARE_PROFILE Procedimento

Gerar um perfil delta para um destinatário. Você pode imprimir isso na tela ou carregá-lo em algum lugar. Por exemplo, para um bucket de objetos 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 de portador.
recipient_owner O esquema que possui o 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.."
}

PUBLISH_SHARE Procedimento

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 mais informações.

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 do dbms_scheduler que serão usados para publicar o compartilhamento. Deixe como NULL 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, aquele com a prioridade mais alta será processado primeiro, mesmo que tenha sido iniciado mais tarde.
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 outra classe de job padrão.

PUBLISH_SHARE_WAIT Procedimento

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 do dbms_scheduler que serão usados para publicar o compartilhamento. Deixe como NULL 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, aquele com a prioridade mais alta será processado primeiro, mesmo que tenha sido iniciado mais tarde.
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 outra classe de job padrão.

PURGE_DETACHED_FILES Procedimento

Exclua ou esqueça os 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 do 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 trabalho de limpeza.
file_pattern Um padrão LIKE opcional para os arquivos que serão expurgados.
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, o arquivo continuará sendo listado nas exibições *_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 exibições *_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.

REMOVE_FROM_SHARE Procedimento

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. Deve corresponder ao nome visível externamente, para que a entrada fique em maiúsculas.
share_schema_name O nome do esquema de compartilhamento. O padrão é uma letra maiúscula do usuário atual.
share_owner O proprietário da ação.
auto_commit Se TRUE, esta chamada de procedimento fará commit de alterações que não estarão visíveis externamente até que o commit ocorra. O valor padrão é FALSE, o que significa que o usuário deve COMMIT depois de executar esta chamada para tornar a alteração visível.

RENAME_RECIPIENT Procedimento

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 confirmadas automaticamente. As alterações não são visíveis externamente até que o commit ocorra. O default é TRUE.

RENAME_SHARE Procedimento

Renomeie um compartilhamento. Deve-se ter cuidado com este procedimento, uma vez que a mudança afeta qualquer consumidor existente cujo acesso é baseado no nome anterior. Os consumidores não são notificados ou atualizados diretamente.

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 confirmadas automaticamente. As alterações não são visíveis externamente até que o commit ocorra. O default é TRUE.

RENAME_SHARE_LINK Procedimento

Renomear 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

RENAME_SHARE_SCHEMA Procedimento

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 confirmadas automaticamente. As alterações não são visíveis externamente até que o commit ocorra. O padrão é FALSE.

RENAME_SHARE_TABLE Procedimento

Renomear 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 nome antigo da tabela de compartilhamento.
new_share_table_name O novo nome da tabela compartilhada.
share_owner O proprietário da ação.
auto_commit Se TRUE, as alterações serão confirmadas automaticamente. As alterações não são visíveis externamente até que o commit ocorra. O padrão é FALSE.

REVOKE_FROM_RECIPIENT Procedimento

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 do compartilhamento e do destinatário.
auto_commit Se TRUE, as alterações serão confirmadas automaticamente. As alterações não são visíveis externamente até que o commit ocorra. O padrão é FALSE.

SET_CURRENT_SHARE_VERSION Procedimento

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 Nova versão ou NULL. A versão deve existir e ser válida. Se o 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.

SET_PUBLISHED_IDENTITY Procedimento

Definir 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, somente os itens que o chamador deseja atualizar precisarão ser incluídos no JSON. Fornecer 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 NULL, a identidade do provedor existente será excluída. Isso só poderá 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 "descrição" e remover "agendamento"

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

SET_RECIPIENT_LOG_LEVEL Procedimento

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 do evento. Para obter informações sobre constantes usadas para esse parâmetro, consulte as descrições para Log Level em DBMS_SHARE Constants.
recipient_owner O esquema que possui o destinatário.

SET_SHARE_LOG_LEVEL Procedimento

Altere o nível de 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 do evento. Para obter informações sobre constantes usadas para esse parâmetro, consulte as descrições para Log Level em DBMS_SHARE Constants.
share_owner O proprietário da ação.

SET_STORAGE_CREDENTIAL Procedimento

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

STOP_JOB Procedimento

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

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 cargo. O padrão é o esquema atual.

UNPUBLISH_SHARE Procedimento

Cancelar a 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 estará visível para os destinatários. Uma chamada subsequente para PUBLISH_SHARE ou SET_CURRENT_SHARE_VERSION as torna visíveis novamente.

restart_versions Reiniciar numeração de versão. Se FALSO, o próximo número de versão publicado será o mesmo que seria se nenhuma versão tivesse sido eliminada.

Se TRUE, a próxima versão publicada será definida para mais uma que a versão existente mais alta. 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.

UPDATE_DEFAULT_RECIPIENT_PROPERTY Procedimento

Atualize os valores de propriedade do 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 as descrições de Share Recipient Properties em DBMS_SHARE Constants.
new_value_vc O valor da nova propriedade.

UPDATE_DEFAULT_SHARE_PROPERTY Procedimento

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 as descrições de Share Properties em DBMS_SHARE Constants.

Essas propriedades podem ser lidas usando a View ALL_SHARE_DEFAULT_SETTINGS.

new_value O valor da nova propriedade.

UPDATE_RECIPIENT_PROPERTY Procedimento

Atualize 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 as descrições de Share Recipient Properties em DBMS_SHARE Constants.
new_value O valor da nova propriedade.
recipient_owner O proprietário do destinatário. O padrão é o esquema atual.

UPDATE_SHARE_JOB_PROPERTY Procedimento

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 as descrições de Compartilhar Propriedades do Job em DBMS_SHARE Constants.
new_value O valor da nova propriedade.
share_job_owner O proprietário do cargo. O padrão é o esquema atual.

UPDATE_SHARE_PROPERTY Procedimento

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 as descrições de Share Properties em DBMS_SHARE Constants.
new_value O valor da nova 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 confirmadas automaticamente. Se FALSO, o usuário deverá confirmar as alterações. As alterações são visíveis externamente após a confirmação.

UPDATE_SHARE_TABLE_PROPERTY Procedimento

Atualize o valor da 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 compartilhada.
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 valor da nova propriedade.
share_schema_name O nome do esquema de compartilhamento (o padrão é a letra maiúscula 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 confirmadas automaticamente. Se FALSO, o usuário deverá confirmar as alterações. As alterações são visíveis externamente após a confirmação.

Função VALIDATE_CREDENTIAL

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

O procedimento gera 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 exibição 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 form 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á se a credencial existe para o usuário atual.

VALIDATE_SHARE_STORAGE Procedimento

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

Sintaxe

A sintaxe do procedimento que inclui 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 de validação retornados no formato JSON.

O validation_results inclui os resultados de cada teste separado.

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

Exemplo: Resultados da validação

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

WAIT_FOR_JOB Procedimento

Este procedimento aguarda até que o job 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 da tarefa.
maximum_wait O período máximo de espera, em segundos. Um valor NULL não implica nenhum limite.