Resumo de Subprogramas do Consumidor de Compartilhamento
Esta tabela lista as funções e os procedimentos do pacote DBMS_SHARE usados para consumir compartilhamentos.
| Subprogramas | Descrição |
|---|---|
| Procedimento ASSERT_SHARING_ID | Execute verificações de validação básicas em um ID de compartilhamento e retorne um na forma canônica. |
| Procedimento e Função CREATE_CREDENTIALS | Crie uma credencial que contenha o token do portador de um perfil delta. |
| Procedimento CREATE_OR_REPLACE_SHARE_LINK | Assine para compartilhar de um provedor de compartilhamento registrado. |
| Procedimento CREATE_OR_REPLACE_ORACLE_SHARE_PROVIDER | Inscreva-se em um provedor de compartilhamento Oracle, com um nome local. |
| Procedimento CREATE_ORACLE_SHARE_PROVIDER | Inscreva-se em um provedor de compartilhamento Oracle, com um nome local. |
| Procedimento CREATE_SHARE_LINK | Assine para compartilhar de um provedor de compartilhamento registrado. |
| Procedimento CREATE_SHARE_LINK_VIEW | Crie ou substitua uma view nomeada que dê acesso a uma tabela compartilhada remota. |
| Procedimento CREATE_SHARE_PROVIDER | Assine um provedor de compartilhamento delta. |
| Função DISCOVER_AVAILABLE_SHARES | Retorne um SHARE_AVAILABLE_SHARES_ROW para cada tabela disponível dos provedores de compartilhamento inscritos. |
| Função DISCOVER_AVAILABLE_TABLES | Retorne um SHARE_AVAILABLE_TABLES_ROW para cada tabela disponível dos provedores de compartilhamento inscritos ou de um ponto final delta explícito. |
| Procedimento DROP_SHARE_LINK | Elimine um link de compartilhamento criado pelo procedimento CREATE_SHARE_LINK. |
| Procedimento DROP_SHARE_PROVIDER | Solte uma assinatura para um provedor de compartilhamento. |
| Procedimento ENABLE_DELTA_ENDPOINT | Crie ACLs necessárias que permitam que o usuário especificado se conecte a um ponto final delta. |
| Procedimento FLUSH_SHARE_LINK_CACHE | Descarregue o cache de compartilhamentos para um determinado link de compartilhamento. |
| Procedimento FLUSH_SHARE_PROVIDER_CACHE | Descarregue o cache de compartilhamentos para um determinado provedor de compartilhamento. |
| Procedimento e Função GENERATE_SHARE_LINK_SELECT | Gere uma instrução SELECT que retorne dados de uma tabela compartilhada. |
| Função GET_ORACLE_SHARE_LINK_INFO | Recupere o nome do link da nuvem e o namespace para um compartilhamento Oracle-to-Oracle. |
| Procedimento GET_SHARE_LINK_INFO | Obtenha o(s) ponto(s) final(is), tipo de compartilhamento e nome de compartilhamento juntamente com quaisquer metadados JSON adicionais para um link de compartilhamento. |
| Procedimento GET_SHARE_PROVIDER_CREDENTIAL | Obtenha o nome da credencial a ser usado pelo usuário atual quando ele tentar acessar o provedor de compartilhamento delta fornecido. |
| Procedimento GET_SHARE_PROVIDER_INFO | Obtenha a(s) string(s) de ponto final e o tipo de compartilhamento juntamente com quaisquer metadados JSON adicionais para um provedor de compartilhamento. |
| Função GET_SHARING_ID | Retorna um identificador que pode ser usado como o sharing_id no procedimento CREATE_SHARE_RECIPIENT. |
| Procedimento OPEN_SHARE_LINK_CURSOR | Abra um cursor que retorne dados de uma tabela compartilhada. |
| Procedimento REFRESH_BEARER_TOKEN_CREDENTIAL | Atualize uma ou mais credenciais criadas pelo CREATE_BEARER_TOKEN_CREDENTIAL ou CREATE_CREDENTIALS. |
| Procedimento RENAME_CLOUD_STORAGE_LINK | Renomeie um link de armazenamento na nuvem registrado. |
| Procedimento RENAME_SHARE_LINK | Renomear um link de compartilhamento registrado. |
| Procedimento RENAME_SHARE_PROVIDER | Renomeie um provedor de compartilhamento registrado. |
| Procedimento REMOVE_SHARE_SCHEMA | Remover um esquema e todo o seu conteúdo de um compartilhamento. |
| Procedimento SET_SHARE_LINK_METADATA | Defina os metadados JSON adicionais para o link de compartilhamento. |
| Procedimento SET_SHARE_PROVIDER_CREDENTIAL | Defina o nome da credencial para acessar o provedor de compartilhamento fornecido. |
| Procedimento SET_SHARE_PROVIDER_METADATA | Defina metadados JSON adicionais para o provedor de compartilhamento. |
| Procedimento UPDATE_BEARER_TOKEN_CREDENTIAL | Modifique um atributo de uma credencial criada por CREATE_CREDENTIALS ou CREATE_BEARER_TOKEN_CREDENTIAL. |
ASSERT_SHARING_ID Procedimento
Execute verificações de validação básicas em um ID de compartilhamento e retorne um na forma canônica. Uma exceção será gerada se o id for obviamente inválido.
Sintaxe
PROCEDURE ASSERT_SHARING_ID
(
sharing_id IN OUT NOCOPY VARCHAR2,
out_sharing_id_type IN OUT NOCOPY VARCHAR2
);Parâmetros
| Parâmetro | Descrição |
|---|---|
sharing_id |
O id a ser verificado. |
out_sharing_id_type |
O tipo do id, se válido. Por exemplo, TENANCY ou DATABASE. |
CREATE_CREDENTIALS Procedimento e Função
Crie uma credencial que contenha o token do portador de um perfil de compartilhamento delta. O tipo padrão, versão 1, especifica um ponto final e um único token de portador de longo prazo.
Sintaxe
PROCEDURE CREATE_CREDENTIALS
(
credential_base_name IN VARCHAR2,
delta_profile IN CLOB,
out_credential_name IN OUT NOCOPY VARCHAR2
);Veja a seguir a versão funcional do create_credentials que retorna o nome das novas credenciais no formato JSON.
FUNCTION CREATE_CREDENTIALS
(
credential_base_name IN VARCHAR2,
delta_profile IN CLOB
)
RETURN CLOB;Parâmetros
| Parâmetro | Descrição |
|---|---|
credential_base_name |
O nome base das credenciais a serem criadas. |
delta_profile |
O perfil de compartilhamento delta, em formato JSON, obtido do provedor de compartilhamento.O perfil também pode, opcionalmente, incluir uma propriedade Consulte Formato do Arquivo de Perfil e Token do Portador para obter mais informações. |
out_credential_name |
O nome da credencial de token do portador recém-criada. |
CREATE_OR_REPLACE_SHARE_LINK Procedimento
Assine para compartilhar de um provedor de compartilhamento registrado.
Sintaxe
PROCEDURE CREATE_OR_REPLACE_SHARE_LINK
(
share_link_name IN VARCHAR2,
share_provider IN VARCHAR2,
share_name IN VARCHAR2,
provider_owner IN VARCHAR2 := NULL,
link_owner IN VARCHAR2 := NULL,
use_default_credential IN BOOLEAN := TRUE,
metadata IN SYS.JSON_OBJECT_T := NULL,
auto_commit IN BOOLEAN := TRUE
);Parâmetros
| Parâmetro | Descrição |
|---|---|
share_link_name |
O nome do link de compartilhamento que será criado. Os nomes de compartilhamento disponíveis podem ser encontrados chamando a Função DISCOVER_AVAILABLE_SHARES. |
share_provider |
O nome do provedor de compartilhamento registrado. |
share_name |
O nome do compartilhamento do provedor de compartilhamento. |
provider_owner |
O proprietário do provedor de compartilhamento. O padrão é o esquema atual. |
link_owner |
O proprietário do link de compartilhamento. O padrão é o esquema atual. |
use_default_credential |
Se TRUE, use as mesmas credenciais do provedor de compartilhamento. |
metadata |
Metadados opcionais a serem associados ao link de compartilhamento. |
auto_commit |
Se TRUE (padrão), essa chamada de procedimento fará commit de alterações que não estarão visíveis externamente até que o commit ocorra. Se FALSO, o usuário deverá fazer COMMIT depois de executar esta chamada para tornar a alteração visível. |
CREATE_OR_REPLACE_ORACLE_SHARE_PROVIDER Procedimento
Inscreva-se em um provedor de compartilhamento Oracle, com um nome local.
Ele aparecerá na Exibição ALL_SHARE_PROVIDERS com RECIPIENT_TYPE = 'ORACLE'.
Observação
Observação: Use o procedimento SET_STORAGE_CREDENTIAL para adicionar uma credencial ao link de armazenamento. Consulte Procedimento SET_STORAGE_CREDENTIAL.
Sintaxe
PROCEDURE CREATE_OR_REPLACE_CLOUD_STORAGE_LINK
(
storage_link_name IN VARCHAR2,
uri IN VARCHAR2,
owner IN VARCHAR2 := NULL,
metadata IN SYS.JSON_OBJECT_T := NULL,
auto_commit IN BOOLEAN := TRUE
);Parâmetros
| Parâmetro | Descrição |
|---|---|
storage_link_name |
O nome do link de armazenamento na nuvem. O nome do link deve seguir as convenções de nomenclatura padrão da Oracle. Consulte Nomes e Qualificadores de Objeto de Banco de dados |
uri |
O URI do bucket de armazenamento. O URI deve estar no formato https://objectstorage.region.oraclecloud.com/n/namespace-string/b/bucket/o |
owner |
O proprietário do link de armazenamento. O padrão é o esquema atual. |
metadata |
Um documento de metadados JSON opcional contendo informações adicionais. |
auto_commit |
Se TRUE, as alterações serão confirmadas automaticamente após a criação do link. O default é TRUE. |
CREATE_ORACLE_SHARE_PROVIDER Procedimento
Inscreva-se em um provedor de compartilhamento Oracle, com um nome local.
Ele aparecerá na Exibição ALL_SHARE_PROVIDERS com RECIPIENT_TYPE = 'ORACLE'.
Sintaxe
PROCEDURE CREATE_ORACLE_SHARE_PROVIDER
(
oracle_provider_id IN VARCHAR2,
provider_name IN VARCHAR2,
owner IN VARCHAR2 := NULL,
metadata IN SYS.JSON_OBJECT_T := NULL,
auto_commit IN BOOLEAN := TRUE
);Parâmetros
| Parâmetro | Descrição |
|---|---|
oracle_provider_id |
O ID do provedor obtido na view ALL_AVAILABLE_ORACLE_SHARE_PROVIDERS. Consulte Exibição ALL_AVAILABLE_ORACLE_SHARE_PROVIDERS. |
provider_name |
Um nome local para o provedor |
owner |
O proprietário do novo provedor de compartilhamento. Deixe como NULL para o usuário atual. |
metadata |
Metadados JSON opcionais a serem associados ao provedor. |
auto_commit |
Se TRUE, as alterações serão confirmadas automaticamente após a criação do link. O default é TRUE. |
CREATE_SHARE_LINK Procedimento
Assine para compartilhar de um provedor de compartilhamento registrado. Os nomes de compartilhamento disponíveis podem ser encontrados chamando DISCOVER_AVAILABLE_SHARES.
Sintaxe
PROCEDURE CREATE_SHARE_LINK
(
share_link_name IN VARCHAR2,
share_provider IN VARCHAR2,
share_name IN VARCHAR2,
provider_owner IN VARCHAR2 := NULL,
link_owner IN VARCHAR2 := NULL,
use_default_credential IN BOOLEAN := TRUE,
metadata IN SYS.JSON_OBJECT_T := NULL,
auto_commit IN BOOLEAN := TRUE
);Parâmetros
| Parâmetro | Descrição |
|---|---|
share_link_name |
O nome do link de compartilhamento a ser criado. Isso deve seguir as convenções de nomenclatura padrão da Oracle e não precisa ser igual ao parâmetro share_name. |
share_provider |
O nome do provedor de compartilhamento, listado no ALL_SHARE_PROVIDERS, que compartilhou os dados. |
share_name |
O nome do compartilhamento, conforme definido pelo provedor de compartilhamento. |
provider_owner |
O esquema que assinou o provedor de compartilhamento, conforme listado em ALL_SHARE_PROVIDER. Deixe como nulo para o usuário atual, o que é típico. |
link_owner |
O proprietário do novo link de compartilhamento. Deixe como nulo para o usuário atual, o que é típico. |
use_default_credential |
Defina como TRUE para usar a mesma credencial para o link de compartilhamento e o provedor de compartilhamento. |
metadata |
Metadados JSON opcionais a serem associados ao link de compartilhamento. |
auto_commit |
Se TRUE, as alterações serão confirmadas automaticamente após a criação do link. O default é TRUE. |
CREATE_SHARE_LINK_VIEW Procedimento
Crie ou substitua uma view nomeada que dê acesso a uma tabela compartilhada remota.
Sintaxe
PROCEDURE CREATE_SHARE_LINK_VIEW
(
view_name IN VARCHAR2,
share_link_name IN VARCHAR2,
share_schema_name IN VARCHAR2,
share_table_name IN VARCHAR2,
view_owner IN VARCHAR2 := NULL,
share_link_owner IN VARCHAR2 := NULL
);Parâmetros
| Parâmetro | Descrição |
|---|---|
view_name |
O nome da nova visualização. |
share_link_name |
O nome do link de compartilhamento. |
share_schema_name |
O nome do esquema compartilhado. |
share_table_name |
O nome da tabela compartilhada. |
view_owner |
O proprietário da view. O padrão é o esquema atual. |
share_link_owner |
O proprietário do link. O padrão é o esquema atual. |
CREATE_SHARE_PROVIDER Procedimento
Assine um provedor de compartilhamento delta.
Sintaxe
PROCEDURE CREATE_SHARE_PROVIDER
(
provider_name IN VARCHAR2,
endpoint IN VARCHAR2,
token_endpoint IN VARCHAR2 := NULL,
share_type IN VARCHAR2 := 'DELTA',
owner IN VARCHAR2 := NULL,
metadata IN SYS.JSON_OBJECT_T := NULL,
auto_commit IN BOOLEAN := TRUE
);Parâmetros
| Parâmetro | Descrição |
|---|---|
provider_name |
O nome local deste provedor de compartilhamento. |
endpoint |
O ponto final delta, do perfil de compartilhamento delta. |
token_endpoint |
Este parâmetro é ignorado. |
share_type |
O tipo de provedor de compartilhamento. Deixe isso como DELTA. |
owner |
O proprietário do provedor de compartilhamento. O padrão é o esquema atual. |
metadata |
Metadados JSON opcionais a serem associados ao provedor de compartilhamento. |
auto_commit |
Se TRUE (padrão), essa chamada de procedimento fará commit de alterações que não estarão visíveis externamente até que o commit ocorra. Se FALSO, o usuário deverá fazer COMMIT depois de executar esta chamada para tornar a alteração visível. |
Função DISCOVER_AVAILABLE_SHARES
Retorne um SHARE_AVAILABLE_SHARES_ROW para cada tabela disponível dos provedores de compartilhamento inscritos.
Sintaxe
FUNCTION DISCOVER_AVAILABLE_SHARES
(
share_provider IN VARCHAR2,
owner IN VARCHAR2 := NULL
) RETURN share_available_shares_tbl PIPELINED;Parâmetros
| Parâmetro | Descrição |
|---|---|
share_provider |
O nome do provedor de compartilhamento. |
owner |
O proprietário do provedor de compartilhamento. O padrão é o esquema atual. |
Exemplo: Descobrir uma lista de compartilhamentos disponíveis de um determinado provedor
SQL> select available_share_name
2 from dbms_share.discover_available_shares('share_prov')
3 order by available_share_name;
AVAILABLE_SHARE_NAME
--------------------------------------------------------------------------------
BURLINGTON_EXPEDITION_2022
EGYPT_EXPEDITION_2022Função DISCOVER_AVAILABLE_TABLES
Retorne um SHARE_AVAILABLE_TABLES_ROW para cada tabela disponível dos provedores de compartilhamento inscritos.
Sintaxe
FUNCTION DISCOVER_AVAILABLE_TABLES
(
share_provider IN VARCHAR2 := NULL,
share_name IN VARCHAR2 := NULL,
owner IN VARCHAR2 := NULL,
endpoint IN VARCHAR2 := NULL,
credential_name IN VARCHAR2 := NULL
) RETURN share_available_tables_tbl PIPELINED;Parâmetros
| Parâmetro | Descrição |
|---|---|
share_provider |
Um nome de provedor de compartilhamento opcional. Se NULL, pesquise todos os provedores de compartilhamento inscritos. |
share_name |
Um nome de compartilhamento opcional. Se NULL, pesquise todos os compartilhamentos descobertos. |
owner |
O proprietário do provedor de compartilhamento. O padrão é o esquema atual. |
endpoint |
Um ponto final delta opcional. |
credential_name |
Uma credencial de token do portador opcional para acessar o ponto final. |
Exemplo: Listar compartilhamentos disponíveis de todos os provedores de compartilhamento inscritos
select * from dbms_share.discover_available_tables()
2 order by share_name, schema_name, table_name;
PROVIDER_NAME PROVIDER_OWNER SHARE_NAME
------------------------- --------------- ------------------------------
SCHEMA_NAME TABLE_NAME
------------------------- -------------------------
My Test Oracle Provider ADP_SHARE_TEST BURLINGTON_EXPEDITION_2022
SH COUNTRIES
My Test Oracle Provider ADP_SHARE_TEST BURLINGTON_EXPEDITION_2022
SH SH_COUNTRIES
My Test Oracle Provider ADP_SHARE_TEST EGYPT_EXPEDITION_2022
SHARED_SCHEMA SHARED_VIEW_1
My Test Oracle Provider ADP_SHARE_TEST EGYPT_EXPEDITION_2022
SHARED_SCHEMA SHARED_VIEW_2Exemplo: Listar tabelas disponíveis de um ponto final com inscrição cancelada
SQL> exec dbms_cloud.create_credential('MY_CRED', 'BEARER_TOKEN', '123456')
PL/SQL procedure successfully completed.
SQL> column share_name format a13
SQL> column table_name format a20
SQL> column schema_name format a10
SQL> select share_name, schema_name, table_name
2 from dbms_share.discover_available_tables(
3 endpoint=>'https://my_endpoint',
4 credential_name=>'MY_CRED')
5 order by 1, 2, 3;
SHARE_NAME SCHEMA_NAM TABLE_NAME
------------- ---------- --------------------
DELTA_SHARING DEFAULT BOSTON-HOUSING
DELTA_SHARING DEFAULT COVID_19_NYT
DELTA_SHARING DEFAULT FLIGHT-ASA_2008
DELTA_SHARING DEFAULT LENDING_CLUB
DELTA_SHARING DEFAULT NYCTAXI_2019
DELTA_SHARING DEFAULT NYCTAXI_2019_PART
DELTA_SHARING DEFAULT OWID-COVID-DATA
7 rows selected.DROP_SHARE_LINK Procedimento
Elimine um link de compartilhamento criado pelo procedimento CREATE_SHARE_LINK.
Consulte Procedimento CREATE_SHARE_LINK para obter mais informações.
Sintaxe
PROCEDURE DROP_SHARE_LINK
(
link_name IN VARCHAR2,
link_owner IN VARCHAR2 := NULL
);Parâmetros
| Parâmetro | Descrição |
|---|---|
link_name |
O nome do link de compartilhamento a ser eliminado. |
link_owner |
O proprietário do link de compartilhamento a ser eliminado. Deixe como nulo para o esquema atual. |
DROP_SHARE_PROVIDER Procedimento
Solte uma assinatura para um provedor de compartilhamento.
Sintaxe
PROCEDURE DROP_SHARE_PROVIDER
(
provider_name IN VARCHAR2,
owner IN VARCHAR2 := NULL,
drop_credentials IN BOOLEAN := FALSE
);Parâmetros
| Parâmetro | Descrição |
|---|---|
provider_name |
O nome do provedor de compartilhamento a ser eliminado. |
owner |
O proprietário do provedor de compartilhamento a ser eliminado. O padrão é o esquema atual. |
drop_credentials |
Se TRUE, todas as credenciais associadas ao profissional de saúde serão eliminadas. Se for FALSO, as credenciais não serão eliminadas. |
ENABLE_DELTA_ENDPOINT Procedimento
Crie ACLs necessárias que permitam que o usuário especificado se conecte a um ponto final delta. Os privilégios de administrador são necessários para este procedimento.
Sintaxe
PROCEDURE ENABLE_DELTA_ENDPOINT
(
schema_name IN VARCHAR2,
delta_profile IN CLOB,
enabled IN BOOLEAN := TRUE
);Parâmetros
| Parâmetro | Descrição |
|---|---|
schema_name |
O esquema a ser ativado ou desativado. |
delta_profile |
O perfil delta. Somente o ponto final e o tokenEndpoint são obrigatórios. |
enabled |
TRUE para ativar e FALSE para desativar. |
FLUSH_SHARE_LINK_CACHE Procedimento
Descarregue o cache de compartilhamentos para um determinado link de compartilhamento. A lista de compartilhamentos para os pontos finais remotos é extraída em vez de depender de valores armazenados no cache.
Sintaxe
PROCEDURE FLUSH_SHARE_LINK_CACHE
(
link_name IN VARCHAR2,
owner IN VARCHAR2 := NULL,
auto_commit IN BOOLEAN := TRUE
);Parâmetros
| Parâmetro | Descrição |
|---|---|
link_name |
O nome do link de compartilhamento. |
owner |
O proprietário do link de compartilhamento. O padrão é o esquema atual. |
auto_commit |
Se TRUE, as alterações serão confirmadas automaticamente. O default é TRUE. |
FLUSH_SHARE_PROVIDER_CACHE Procedimento
Descarregue o cache de compartilhamentos para um determinado provedor de compartilhamento. A lista de compartilhamentos para os pontos finais remotos é extraída em vez de depender de valores armazenados no cache.
Sintaxe
PROCEDURE FLUSH_SHARE_PROVIDER_CACHE
(
provider_name IN VARCHAR2,
owner IN VARCHAR2 := NULL,
auto_commit IN BOOLEAN := TRUE
);Parâmetros
| Parâmetro | Descrição |
|---|---|
provider_name |
O nome do provedor de compartilhamento. |
owner |
O proprietário do provedor de compartilhamento. O padrão é o esquema atual. |
auto_commit |
Se TRUE, as alterações serão confirmadas automaticamente. O default é TRUE. |
GENERATE_SHARE_LINK_SELECT Procedimento e Função
Gere uma instrução SELECT que retorne dados de uma tabela compartilhada.
Sintaxe
Versão do procedimento de GENERATE_SHARE_LINK_SELECT.
PROCEDURE GENERATE_SHARE_LINK_SELECT
(
share_link_name IN VARCHAR2,
share_schema_name IN VARCHAR2,
share_table_name IN VARCHAR2,
stmt IN OUT NOCOPY CLOB,
share_link_owner IN VARCHAR2 := NULL
);Versão da função GENERATE_SHARE_LINK_SELECT.
FUNCTION GENERATE_SHARE_LINK_SELECT
(
share_link_name IN VARCHAR2,
share_schema_name IN VARCHAR2,
share_table_name IN VARCHAR2,
share_link_owner IN VARCHAR2 := NULL
)
RETURN CLOB;Parâmetros
| Parâmetro | Descrição |
|---|---|
share_link_name |
O nome do link de compartilhamento. |
share_schema_name |
O nome do esquema compartilhado. |
share_table_name |
O nome da tabela compartilhada. |
stmt |
A instrução de seleção gerada. |
share_link_owner |
O proprietário do link. O padrão é o esquema atual. |
Função GET_ORACLE_SHARE_LINK_INFO
Recupere o nome do link da nuvem e o namespace para um compartilhamento Oracle-to-Oracle.
Sintaxe
FUNCTION GET_ORACLE_SHARE_LINK_INFO
(
oracle_provider_id IN VARCHAR2,
share_name IN VARCHAR2,
share_schema_name IN VARCHAR2,
share_table_name IN VARCHAR2
)
RETURN CLOB;Parâmetros
| Parâmetro | Descrição |
|---|---|
oracle_provider_id |
O ID do Prestador da Oracle de ALL_AVAILABLE_ORACLE_SHARE_PROVIDERS. |
share_name |
O nome de um compartilhamento de ALL_AVAILABLE_ORACLE_SHARE_PROVIDERS.SHARES. |
share_schema_name |
O nome de um esquema de compartilhamento de ALL_AVAILABLE_ORACLE_SHARE_PROVIDERS.SHARES. |
share_table_name |
O nome de uma tabela de ALL_AVAILABLE_ORACLE_SHARE_PROVIDERS.SHARES. |
Retornar
O valor de retorno é um objeto JSON que contém três propriedades: esquema, tabela e dblink. O chamador pode usar estas três propriedades para extrair dados usando uma consulta do seguinte formulário:
SELECT *
FROM <schema>.<table>@<dblink>GET_SHARE_LINK_INFO Procedimento
Obtenha o(s) ponto(s) final(is), tipo de compartilhamento e nome de compartilhamento juntamente com quaisquer metadados JSON adicionais para um link de compartilhamento.
Sintaxe
PROCEDURE GET_SHARE_LINK_INFO
(
link_name IN VARCHAR2,
endpoint IN OUT NOCOPY VARCHAR2,
share_type IN OUT NOCOPY VARCHAR2,
share_name IN OUT NOCOPY VARCHAR2,
token_endpoint IN OUT NOCOPY VARCHAR2,
metadata IN OUT NOCOPY BLOB,
link_owner IN VARCHAR2 := NULL
);Parâmetros
| Parâmetro | Descrição |
|---|---|
link_name |
O nome de um link de compartilhamento (criado anteriormente pelo CREATE_SHARE_LINK). |
endpoint |
OUT: O ponto final, se houver, associado ao link de compartilhamento. |
share_type |
OUT: O tipo de link de compartilhamento (por exemplo, DELTA). |
share_name |
OUT: O nome do compartilhamento vinculado. |
token_endpoint |
Este parâmetro não é mais usado. |
metadata |
OUT: Metadados opcionais associados ao link de compartilhamento. |
link_owner |
O proprietário do link de compartilhamento. O padrão é o esquema atual. |
GET_SHARE_PROVIDER_CREDENTIAL Procedimento
Obtenha o nome da credencial a ser usado pelo usuário atual quando ele tentar acessar o provedor de compartilhamento delta fornecido.
Sintaxe
PROCEDURE GET_SHARE_PROVIDER_CREDENTIAL
(
provider_name IN VARCHAR2,
share_credential IN OUT NOCOPY VARCHAR2,
get_token_credential IN OUT NOCOPY VARCHAR2,
owner IN VARCHAR2 := NULL
);Parâmetros
| Parâmetro | Descrição |
|---|---|
provider_name |
O nome do provedor de compartilhamento. |
share_credential |
OUT: O nome da credencial associada ao provedor. O nome da credencial é retornado sem aspas duplas, como seria exibido na coluna CREDENTIAL_NAME da view USER_CREDENTIALS. Consulte Exibição ALL_CREDENTIALS. |
get_token_credential |
Este parâmetro não é usado. |
owner |
O proprietário é o nome do esquema no qual o provedor de compartilhamento foi registrado, não o proprietário da credencial. O padrão é o esquema atual. |
GET_SHARE_PROVIDER_INFO Procedimento
Obtenha a(s) string(s) de ponto final e o tipo de compartilhamento juntamente com quaisquer metadados JSON adicionais para um provedor de compartilhamento. Para provedores de compartilhamento ORACLE, o ID do provedor Oracle é retornado no argumento de ponto final.
Sintaxe
PROCEDURE GET_SHARE_PROVIDER_INFO
(
provider_name IN VARCHAR2,
endpoint IN OUT NOCOPY VARCHAR2,
share_type IN OUT NOCOPY VARCHAR2,
token_endpoint IN OUT NOCOPY VARCHAR2,
metadata IN OUT NOCOPY BLOB,
owner IN VARCHAR2 := NULL
);Parâmetros
| Parâmetro | Descrição |
|---|---|
provider_name |
O nome do provedor de compartilhamento. |
endpoint |
O ponto final delta. |
share_type |
O tipo de compartilhamento: DELTA ou ORACLE. |
token_endpoint |
Este parâmetro não é usado. |
metadata |
Os metadados opcionais que foram associados ao provedor de compartilhamento. |
owner |
O proprietário do provedor de compartilhamento. O padrão é o esquema atual. |
Função GET_SHARING_ID
Retorna um identificador que pode ser usado como o sharing_id no procedimento CREATE_SHARE_RECIPIENT. Esta função pode ser usada para compartilhar dados entre dois usuários, o "provedor" e o "destinatário", em diferentes bancos de dados.
Consulte Procedimento CREATE_SHARE_RECIPIENT para obter mais informações.
Sintaxe
FUNCTION GET_SHARING_ID
(
sharing_id_type IN VARCHAR2 := SHARING_ID_TYPE_DATABASE
)
RETURN VARCHAR2;Parâmetros
| Parâmetro | Descrição |
|---|---|
sharing_id_type |
O tipo de ID de compartilhamento. |
Uso
O fluxo é o seguinte:
-
O destinatário chama
DBMS_SHARE.GET_SHARING_IDpara obter um identificador exclusivo. -
O destinatário envia esse identificador (por exemplo, por e-mail) ao provedor.
-
O provedor chama
DBMS_SHARE.CREATE_SHARE_RECIPIENT, informando o identificador comosharing_id. -
O provedor chama
DBMS_SHARE.GRANT_TO_RECIPIENTpara conceder ao destinatário acesso a dados compartilhados.
O parâmetro sharing_id_type é usado para especificar quais usuários do banco de dados podem acessar o compartilhamento seguindo a sequência acima.
-
BANCO DE DADOS O compartilhamento ficará visível para qualquer usuário administrador no banco de dados em que o
GET_SHARING_IDfoi chamado. -
COMPARTIMENTO O compartilhamento ficará visível para qualquer usuário administrador em qualquer banco de dados no mesmo compartimento no qual o
GET_SHARING_IDfoi chamado. -
TENANCY O compartilhamento ficará visível para qualquer usuário administrador em qualquer banco de dados na mesma TENANCY em que o
GET_SHARING_IDfoi chamado. -
REGIÃO O compartilhamento ficará visível para qualquer usuário administrador em qualquer banco de dados na mesma região em que o
GET_SHARING_IDfoi chamado.
OPEN_SHARE_LINK_CURSOR Procedimento
Abra um cursor que retorne dados de uma tabela compartilhada.
Sintaxe
PROCEDURE OPEN_SHARE_LINK_CURSOR
(
share_link_name IN VARCHAR2,
share_schema_name IN VARCHAR2,
share_table_name IN VARCHAR2,
table_cursor IN OUT NOCOPY SYS_REFCURSOR,
share_link_owner IN VARCHAR2 := NULL
);Parâmetros
| Parâmetro | Descrição |
|---|---|
share_link_name |
O nome do link de compartilhamento. |
share_schema_name |
O nome do esquema compartilhado. |
share_table_name |
O nome da tabela compartilhada. |
table_cursor |
O cursor. |
share_link_owner |
O proprietário do link. O padrão é o esquema atual. |
REFRESH_BEARER_TOKEN_CREDENTIAL Procedimento
Atualize uma ou mais credenciais criadas por CREATE_BEARER_TOKEN_CREDENTIAL ou CREATE_CREDENTIALS chamando os pontos finais de token registrados e extraindo novos tokens do portador. Observe que esse procedimento é chamado automaticamente por um job do scheduler, ADP$BEARER_REFRESH_JOB, que é executado a cada 50 minutos.
Consulte Procedimento CREATE_BEARER_TOKEN_CREDENTIAL ou Procedimento e Função CREATE_CREDENTIALS para obter mais informações.
Sintaxe
PROCEDURE REFRESH_BEARER_TOKEN_CREDENTIAL
(
credential_name IN VARCHAR2 := NULL
);Parâmetros
| Parâmetro | Descrição |
|---|---|
credential_name |
O nome da credencial a ser atualizada. |
RENAME_CLOUD_STORAGE_LINK Procedimento
Renomeie um link de armazenamento na nuvem registrado.
Sintaxe
PROCEDURE RENAME_CLOUD_STORAGE_LINK
(
old_name IN VARCHAR2,
new_name IN VARCHAR2,
owner IN VARCHAR2 := NULL,
auto_commit IN BOOLEAN := TRUE
);Parâmetros
| Parâmetro | Descrição |
|---|---|
old_name |
O nome atual do link de armazenamento na nuvem. |
new_name |
O novo nome do link de armazenamento na nuvem. |
owner |
O proprietário do link de armazenamento na nuvem. O padrão é o esquema atual. |
auto_commit |
Se TRUE, as alterações serão confirmadas automaticamente. O default é TRUE. |
RENAME_SHARE_PROVIDER Procedimento
Renomeie um provedor de compartilhamento registrado.
Sintaxe
PROCEDURE RENAME_SHARE_PROVIDER
(
old_name IN VARCHAR2,
new_name IN VARCHAR2,
owner IN VARCHAR2 := NULL
);Parâmetros
| Parâmetro | Descrição |
|---|---|
old_name |
O nome atual do provedor de compartilhamento. |
new_name |
O novo nome do provedor de compartilhamento. |
owner |
O proprietário do provedor de compartilhamento. O padrão é o esquema atual. |
REMOVE_SHARE_SCHEMA Procedimento
Remover um esquema e todo o seu conteúdo de um compartilhamento.
Sintaxe
PROCEDURE REMOVE_SHARE_SCHEMA
(
share_name IN VARCHAR2,
schema_name IN VARCHAR2,
share_owner IN VARCHAR2 := NULL,
auto_commit IN BOOLEAN := FALSE
);Parâmetros
| Parâmetro | Descrição |
|---|---|
share_name |
O nome do compartilhamento. |
schema_name |
O nome do esquema a ser removido. |
share_owner |
O proprietário da ação. |
auto_commit |
Se TRUE, as alterações serão confirmadas automaticamente. O padrão é FALSE. |
SET_SHARE_LINK_METADATA Procedimento
Defina os metadados JSON adicionais para o link de compartilhamento.
Sintaxe
PROCEDURE SET_SHARE_LINK_METADATA
(
link_name IN VARCHAR2,
metadata IN SYS.JSON_OBJECT_T,
replace_existing IN BOOLEAN := FALSE,
link_owner IN VARCHAR2 := NULL
);Parâmetros
| Parâmetro | Descrição |
|---|---|
link_name |
O nome do link de compartilhamento. |
metadata |
Os novos metadados. |
replace_existing |
Se TRUE, todos os metadados existentes serão substituídos pela nova versão. Se FALSO, o novo valor será mesclado com quaisquer metadados existentes. |
link_owner |
O proprietário do link de compartilhamento. O padrão é o esquema atual. |
SET_SHARE_PROVIDER_CREDENTIAL Procedimento
Defina o nome da credencial a ser usado pelo usuário atual quando ele tentar acessar o provedor de compartilhamento fornecido.
Sintaxe
PROCEDURE SET_SHARE_PROVIDER_CREDENTIAL
(
provider_name IN VARCHAR2,
share_credential IN VARCHAR2,
get_token_credential IN VARCHAR2 := NULL,
owner IN VARCHAR2 := NULL,
check_if_exists IN BOOLEAN := TRUE
);Parâmetros
| Parâmetro | Descrição |
|---|---|
provider_name |
O nome do provedor de compartilhamento. |
share_credential |
A credencial do token do portador. |
get_token_credential |
Este argumento é ignorado. |
owner |
O proprietário do provedor de compartilhamento. O padrão é o esquema atual. |
check_if_exists |
Se TRUE (padrão), valide se a credencial existe. |
SET_SHARE_PROVIDER_METADATA Procedimento
Defina metadados JSON adicionais para o provedor de compartilhamento.
Sintaxe
PROCEDURE SET_SHARE_PROVIDER_METADATA
(
provider_name IN VARCHAR2,
metadata IN SYS.JSON_OBJECT_T,
replace_existing IN BOOLEAN := FALSE,
owner IN VARCHAR2 := NULL
);Parâmetros
| Parâmetro | Descrição |
|---|---|
provider_name |
O nome do provedor de compartilhamento. |
metadata |
Os novos metadados. |
replace_existing |
Se TRUE, todos os metadados existentes serão substituídos pela nova versão. Se FALSO, o novo valor será mesclado com quaisquer metadados existentes. |
owner |
O proprietário do provedor de compartilhamento. O padrão é o esquema atual. |
UPDATE_BEARER_TOKEN_CREDENTIAL Procedimento
Modifique um atributo de uma credencial criada por CREATE_CREDENTIALS ou CREATE_BEARER_TOKEN_CREDENTIAL.
Consulte Procedimento CREATE_BEARER_TOKEN_CREDENTIAL ou Procedimento e Função CREATE_CREDENTIALS para obter mais informações.
Sintaxe
PROCEDURE UPDATE_BEARER_TOKEN_CREDENTIAL
(
credential_name IN VARCHAR2,
attribute IN VARCHAR2,
new_value IN VARCHAR2
);Parâmetros
| Parâmetro | Descrição |
|---|---|
credential_name |
O nome da credencial a ser atualizada. |
attribute |
O atributo a ser atualizado. Um dos itens 'BEARER_TOKEN', 'CLIENT_ID', 'CLIENT_SECRET', 'TOKEN_REFRESH_RATE'. O ponto final do token não pode ser alterado. |
new_value |
O novo valor. |
Exemplo: Atualizar o CLIENT_ID de uma credencial
SQL> BEGIN
2 dbms_share.create_bearer_token_credential(
3 credential_name=>'MY_RENEWABLE_CREDENTIAL',
4 token_endpoint=>'https://myserver/ords/share_provider/oauth/token',
5 client_id=>'VXGQ_44s6qJ-K4WHUNM2yQ..',
6 client_secret=>'y9ddppgwEmZl7adDHFQndw..');
7 END;
8 /
PL/SQL procedure successfully completed.
SQL> select credential_name, username from user_credentials where credential_name LIKE 'MY_RENEWABLE_CREDENTIAL%';
CREDENTIAL_NAME
------------------------------------------
USERNAME
-------------------------------------
MY_RENEWABLE_CREDENTIAL
BEARER_TOKEN
MY_RENEWABLE_CREDENTIAL$TOKEN_REFRESH_CRED
ABCDEF