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 da Nuvem.
- DBMS_CLOUD_LINK Visão Geral
Descreve o uso do pacoteDBMS_CLOUD_LINK
. - Resumo dos 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 Fornecida 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 Links da Nuvem. Para que você possa registrar um conjunto de dados, o usuário ADMIN deverá 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 executa GRANT_REGISTER
, um usuário pode registrar uma tabela ou uma view que ele possui 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 DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER
anteriormente. 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 de 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 com |
|
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 nas 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 um 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 comDBMS_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 nas restrições de acesso. - Função GET_DATABASE_ID
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. - Procedimento GRANT_AUTHORIZATION
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 remoto somente leitura, sujeito a restrições impostas pelo parâmetroscope
. - Procedimento REVOKE_AUTHORIZATION
Esse 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. - Procedimento UPDATE_REGISTRATION
O procedimento atualiza um ou mais atributos de um conjunto de dados 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. |
Nota de 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
FIND Procedimento
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 faz distinção entre maiúsculas e minúsculas. |
|
Um documento JSON que inclui os valores de namespace, nome e descrição do conjunto de dados. |
Nota de Uso
A string de pesquisa não faz distinção entre maiúsculas e minúsculas e o pacote aproveita 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 de banco de dados para que o proprietário de um conjunto de dados possa aproveitar um controle de acesso a dados mais detalhado, por exemplo, com 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 Exibições 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 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 programaticamente 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).
Retornar Valores
Um identificador exclusivo para a instância do Autonomous Database de VARCHAR2
.
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_LINK
Procedimento GRANT_AUTHORIZATION
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 para 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 view especificada com o parâmetro |
schema_object |
Especifica o nome de uma tabela ou de uma view. Os objetos válidos são:
Outros objetos, como exibições analíticas ou sinônimos, não são suportados. |
namespace |
Especifica o namespace do conjunto de dados. Um valor |
name |
Especifica o nome do conjunto 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 uma autorização adicional é necessária para que os bancos de dados leiam do conjunto de dados. Os casos possíveis são os seguintes:
|
|
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 |
|
Especifica um ou mais OCIDs do Autonomous Database de clones atualizáveis nos quais o acesso aos conjuntos de dados é descarregado, do 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 do conjunto de dados solicita acesso a um conjunto de dados que você registra em Por exemplo, o seguinte mostra uma amostra JSON com um par de valores
Consulte Usar Clones Atualizáveis com o Autonomous Database para obter informações sobre como usar clones atualizáveis. |
Observações de Uso
-
Depois que você registrar um objeto, os usuários poderão precisar aguardar até dez (10) minutos para acessar o objeto com Links de Nuvem.
-
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 valor definido com
DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER
. Por exemplo, suponha que o ADMIN tenha concedido o escopo'MY$TENANCY'
comGRANT_REGISTER
e o usuário especifique'MY$REGION'
quando registrar um conjunto de dados comDBMS_CLOUD_LINK.REGISTER
. Nesse caso, eles veriam 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 mesmo acessíveis a ninguém.
-
Para usar
DBMS_CLOUD_LINK.REGISTER
, você deve ter o privilégio de execução no pacoteDBMS_CLOUD_LINK
, além do privilégio de registro atribuído comDBMS_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 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
Procedimento REVOKE_AUTHORIZATION
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 para 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 fique 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 do usuário. |
name |
Especifica o nome do conjunto de dados. |
Nota de Uso
DBMS_CLOUD_LINK.UNREGISTER
também pode levar até dez (10) minutos para ser propagado totalmente, após o que os dados podem ser acessados remotamente por mais tempo.
Tópico principal: Resumo de Subprogramas DBMS_CLOUD_LINK
Procedimento UPDATE_REGISTRATION
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 default, esse 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 default, esse atributo não é atualizado. |
|
Especifica que é necessária uma autorização adicional para que os bancos de dados leiam do conjunto de dados. Os casos a seguir são possíveis:
Se Por default, esse atributo não é atualizado. |
|
Especifica o proprietário do conjunto de dados. Indica a quem o conjunto de dados pertence ou a quem é responsável por atualizar e manter o conjunto de dados. Por exemplo, você pode definir Se Por default, esse 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, do 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 em Por exemplo, o seguinte mostra uma amostra JSON com um par de valores
Consulte Usar Clones Atualizáveis com o Autonomous Database para obter informações sobre o uso de clones atualizáveis. Se Por default, esse atributo não é atualizado. |
Observações sobre Uso
-
Os atributos
schema_name
eschema_object
de um conjunto de dados não podem ser atualizados. -
Depois de atualizar o registro de um objeto, os usuários podem precisar 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 valor definido com
DBMS_CLOUD_LINK_ADMIN.GRANT_REGISTER
. Por exemplo, suponha que o ADMIN tenha concedido o escopo'MY$TENANCY'
comGRANT_REGISTER
e o usuário especifique'MY$REGION'
quando atualizar o registro do conjunto de dados comDBMS_CLOUD_LINK.UPDATE_REGISTRATION
. Nesse caso, eles veriam 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 um registro atualizado não podem ocorrer quando o registro é atualizado. Registros inválidos não serão visíveis, detectáveis ou mesmo acessíveis a ninguém.
-
O usuário que registrou um conjunto de dados pode atualizar seus atributos com
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 comDBMS_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 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