Pacote DBMS_CLOUD_LINK
O pacote DBMS_CLOUD_LINK
permite que um usuário registre uma tabela ou uma view como um conjunto de dados para acesso somente leitura com Links do Cloud.
- DBMS_CLOUD_LINK Visão Geral
Descreve o uso do pacoteDBMS_CLOUD_LINK
. - Resumo de Subprogramas DBMS_CLOUD_LINK
Mostra uma tabela com um resumo dos subprogramas incluídos no pacoteDBMS_CLOUD_LINK
.
Tópico principal: Referência de Pacote Fornecido pelo Autonomous Database
DBMS_CLOUD_LINK Visão Geral
Descreve o uso do pacote DBMS_CLOUD_LINK
.
O pacote DBMS_CLOUD_LINK
fornece o procedimento REGISTER
que permite registrar uma tabela ou uma view como um conjunto de dados para uso com o Cloud Links. Para poder registrar um conjunto de dados, o usuário ADMIN deve conceder a um usuário permissão para registrar um conjunto de dados usando o procedimento DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER
. Depois que o ADMIN executar GRANT_REGISTER
, um usuário poderá registrar uma tabela ou uma view de sua propriedade como um conjunto de dados registrado (ou registrar um objeto em outro esquema se o usuário tiver o privilégio READ WITH GRANT OPTION
no objeto). Os conjuntos de dados registrados fornecem acesso remoto ao objeto registrado com Links da Nuvem, sujeito ao escopo especificado com o procedimento REGISTER
.
Para executar DBMS_CLOUD_LINK.REGISTER
, DBMS_CLOUD_LINK.UPDATE_REGISTRATION
ou DBMS_CLOUD_LINK.UNREGISTER
, você precisa ter privilégio de execução no pacote DBMS_CLOUD_LINK
, além de ter executado anteriormente DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER
. Por padrão, somente o usuário ADMIN e os esquemas com a atribuição PDB_DBA
têm privilégio de execução em DBMS_CLOUD_LINK
.
Tópico principal: Pacote DBMS_CLOUD_LINK
Resumo dos Subprogramas DBMS_CLOUD_LINK
Mostra uma tabela com um resumo dos subprogramas incluídos no pacote DBMS_CLOUD_LINK
.
Subprograma | Descrição |
---|---|
Esta função recupera a descrição de um conjunto De Dados. A descrição é fornecida quando um conjunto de dados é registrado no |
|
Recupera o namespace, o nome e a descrição dos conjuntos de dados que correspondem à string de pesquisa. Os conjuntos de dados correspondentes só serão mostrados se estiverem acessíveis ao usuário, com base em restrições de acesso. |
|
Retorna um identificador exclusivo para a instância do Autonomous Database. As chamadas repetidas para |
|
Concede autorização a um banco de dados especificado para acessar o conjunto de dados especificado. |
|
Registra uma tabela ou view como conjunto de dados. |
|
Revoga a autorização de um banco de dados especificado para acessar o conjunto de dados especificado. |
|
Remove um conjunto de dados registrado. |
|
Atualiza atributos de um conjunto de dados que foi registrado usando |
- Função DESCRIBE
Esta função recupera a descrição de um conjunto de dados. A descrição é fornecida quando um conjunto de dados é registrado noDBMS_CLOUD_LINK.REGISTER
. - Procedimento FIND
Esse procedimento recupera o namespace, o nome e a descrição dos conjuntos de dados que correspondem à string de pesquisa. Os conjuntos de dados correspondentes só serão mostrados se estiverem acessíveis ao usuário, com base em restrições de acesso. - GET_DATABASE_ID Função
A função retorna um identificador exclusivo para a instância do Autonomous Database. As chamadas repetidas paraDBMS_CLOUD_LINK.GET_DATABASE_ID
na mesma instância sempre retornam o mesmo valor. - GRANT_AUTHORIZATION Procedimento
Este procedimento concede autorização a um banco de dados especificado para acessar o conjunto de dados especificado. - Procedimento REGISTER
O procedimento registra uma tabela ou uma view como um conjunto de dados para permitir acesso somente leitura remoto, sujeito a restrições impostas pelo parâmetroscope
. - REVOKE_AUTHORIZATION Procedimento
Este procedimento revoga a autorização de um banco de dados especificado para acessar o conjunto de dados especificado. - Procedimento UNREGISTER
O procedimento permite que um usuário que registrou anteriormente uma tabela ou uma view com o procedimentoREGISTER
cancele o registro da tabela ou view para que ela não fique mais disponível para acesso remoto. - UPDATE_REGISTRATION Procedimento
O procedimento atualiza um ou mais atributos de um conjunto de dados que foi registrado usandoDBMS_CLOUD_LINK.REGISTER
.
Tópico principal: Pacote DBMS_CLOUD_LINK
Função DESCRIBE
DBMS_CLOUD_LINK.REGISTER
.
Sintaxe
DBMS_CLOUD_LINK.DESCRIBE
(
namespace IN VARCHAR2,
name IN VARCHAR2
) return CLOB;
Parâmetros
Parâmetro | Descrição |
---|---|
|
Especifica o namespace do conjunto de dados registrado. |
|
Especifica o nome de um conjunto de dados registrado. |
Observação do Uso
Você pode usar esta função sujeita às restrições de acesso impostas no momento do registro com DBMS_CLOUD_LINK.REGISTER
. Se um conjunto de dados não estiver acessível a um banco de dados, sua descrição não será recuperada.
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_LINK
Procedimento FIND
Sintaxe
DBMS_CLOUD_LINK.FIND
(
search_string IN VARCHAR2,
search_result OUT CLOB
);
Parâmetros
Parâmetro | Descrição |
---|---|
|
Especifica a string de pesquisa. A string de pesquisa não diferencia maiúsculas de minúsculas. |
|
Um documento JSON que inclui os valores de namespace, nome e descrição do conjunto de dados. |
Observação do Uso
A string de pesquisa não faz distinção entre maiúsculas e minúsculas e o pacote utiliza a pesquisa de texto livre usando o Oracle Text.
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_LINK
Função GET_DATABASE_ID
DBMS_CLOUD_LINK.GET_DATABASE_ID
na mesma instância sempre retornam o mesmo valor.
Você pode chamar essa função em um banco de dados que está acessando um conjunto de dados registrado remotamente para obter o ID do banco de dados. Isso permite que você forneça o iD do banco de dados para que um proprietário do conjunto de dados possa aproveitar um controle de acesso a dados mais detalhado, por exemplo, com o VPD, com base em IDs de banco de dados especificados de sites remotos.
Um ID de banco de dados identifica cada banco de dados remoto que acessa um conjunto de dados registrado, para rastrear e auditar o acesso nas Views V$CLOUD_LINK_ACCESS_STATS e GV$CLOUD_LINK_ACCESS_STATS no banco de dados que possui um conjunto de dados registrado.
Sintaxe
DBMS_CLOUD_LINK.GET_DATABASE_ID
()
RETURN VARCHAR2;
Observações de Uso
Os links de nuvem usam o identificador exclusivo que o DBMS_CLOUD_LINK.GET_DATABASE_ID
retorna para identificar bancos de dados individuais que estão acessando um conjunto de dados remotamente. O banco de dados proprietário do conjunto de dados registrado rastreia e audita o ID do banco de dados como um registro da origem para acesso ao conjunto de dados nas Views V$CLOUD_LINK_ACCESS_STATS e GV$CLOUD_LINK_ACCESS_STATS.
O identificador DBMS_CLOUD_LINK.GET_DATABASE_ID
está disponível como um valor SYS_CONTEXT
para que você possa obter de forma programática essas informações sobre uma sessão remota de conexão usando SYS_CONTEXT
, para restringir e controlar ainda mais quais dados específicos podem ser acessados remotamente por instâncias individuais do Autonomous Database com VPDs (Virtual Private Databases).
Valores de Retorno
Um identificador exclusivo para a instância do Autonomous Database do VARCHAR2
.
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_LINK
GRANT_AUTHORIZATION Procedimento
Sintaxe
DBMS_CLOUD_LINK.GRANT_AUTHORIZATION
(
database_id IN VARCHAR2,
namespace IN VARCHAR2 DEFAULT,
name IN VARCHAR2
);
Parâmetros
Parâmetro | Descrição |
---|---|
|
Especifica o ID do banco de dados de uma instância do Autonomous Database. Use |
|
Especifica o namespace do conjunto de dados para conceder autorização de acesso para o |
|
Especifica o nome do conjunto de dados para conceder autorização de acesso para o |
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_LINK
Procedimento REGISTER
scope
.
Sintaxe
DBMS_CLOUD_LINK.REGISTER
(
schema_name IN VARCHAR2,
schema_object IN VARCHAR2,
namespace IN VARCHAR2,
name IN VARCHAR2,
description IN CLOB,
scope IN CLOB,
auth_required IN BOOLEAN DEFAULT,
data_set_owner IN VARCHAR2 DEFAULT,
offload_targets IN CLOB DEFAULT
);
Parâmetros
Parâmetro | Descrição |
---|---|
|
Especifica o proprietário da tabela ou da view especificada com o parâmetro |
schema_object |
Especifica o nome de uma tabela ou uma view. Os objetos válidos são:
Outros objetos, como views analíticas ou sinônimos, não são suportados. |
namespace |
Especifica o namespace do conjunto de dados. Um valor |
name |
Especifica o nome da definição de dados. |
description |
Especifica o texto para descrever os dados. |
scope |
Descreve quem tem permissão para acessar o conjunto de dados. O valor é uma lista separada por vírgulas que consiste em um ou mais dos seguintes itens:
Os valores de escopo, |
|
Especifica que é necessária uma autorização adicional para que os bancos de dados leiam no conjunto de dados. Os casos a seguir são possíveis:
|
|
Especifica o proprietário do conjunto de dados. Indica a quem o conjunto de dados pertence ou quem é responsável por atualizar e manter o conjunto de dados. Por exemplo, você pode definir o |
|
Especifica um ou mais OCIDs do Autonomous Database de clones atualizáveis nos quais o acesso aos conjuntos de dados é descarregado, no Autonomous Database no qual o conjunto de dados é registrado. O valor
Por exemplo, o seguinte mostra uma amostra JSON com três pares de valores
Quando um consumidor de conjunto de dados solicita acesso a um conjunto de dados que você registra no Por exemplo, o seguinte mostra uma amostra JSON com um par de valores
O Consulte Usar Clones Atualizáveis com o Autonomous Database para obter informações sobre como usar clones atualizáveis. |
Observações de Uso
-
Depois de registrar um objeto, os usuários talvez precisem aguardar até dez (10) minutos para acessar o objeto com o Cloud Links.
-
Use o procedimento
DBMS_CLOUD_LINK.UPDATE_REGISTRATION
para alterar os atributos de um conjunto de dados existente.O tempo de espera para a conclusão da atualização pode ser de até 10 minutos para que uma alteração de registro seja propagada e acessível por meio dos Links da Nuvem. Esse atraso pode afetar a precisão dos dados nas exibições
DBA_CLOUD_LINK_REGISTRATIONS
eDBA_CLOUD_LINK_ACCESS
. -
Você pode registrar uma tabela ou view que reside no esquema de outro usuário quando tiver privilégios
READ
WITH
GRANT
OPTION
para a tabela ou view. -
O escopo definido quando você registra um conjunto de dados só é respeitado quando ele corresponde ou é mais restritivo do que o conjunto de valores com
DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER
. Por exemplo, suponha que o ADMIN tenha concedido o escopo'MY$TENANCY'
comGRANT_REGISTER
e que o usuário especifique'MY$REGION'
quando registrar um conjunto de dados comDBMS_CLOUD_LINK.REGISTER
. Nesse caso, eles verão um erro como o seguinte:ORA-20001: Share privileges are not enabled for current user or it is enabled but not for scope MY$REGION
-
Certas verificações de validade hierárquica para registro não podem ocorrer no momento do registro. Registros inválidos não serão visíveis, detectáveis ou até mesmo acessíveis a ninguém.
-
Para usar o
DBMS_CLOUD_LINK.REGISTER
, você deve ter privilégio de execução no pacoteDBMS_CLOUD_LINK
, além do privilégio de registro atribuído aDBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER
. Somente o usuário ADMIN e os esquemas comPDB_DBA
têm esse privilégio por padrão. -
Quando você registra um conjunto de dados em um clone atualizável em uma região remota, a chamada de
DBMS_CLOUD_LINK.REGISTER
no clone da região remota deve usar os mesmos parâmetros com os mesmos valores do banco de dados de origem, com exceção do parâmetrooffload_targets
.Por exemplo, quando você executar
DBMS_CLOUD_LINK.REGISTER
com o escopo definido comoMY$COMPARTMENT
na instância do Autonomous Database de origem, execute o procedimento novamente no clone atualizável entre regiões com o mesmo valor de parâmetro de escopo (MY$COMPARTMENT
). -
Se você especificar o parâmetro
offload_targets
comDBMS_CLOUD_LINK.REGISTER
na origem, omita esse parâmetro ao registrar o conjunto de dados em um clone atualizável entre regiões.
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_LINK
REVOKE_AUTHORIZATION Procedimento
Sintaxe
DBMS_CLOUD_LINK.REVOKE_AUTHORIZATION
(
database_id IN VARCHAR2,
namespace IN VARCHAR2 DEFAULT,
name IN VARCHAR2
);
Parâmetros
Parâmetro | Descrição |
---|---|
|
Especifica o ID do banco de dados de uma instância do Autonomous Database. Use |
|
Especifica o namespace do conjunto de dados para revogar a autorização de acesso para o |
|
Especifica o nome do conjunto de dados para revogar a autorização de acesso para o |
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_LINK
Procedimento UNREGISTER
REGISTER
cancele o registro da tabela ou view para que ela não esteja mais disponível para acesso remoto.
Sintaxe
DBMS_CLOUD_LINK.UNREGISTER
(
namespace IN VARCHAR2,
name IN VARCHAR2
);
Parâmetros
Parâmetro | Descrição |
---|---|
|
Especifica um nome de usuário. |
name |
Especifica o nome da definição de dados. |
Observação do Uso
O DBMS_CLOUD_LINK.UNREGISTER
também pode levar até dez (10) minutos para ser totalmente propagado, após o que os dados podem ser acessados remotamente por mais tempo.
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_LINK
UPDATE_REGISTRATION Procedimento
DBMS_CLOUD_LINK.REGISTER
.
Sintaxe
DBMS_CLOUD_LINK.UPDATE_REGISTRATION
(
namespace IN VARCHAR2,
name IN VARCHAR2,
description IN CLOB DEFAULT,
scope IN CLOB DEFAULT,
auth_required IN BOOLEAN DEFAULT,
data_set_owner IN VARCHAR2 DEFAULT,
offload_targets IN CLOB DEFAULT
);
Parâmetros
Parâmetro | Descrição |
---|---|
namespace |
Especifica o namespace do conjunto de dados a ser atualizado. |
name |
Especifica o nome do conjunto de dados a ser atualizado. |
description |
Especifica o texto atualizado para descrever os dados. Se Por padrão, este atributo não é atualizado. |
scope |
Atualize o escopo com o valor especificado. O escopo descreve quem tem permissão para acessar o conjunto de dados. O valor é uma lista separada por vírgulas que consiste em um ou mais dos seguintes itens:
Os valores de escopo, Se Por padrão, este atributo não é atualizado. |
|
Especifica que é necessária uma autorização adicional para que os bancos de dados leiam no conjunto de dados. Os casos a seguir são possíveis:
Se Por padrão, este atributo não é atualizado. |
|
Especifica o proprietário do conjunto de dados. Indica a quem o conjunto de dados pertence ou quem é responsável por atualizar e manter o conjunto de dados. Por exemplo, você pode definir o Se Por padrão, este atributo não é atualizado. |
|
Especifica um ou mais OCIDs do Autonomous Database de clones atualizáveis nos quais o acesso aos conjuntos de dados é descarregado, no Autonomous Database no qual o conjunto de dados é registrado. O valor
Por exemplo, o seguinte mostra uma amostra JSON com três pares de valores
Quando um consumidor de conjunto de dados solicita acesso a um conjunto de dados que você registra no Por exemplo, o seguinte mostra uma amostra JSON com um par de valores
O Consulte Usar Clones Atualizáveis com o Autonomous Database para obter informações sobre como usar clones atualizáveis. Se Por padrão, este atributo não é atualizado. |
Observações de Uso
-
Os atributos
schema_name
eschema_object
de um conjunto de dados não podem ser atualizados. -
Depois que você atualizar o registro de um objeto, talvez os usuários precisem aguardar até dez (10) minutos para acessar o objeto usando os atributos atualizados com os Links da Nuvem.
-
Você pode atualizar o registro de uma tabela ou view que reside no esquema de outro usuário quando tiver privilégios
READ
WITH
GRANT
OPTION
para a tabela ou view. -
O escopo definido quando você atualiza o registro de um conjunto de dados só é respeitado quando ele corresponde ou é mais restritivo do que o conjunto de valores com
DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER
. Por exemplo, suponha que o ADMIN tenha concedido o escopo'MY$TENANCY'
comGRANT_REGISTER
e que o usuário especifique'MY$REGION'
quando atualizar o registro do conjunto de dados comDBMS_CLOUD_LINK.UPDATE_REGISTRATION
. Nesse caso, eles verão um erro como o seguinte:ORA-20001: Share privileges are not enabled for current user or it is enabled but not for scope MY$REGION
-
Certas verificações de validade hierárquica de um registro atualizado não podem ocorrer quando o registro é atualizado. Registros inválidos não serão visíveis, detectáveis ou até mesmo acessíveis a ninguém.
-
O usuário que registrou um conjunto de dados pode atualizar seus atributos com o
DBMS_CLOUD_LINK.UPDATE_REGISTRATION
. Além disso, você deve ter o privilégio de execução no pacoteDBMS_CLOUD_LINK
e o privilégio de registro atribuído aDBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER
. Somente o usuário ADMIN e os esquemas comPDB_DBA
têm esse privilégio por padrão. -
Quando você atualiza o registro de um conjunto de dados em um clone atualizável em uma região remota, a chamada de
DBMS_CLOUD_LINK.UPDATE_REGISTRATION
no clone da região remota deve usar os mesmos parâmetros com os mesmos valores do banco de dados de origem, com exceção do parâmetrooffload_targets
.Por exemplo, quando você executar
DBMS_CLOUD_LINK.UPDATE_REGISTRATION
com o escopo definido comoMY$COMPARTMENT
na instância do Autonomous Database de origem, execute o procedimento novamente no clone atualizável entre regiões com o mesmo valor de parâmetro de escopo (MY$COMPARTMENT
). -
Se você especificar o parâmetro
offload_targets
comDBMS_CLOUD_LINK.REGISTER
na origem, omita esse parâmetro ao registrar o conjunto de dados em um clone atualizável entre regiões.
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_LINK