Pacote DBMS_DCAT
O pacote DBMS_DCAT fornece funções e procedimentos para ajudar os usuários do Autonomous AI Database a aproveitar o sistema de descoberta de dados e gerenciamento centralizado de metadados do OCI Data Catalog.
O serviço Data Catalog coleta metadados de ativos de armazenamento de objetos de um data lake. O processo de coleta cria entidades lógicas, que podem ser consideradas como tabelas com colunas e tipos de dados associados. Os procedimentos e funções do DBMS_DCAT conectam o Autonomous AI Database ao serviço Data Catalog e sincronizam os ativos com o banco de dados, criando esquemas protegidos e tabelas externas. Em seguida, você pode consultar o armazenamento de objetos usando essas tabelas externas, unindo facilmente dados externos aos dados armazenados no Autonomous AI Database. Isso simplifica drasticamente o processo de gerenciamento; há um único armazenamento de metadados gerenciado centralmente que é compartilhado entre vários serviços da OCI (incluindo Autonomous AI Databases). Há também views de dicionário do Autonomous AI Database que permitem inspecionar o conteúdo do serviço Data Catalog usando SQL e mostrar como essas entidades do serviço Data Catalog são mapeadas para seus esquemas e tabelas do Autonomous AI Database.
Usuários e Atribuições do Serviço Data Catalog
O pacote DBMS_DCAT suporta usuários/esquemas sincronizados, usuários dcat_admin e usuários locais. Os usuários devem ter a atribuição dcat_sync para poder usar este pacote.
Usuários do Data Catalog
-
Usuários/esquemas sincronizados
As tabelas externas sincronizadas são organizadas em esquemas de banco de dados correspondentes às combinações de Ativo de Dados/Bucket ou de acordo com propriedades personalizadas definidas pelo usuário. Os esquemas sincronizados são criados/eliminados automaticamente durante a sincronização do serviço Data Catalog. Eles são criados como nenhum usuário de autenticação sem o privilégio CREATE SESSION. Os esquemas sincronizados também são criados usando a cláusula protegida, de modo que não possam ser alterados por usuários locais (nem mesmo o administrador do PDB) e só possam ser modificados por meio da sincronização.
-
Usuário
dcat_adminO usuário
dcat_adminé um usuário do banco de dados local que pode executar uma sincronização e conceder o privilégio READ em tabelas sincronizadas a outros usuários ou atribuições. O usuário é criado como um usuário sem autenticação sem o privilégio CREATE SESSION. -
Usuários Locais
Os usuários do banco de dados que consultam as tabelas externas devem receber explicitamente privilégios READ nas tabelas externas sincronizadas pelos usuários
dcat_adminou ADMIN. Por padrão, após a conclusão da sincronização, somente os usuáriosdcat_admine ADMIN têm acesso às tabelas externas sincronizadas.
Funções do Serviço Data Catalog
-
dcat_syncA atribuição
dcat_synctem todos os privilégios necessários para usar o pacoteDBMS_DCAT. Os usuários devem ter essa função para poder usar a API para navegar no serviço Data Catalog e executar a sincronização.
Credenciais e Políticas de IAM Obrigatórias
Este tópico descreve as credenciais de usuário e as políticas do Oracle Cloud Infrastructure Identity and Access Management (IAM) necessárias para conceder aos usuários do Autonomous AI Database permissão para gerenciar um catálogo de dados e ler no armazenamento de objetos.
Requisitos de Credencial e Política do OCI Data Catalog
-
É necessário um objeto de credencial com permissão para gerenciar uma instância do serviço Data Catalog. Objetos de credencial que contêm credenciais de controlador de recursos ou autenticação nativa do OCI são suportados. Objetos de credencial baseados em principais de usuário de token de autenticação não são suportados.
Para obter informações sobre como gerenciar credenciais, consulte DBMS_CLOUD para Gerenciamento de Acesso.
Para obter exemplos de autenticação nativa do OCI, consulte Exemplo: Criando um Objeto de Credencial de Autenticação Nativa do OCI e o Autonomous AI Database Agora Suporta o Acesso ao Object Storage com Autenticação Nativa do OCI.
Para obter exemplos de como usar o controlador de recursos, consulte Exemplo: Usando o Controlador de Recursos do Autonomous AI Database e Acessando Recursos do Oracle Cloud Infrastructure do Seu Autonomous AI Database usando o Controlador de Recursos.
-
O privilégio gerenciar o serviço Data Catalog é necessário para que o Autonomous AI Database adicione propriedades personalizadas ao namespace do serviço Data Catalog. Esses privilégios permitem que você substitua nomes de esquemas, nomes de tabelas, nomes de colunas e muito mais.
Para obter mais informações sobre permissões do serviço Data Catalog, consulte Permissões Necessárias para Cada Operação de API.
-
O privilégio de leitura de armazenamento de objetos em buckets é necessário para que o Autonomous AI Database possa consultar arquivos de dados.
Para obter mais exemplos de políticas do Oracle Object Storage, consulte Exemplos da Política.
Credencial do catálogo de dados do AWS Glue e requisitos de política
As seguintes credenciais e políticas de usuário são necessárias para conceder aos usuários do Autonomous AI Database permissão para acessar Catálogos de Dados de Colagem do AWS (Amazon Web Services) e para ler no armazenamento de objetos S3:
-
É necessário um objeto de credencial com permissão para acessar um Catálogo de Dados do AWS Glue. Para obter informações sobre como gerenciar credenciais, consulte DBMS_CLOUD para Gerenciamento de Acesso.
Para acessar um catálogo de dados do AWS Glue, os seguintes privilégios são necessários: cola:GetDatabases , cola:GetTables e cola:GetTable.
Além disso, o privilégio s3:GetBucketLocation é necessário durante a sincronização para gerar urls https resolvíveis que apontam para os objetos S3 subjacentes.
-
É necessário um objeto de credencial com permissão para acessar os arquivos armazenados em S3 para que o Autonomous AI Database possa consultar arquivos de dados.
-
As credenciais da AWS são suportadas. As credenciais do AWS Amazon Resource Names (ARN) não são suportadas.
Exemplo: Criando um Objeto de Credencial de Autenticação Nativa do OCI
Neste exemplo, criamos uma credencial de autenticação nativa do OCI que pode ser usada ao criar um catálogo de dados ou um objeto de credencial de armazenamento de objetos. Para obter mais detalhes, consulte Procedimento DBMS_DCAT SET_DATA_CATALOG_CREDENTIAL e Procedimento DBMS_DCAT SET_OBJECT_STORE_CREDENTIAL, respectivamente.
Na autenticação nativa do OCI, o procedimento DBMS_CLOUD.CREATE_CREDENTIAL inclui estes parâmetros: credential_name, user_ocid, tenancy_ocid, private_key e fingerprint. Consulte Procedimento DBMS_CLOUD CREATE_CREDENTIAL para obter uma descrição completa desse procedimento.
O credential_name é o nome do objeto da credencial. Os parâmetros user_ocid e tenancy_ocid correspondem aos OCIDs do usuário e da tenancy, respectivamente.
O parâmetro private_key especifica a chave privada gerada no formato PEM. Não há suporte a chaves privadas criadas com uma frase-senha. Portanto, precisamos nos certificar de gerar uma chave sem frase-senha. Consulte Como Gerar uma Chave de Assinatura de API para obter mais detalhes sobre como criar uma chave privada sem frase-senha. Além disso, a chave privada que fornecemos para esse parâmetro só deve conter a chave em si sem qualquer cabeçalho ou rodapé (por exemplo, '—–BEGIN RSA PRIVATE KEY—–', '–END RSA PRIVATE KEY—–).
O parâmetro fingerprint especifica a impressão digital obtida após o upload da chave pública para a console ou usando os comandos OpenSSL. Consulte Como Fazer Upload da Chave Pública e Como Obter a Impressão Digital da Chave para obter mais detalhes sobre como obter a impressão digital.
Assim que todas as informações necessárias forem reunidas e a chave privada for gerada, estaremos prontos para executar o seguinte procedimento CREATE_CREDENTIAL:
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL (
credential_name => 'OCI_NATIVE_CRED',
user_ocid => 'ocid
1.user.oc1..aaaaaaaatfn77fe3fxux3o5lego7glqjejrzjsqsrs64f4jsjrhbsk5qzndq',
tenancy_ocid => 'ocid1.tenancy.oc1..aaaaaaaapwkfqz3upqklvmelbm3j77nn3y7uqmlsod75rea5zmtmbl574ve6a',
private_key => 'MIIEogIBAAKCAQEA...t9SH7Zx7a5iV7QZJS5WeFLMUEv+YbYAjnXK+dOnPQtkhOblQwCEY3Hsblj7Xz7o=',
fingerprint => '4f:0c:d6:b7:f2:43:3c:08:df:62:e3:b2:27:2e:3c:7a');
END;
/Depois de criar o objeto de credencial, ele é exibido na tabela dba_credentials:
SELECT owner, credential_name
FROM dba_credentials
WHERE credential_name LIKE '%NATIVE%';
OWNER CREDENTIAL_NAME
----- ---------------
ADMIN OCI_NATIVE_CREDExemplo: Usando o Controlador de Recursos do Autonomous AI Database
Neste exemplo, um grupo dinâmico é criado que inclui membros de recursos apropriados, o grupo dinâmico recebe permissão para gerenciar um Catálogo de Dados e, em seguida, o grupo dinâmico recebe permissão para ler no armazenamento de objetos.
-
Crie um grupo dinâmico chamado
adb-grp-1. Adicione uma regra de correspondência aoadb-grp-1que inclua a instância do Autonomous AI Database com o OCIDocid1.autonomousdatabase.oc1.iad.abuwcljr...fjkfecomo membro de recurso.Regra de correspondência de grupo dinâmico:
resource.id = 'ocid1.autonomousdatabase.oc1.iad.abuwcljr...fjkfe' -
Defina uma política que conceda ao grupo dinâmico
adb-grp-1acesso total às instâncias do serviço Data Catalog, no compartimentomycompartment.allow dynamic-group adb-grp-1 to manage data-catalog-family in compartment mycompartment -
Defina uma política que permita ao grupo dinâmico
adb-grp-1ler qualquer bucket no compartimento chamadomycompartment.allow dynamic-group adb-grp-1 to read objects in compartment mycompartment
Exemplo: Usando Principais do Usuário
Neste exemplo, user1 é membro do grupo adb-admins. Todos os membros desse grupo recebem permissão para gerenciar todos os catálogos de dados no mycompartment e para ler no armazenamento de objetos no mycompartment.
-
Permita que os usuários que são membros do
adb-adminsgerenciem todos os catálogos de dados nomycompartment.allow group adb-admins to manage data-catalog-family in compartment mycompartment -
Permita que os usuários que são membros do
adb-adminsleiam qualquer objeto em qualquer bucket dentro domycompartment.allow group adb-admins to read objects in compartment mycompartment
Resumo de Subprogramas de Gerenciamento de Conexão
Esta tabela lista os procedimentos de pacote DBMS_DCAT usados para criar, consultar e eliminar conexões do serviço Data Catalog.
| Subprograma | Descrição |
|---|---|
| Procedimento SET_DATA_CATALOG_CONN | Criar uma conexão com o catálogo de dados fornecido |
| Procedimento SET_DATA_CATALOG_CREDENTIAL | Definir a credencial de acesso do catálogo de dados usada por uma conexão específica com o catálogo de dados |
| Procedimento SET_OBJECT_STORE_CREDENTIAL | Definir a credencial usada pelo identificador de conexão exclusivo fornecido para acessar o Object Store |
| Procedimento UNSET_DATA_CATALOG_CONN | Remover uma conexão existente do serviço Data Catalog |
SET_DATA_CATALOG_CREDENTIAL Procedimento
Este procedimento define a credencial de acesso do serviço Data Catalog usada por uma conexão específica com o serviço Data Catalog.
Sintaxe
PROCEDURE DBMS_DCAT.SET_DATA_CATALOG_CREDENTIAL(
credential_name VARCHAR2(128) DEFAULT NULL,
dcat_con_id VARCHAR2 DEFAULT NULL
);Parâmetros
| Parâmetro | Descrição |
|---|---|
credential_name |
(Opcional) A credencial usada para acessar o serviço Data Catalog. |
dcat_con_id |
O identificador de conexão exclusivo do serviço Data Catalog. Essa credencial é usada para a conexão identificada por dcat_con_id. O padrão é Nulo. |
Uso
Essa credencial deve ter permissões Gerenciar Catálogo de Dados; consulte Políticas do Serviço Data Catalog. O padrão é o controlador de recursos; consulte Acessar Recursos da Nuvem Configurando Políticas e Atribuições.
SET_OBJECT_STORE_CREDENTIAL Procedimento
Este procedimento define a credencial usada pelo identificador de conexão exclusivo fornecido para acessar o Armazenamento de Objetos. A alteração da credencial de acesso do Object Store altera todas as tabelas sincronizadas existentes para usar a nova credencial.
Sintaxe
PROCEDURE DBMS_DCAT.SET_OBJECT_STORE_CREDENTIAL(
credential_name VARCHAR2(128),
dcat_con_id IN VARCHAR2 DEFAULT NULL
);Parâmetros
| Parâmetro | Descrição |
|---|---|
credential_name |
A credencial usada pelas tabelas externas para acessar o Object Store. |
dcat_con_id |
O identificador de conexão exclusivo do serviço Data Catalog. O default é NULL. |
SET_DATA_CATALOG_CONN Procedimento
Este procedimento cria uma conexão com o Catálogo de Dados fornecido. A conexão é necessária para sincronizar metadados com o serviço Data Catalog. Uma instância do Autonomous AI Database pode se conectar a várias instâncias do serviço Data Catalog e oferece suporte à conexão com Catálogos de Dados da OCI, Catálogos de Dados do AWS Glue e Catálogos REST do Apache Iceberg.
Sintaxe
PROCEDURE DBMS_DCAT.SET_DATA_CATALOG_CONN (
region VARCHAR2 DEFAULT NULL,
endpoint VARCHAR2 DEFAULT NULL,
catalog_id VARCHAR2 DEFAULT NULL,
dcat_con_id VARCHAR2 DEFAULT NULL,
catalog_type VARCHAR2 DEFAULT NULL,
token_endpoint VARCHAR2 DEFAULT Null
);Parâmetros
| Parâmetro | Descrição |
|---|---|
region |
A região do Data Catalog. Se o endpoint for especificado, o region será opcional. Se endpoint e region forem fornecidos, a endpoint terá precedência. O padrão é NULL. |
endpoint |
O ponto final do serviço Data Catalog. Se o region for especificado, o endpoint será opcional. Se endpoint e region forem fornecidos, a endpoint terá precedência. O padrão é NULL. |
catalog_id |
O OCID (Oracle Cloud Identifier) exclusivo para a instância do serviço Data Catalog. Ao estabelecer conexão com o AWS Glue Data Catalogs, o catalog_id é opcional. |
dcat_con_id |
Um identificador de conexão exclusivo do serviço Data Catalog. Esse identificador é obrigatório ao estabelecer conexão com vários Catálogos de Dados e é opcional ao estabelecer conexão com apenas um. É usado para fazer referência à conexão do serviço Data Catalog em chamadas subsequentes ou ao consultar views. Se nenhum identificador for especificado, este procedimento gerará um identificador de conexão NULO. As seguintes restrições se aplicam a dcat_con_id:
|
catalog_type |
O tipo de catálogo de dados a ser conectado. Valores permitidos:
|
token_endpoint |
O ponto final do token de acesso para autenticação OAuth. O padrão é NULL. |
Uso
Você só precisa chamar este procedimento uma vez para definir a conexão. Como parte do processo de conexão, o Autonomous AI Database adiciona propriedades personalizadas ao serviço Data Catalog. Essas propriedades personalizadas são acessíveis aos usuários do serviço Data Catalog e permitem que você substitua nomes padrão (para esquemas, tabelas e colunas) e tipos de dados de coluna.
Antes de criar uma conexão, as credenciais devem ser criadas e definidas. Para obter uma descrição do processo de conexão, consulte Workflow Típico com o Serviço Data Catalog para Catálogos de Dados do OCI e Workflow do Usuário para Consultar com o AWS Glue Data Catalog para Catálogos de Dados do AWS Glue.
Exemplo: Estabelecendo Conexão com um OCID conhecido
Neste exemplo, o Autonomous AI Database está se conectando ao serviço Data Catalog na região uk-london-1. O parâmetro catalog_id usa o Oracle Cloud Identifier (ocid) para a instância do serviço Data Catalog. O tipo de Data Catalog é determinado automaticamente: AWS Glue Data Catalog ou OCI Data Catalog.
BEGIN
DBMS_DCAT.SET_DATA_CATALOG_CONN(
region=>'uk-london-1',
catalog_id=>'ocid1.datacatalog.oc1.uk-london-1...');
END;
/Exemplo: Conexão com um Catálogo de Dados do AWS Glue
Uma conexão é a associação entre uma instância do Autonomous AI Database e um Catálogo de Dados do AWS Glue. Após uma conexão bem-sucedida, a instância do Autonomous AI Database pode ser sincronizada com o AWS Glue. Cada conta da AWS tem um Catálogo de Dados do AWS Glue por região e cada catálogo pode ser acessado usando o ponto final de serviço correspondente para cada região. Uma instância do Autonomous AI Database pode ser associada a um Catálogo de Dados do AWS Glue chamando a API DBMS_DCAT.SET_DATA_CATALOG_CONN e especificando o ponto final da região em que o catálogo reside.
Consulte Pontos finais e cotas da AWS Glue.
Neste exemplo, o Autonomous AI Database está se conectando a um Catálogo de Dados do AWS Glue na região uk-london-1. Como essa é uma conexão do AWS Glue Data Catalog, o parâmetro catalog_id não é necessário.
BEGIN
DBMS_DCAT.SET_DATA_CATALOG_CONN(
region=>'uk-london-1',
catalog_type=>'AWS_GLUE'
END;
/Exemplos: Conexão com um catálogo REST do Databricks Unity Iceberg
Neste exemplo, o Autonomous AI Database está se conectando a um catálogo REST do Databricks Unity Iceberg usando um token de acesso pessoal (de longa duração).
DBMS_CLOUD.create_credential('MY_DATABRICKS_CRED','username', '<personal access token>');
DBMS_DCAT.set_data_catalog_credential(dcat_con_id=>'ICEBERG_CATALOG',credential_name=>'MY_DATABRICKS_CRED');
DBMS_DCAT.set_object_store_credential(dcat_con_id=>'ICEBERG_CATALOG',credential_name=>'SOMECRED');
DBMS_DCAT.set_data_catalog_conn (
dcat_con_id => 'ICEBERG_CATALOG',
catalog_type => 'ICEBERG_UNITY',
endpoint => 'https://adb-...azuredatabricks.net/api/2.1/unity-catalog/iceberg/v1/');Neste exemplo, o Autonomous AI Database está se conectando a um catálogo REST do Databricks Unity Iceberg com um controlador de serviços usando OAuth.
DBMS_CLOUD.create_credential('MY_DATABRICKS_SP_CRED','<client id for the service principal>', '<client secret for the service principal>');
DBMS_DCAT.set_data_catalog_credential(dcat_con_id=>'ICEBERG_CATALOG',credential_name=>'MY_DATABRICKS_SP_CRED');
DBMS_DCAT.set_object_store_credential(dcat_con_id=>'ICEBERG_CATALOG',credential_name=>'MY_OS_CRED');
DBMS_DCAT.set_data_catalog_conn (
dcat_con_id => 'ICEBERG_CATALOG',
catalog_type => 'ICEBERG_UNITY',
endpoint => 'https://adb-...azuredatabricks.net/api/2.1/unity-catalog/iceberg/v1',
token_endpoint => 'https://adb-...azuredatabricks.net/oidc/v1/token');Exemplo: Conexão com um catálogo REST do Apache Polaris Iceberg
Neste exemplo, o Autonomous AI Database está se conectando a um catálogo REST do Apache Polaris Iceberg usando OAuth.
DBMS_CLOUD.create_credential('MY_POLARIS_CRED','<client id>', '<client secret>');
DBMS_DCAT.set_data_catalog_credential(dcat_con_id=>'ICEBERG_CATALOG',credential_name=>'MY_POLARIS_CRED');
DBMS_DCAT.set_object_store_credential(dcat_con_id=>'ICEBERG_CATALOG',credential_name=>'SOMECRED');
DBMS_DCAT.set_data_catalog_conn (
dcat_con_id => 'ICEBERG_CATALOG',
catalog_type => 'ICEBERG_POLARIS',
endpoint => 'https://dev-iceberg.subnet...vcn...oraclevcn.com/api/catalog/v1/quickstart_catalog',
token_endpoint => 'https://dev-iceberg.subnet...vcn...oraclevcn.com/api/catalog/v1/oauth/tokens');UNSET_DATA_CATALOG_CONN Procedimento
Este procedimento remove uma conexão existente do serviço Data Catalog.
Sintaxe
Observação
Observação: A chamada desse procedimento elimina todos os esquemas protegidos e tabelas externas que foram criados como parte das sincronizações anteriores. Ela não afeta os metadados no serviço Data Catalog.
PROCEDURE DBMS_DCAT.UNSET_DATA_CATALOG_CONN (
dcat_con_id IN VARCHAR2 DEFAULT NULL
);Parâmetros
| Parâmetro | Descrição |
|---|---|
dcat_con_id |
O identificador de conexão exclusivo do serviço Data Catalog. O padrão é Nulo. |
Resumo dos Subprogramas de Sincronização
A execução de uma sincronização, a criação e a eliminação de um job de sincronização e a eliminação de esquemas sincronizados podem ser executadas com os procedimentos listados nesta tabela.
Observação
Observação: Em 4 de abril de 2022, os parâmetros sync_option e grant_read foram adicionados ao procedimento DBMS_DCAT.RUN_SYNC. Para garantir o desempenho correto dos jobs de sincronização programados criados antes dessa data, você precisa eliminar e recriar os jobs de sincronização programados. Consulte Procedimento DBMS_DCAT.DROP_SYNC_JOB e Procedimento DBMS_DCAT.CREATE_SYNC_JOB.
| Subprograma | Descrição |
|---|---|
| Procedimento CREATE_SYNC_JOB | Crie um job do scheduler para chamar RUN_SYNC periodicamente |
| Procedimento DROP_SYNC_JOB | Eliminar um job de sincronização existente para o identificador de conexão exclusivo fornecido |
| Procedimento DROP_SYNCED_SCHEMAS | Eliminar todos os esquemas sincronizados anteriormente para o identificador de conexão exclusivo fornecido |
| Procedimento RUN_SYNC | Executar uma operação de sincronização |
RUN_SYNC Procedimento
Este procedimento executa uma operação de sincronização e é o ponto de entrada para a sincronização. Como entrada, ele pega listas de ativos, pastas e entidades do catálogo de dados selecionados e materializa-os criando, eliminando e alterando tabelas externas.
O parâmetro sync_option especifica qual operação o procedimento RUN_SYNC executa: SYNC, DELETE ou REPLACE. A operação é executada em entidades dentro do escopo do parâmetro synced_objects.
Cada chamada para o procedimento RUN_SYNC retorna um operation_id exclusivo que pode ser usado para consultar a view USER_LOAD_OPERATIONS para obter informações sobre o status da sincronização e o log_table correspondente. A view DBMS_DCAT$SYNC_LOG pode ser consultada para facilitar o acesso à log_table para a última operação de sincronização executada pelo usuário atual. Para obter mais detalhes, consulte View DBMS_DCAT$SYNC_LOG e Monitoramento e Solução de Problemas de Cargas.
Observação
Observação: Em 4 de abril de 2022, os parâmetros sync_option e grant_read foram adicionados ao procedimento RUN_SYNC. Para garantir o desempenho correto dos jobs de sincronização programados criados antes dessa data, você precisa eliminar e recriar os jobs de sincronização programados. Consulte Procedimento DBMS_DCAT.DROP_SYNC_JOB e Procedimento DBMS_DCAT.CREATE_SYNC_JOB.
Sincronizando Entidades Lógicas Particionadas ou Tabelas de Cola
O procedimento RUN_SYNC cria uma tabela externa particionada para cada entidade lógica ou tabela de Colagem quando as três seguintes situações se aplicam:
-
A entidade lógica ou tabela de Colagem do catálogo de dados do OCI tem um ou mais atributos particionados.
-
Para catálogos de dados do OCI, a entidade lógica é derivada de um padrão de nome de arquivo baseado em prefixo. Não há suporte para entidades lógicas particionadas derivadas de padrões baseados em regex.
-
Para catálogos de dados do OCI, a entidade lógica se baseia em dados particionados que seguem o formato de pasta hive-style ou não-hive. Não há suporte para entidades lógicas baseadas em dados particionados que seguem o formato de estilo não-hive usando nomes de objeto.
-
Exemplo 1. Entidades lógicas baseadas em objetos coletados que seguem o formato de particionamento de estilo do Hive com padrões de nome de arquivo baseados em prefixo.
Considere os seguintes objetos:
Bucket: MYBUCKET cluster1/db1.db/sales/country=USA/year=2020/month=01/sales1.csv cluster1/db1.db/sales/country=USA/year=2020/month=01/sales2.csv cluster1/db1.db/sales/country=USA/year=2020/month=02/sales1.csvA coleta do bucket usando um padrão de nome de arquivo com um prefixo de pasta inicial
cluster1/db1.dbgera uma entidade lógica chamadaSALEScom três atributos de partição:country,yearemonth. O tipo de atributos particionados éPartition, enquanto o tipo de atributos não particionados éPrimitive. -
Exemplo 2. Entidades lógicas baseadas em objetos coletados que seguem o formato de particionamento de estilo não Hive com padrões de nome de arquivo baseados em prefixo.
Considere os seguintes objetos:
Bucket: MYBUCKET cluster2/db2.db/sales/USA/2020/01/sales1.csv cluster2/db2.db/sales/USA/2020/01/sales2.csv cluster2/db2.db/sales/USA/2020/02/sales1.csvA coleta do bucket usando um padrão de nome de arquivo com um prefixo de pasta inicial
cluster2/db2.dbgera uma entidade lógica chamadaSALEScom três atributos de partição:name0, name1 ename2. A única diferença entre a entidade lógica gerada em comparação com o Exemplo 1 é que os nomes dos atributos particionados são gerados automaticamente, enquanto no Exemplo 1 eles são extraídos do URL (country,yearemonth, respectivamente).
-
Para obter um exemplo completo de sincronização de entidades lógicas particionadas, consulte Exemplo: Um Cenário de Dados Particionado.
Sincronização Incremental de Entidades Lógicas Particionadas/Tabelas de Cola
Cada chamada ao procedimento RUN_SYNC especifica um conjunto de entidades lógicas do catálogo de dados do OCI ou tabelas do AWS Glue a serem sincronizadas com o banco de dados. Quando uma entidade lógica ou uma tabela de cola está presente em duas chamadas RUN_SYNC, a segunda chamada preserva e possivelmente altera as tabelas externas existentes. A tabela a seguir mostra quais alterações de entidade lógica ou tabela de colagem são suportadas quando a entidade lógica ou tabela de colagem é particionada:
| Alteração de Entidade Lógica ou Tabela de Cola | Ação |
|---|---|
| Adição, remoção ou atualização de uma partição | Todas as partições da tabela particionada externa são atualizadas, independentemente de uma alteração ter sido detectada pelo catálogo de dados. |
| Adição de um atributo particionado | Não há suporte para adicionar uma coluna particionada a uma tabela particionada externa. Foi gerada uma exceção. |
| Exclusão de um atributo de partição | Não há suporte para a eliminação de uma coluna particionada de uma tabela particionada externa. Foi gerada uma exceção. |
| Renomeação de um atributo particionado | Não há suporte para a renomeação de uma coluna particionada em uma tabela particionada externa. Foi gerada uma exceção. |
Sintaxe
PROCEDURE DBMS_DCAT.RUN_SYNC (
synced_objects IN CLOB,
sync_option IN VARCHAR2 DEFAULT 'SYNC',
error_semantics IN VARCHAR2 DEFAULT 'SKIP_ERRORS',
log_level IN VARCHAR2 DEFAULT 'INFO',
grant_read IN VARCHAR2 DEFAULT NULL,
dcat_con_id IN VARCHAR2 DEFAULT NULL
);
PROCEDURE DBMS_DCAT.RUN_SYNC (
synced_objects IN CLOB,
sync_option IN VARCHAR2 DEFAULT 'SYNC',
error_semantics IN VARCHAR2 DEFAULT 'SKIP_ERRORS',
log_level IN VARCHAR2 DEFAULT 'INFO',
grant_read IN VARCHAR2 DEFAULT NULL,
operation_id OUT NOCOPY NUMBER,
dcat_con_id IN VARCHAR2 DEFAULT NULL
);Parâmetros
| Parâmetro | Descrição |
|---|---|
synced_objects |
Este parâmetro é um documento JSON que especifica os objetos do catálogo de dados a serem sincronizados. Para o OCI Data Catalogs, o documento JSON especifica um conjunto de entidades em várias granularidades: ativos de dados, pastas (buckets do Object Store) ou entidades lógicas. Ele contém um Para o AWS Glue Data Catalogs, o documento JSON especifica uma lista de tabelas em várias granularidades: bancos de dados e tabelas. O documento especifica uma lista de bancos de dados. Os usuários podem restringir o conjunto de tabelas a serem sincronizadas especificando tabelas individuais em um banco de dados. Para Catálogos de Dados Iceberg, o documento JSON especifica namespaces e tabelas. |
sync_option |
(Opcional) Há três opções:
|
error_semantics |
(Opcional) Este parâmetro especifica o comportamento do erro. Se definido como SKIP_ERRORS, a sincronização tentará continuar apesar dos erros encontrados para entidades individuais. Se definido como STOP_ON_ERROR, o procedimento falhará no primeiro erro encontrado. O padrão é SKIP_ERRORS. |
log_level |
(Opcional) Esse parâmetro especifica os seguintes valores em nível crescente de detalhes de log: (OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE, ALL). O padrão é INFO. |
grant_read |
(Opcional) Esse parâmetro é uma lista de usuários/funções que recebem automaticamente privilégios READ em todas as tabelas externas processadas por essa chamada de RUN_SYNC. Todos os usuários/funções na lista grant_read recebem privilégios READ em todas as tabelas externas novas ou já existentes que correspondem às entidades especificadas pelo parâmetro synced_objects. O procedimento RUN_SYNC preserva os privilégios já concedidos em tabelas externas sincronizadas. |
operation_id |
(Opcional) Esse parâmetro é usado para localizar a entrada correspondente em Observação: Uma versão do |
dcat_con_id |
Este parâmetro é o identificador de conexão exclusivo do catálogo de dados que foi especificado quando a conexão com o catálogo de dados foi criada. Consulte Procedimento DBMS_DCAT SET_DATA_CATALOG_CONN. Este parâmetro identifica qual conexão é usada para sincronização e se torna parte do nome do esquema derivado. Consulte Mapeamento de Sincronização para obter uma descrição de como o nome do esquema é derivado. O parâmetro padrão é NULL. |
Exemplo: Sincronizar todas as entidades do OCI Data Catalog
No exemplo a seguir, todas as entidades do serviço Data Catalog são sincronizadas.
EXEC DBMS_DCAT.RUN_SYNC(synced_objects=>'{"asset_list":["*"]}');Exemplo: parâmetro synced_objects para sincronizar todos os ativos de dados do OCI Data Catalog
Veja a seguir um exemplo de parâmetro synced_objects para sincronizar todos os ativos de dados (Object Storage) no serviço Data Catalog.
{"asset_list" : ["*"]}Exemplo: parâmetro synced_objects para sincronizar ativos de dados específicos do OCI Data Catalog
Veja a seguir um exemplo de parâmetro synced_objects para sincronizar dois ativos de dados.
{"asset_list": [
{
"asset_id":"...-9e2e7f78fd5f"
},
{
"asset_id":"...-9e2e7f74523"
}
]}Exemplo: parâmetro synced_objects para sincronizar entidades específicas do OCI Data Catalog em um ativo de dados
O exemplo a seguir mostra um parâmetro synced_objects para sincronizar duas entidades dentro do ativo de dados.
{"asset_list": [
{
"asset_id":"...-9e2e7f78fd5f",
"folder_list":[
"f1",
"f2"
]
}
]}Exemplo: parâmetro synced_objects para sincronizar pastas e entidades específicas do OCI Data Catalog em um ativo de dados
O exemplo a seguir mostra um parâmetro synced_objects para sincronizar duas pastas e duas entidades dentro do ativo de dados.
{"asset_list":[
{
"asset_id":"...-9e2e7f78fd5f",
"entity_list": [
"entity1",
"entity2"
],
"folder_list": [
"f1",
"f2"
]
}
]}Exemplo: Parâmetro synced_objects para Sincronizar Todos os Bancos de Dados do AWS Glue Data Catalog
O exemplo a seguir mostra um parâmetro synced_objects para sincronizar todos os bancos de dados no AWS Glue Data Catalog.
{"database_list":["*"]}Exemplo: Parâmetro synced_objects para Sincronizar Dois Bancos de Dados do AWS Glue Data Catalog
O exemplo a seguir mostra um parâmetro synced_objects para sincronizar dois bancos de dados do AWS Glue Data Catalog.
{"database_list":[
{"database":"tpcdscsv"},
{"database":"tpcdsparquet"} ]}Exemplo: Parâmetro synced_objects para Sincronizar Três Bancos de Dados do AWS Glue Data Catalog
O exemplo a seguir mostra um parâmetro synced_objects para sincronizar três tabelas de um banco de dados do AWS Glue Data Catalog.
{"database_list":[
{"database":"tpcdsparquet",
"table_list": [ "tpcdsparquet_customer",
"tpcdsparquet_item",
"tpcdsparquet_web_sales" ] } ]}Exemplo: Chame o DBMS_DCAT.run_sync para sincronizar todos os namespaces em um catálogo do Iceberg
Para um catálogo Iceberg, esta chamada de amostra sincroniza todos os namespaces:
DBMS_DCAT.run_sync(
dcat_con_id => 'MY_ICEBERG_CON',
synced_objects => '{"namespace_list" : ["*"]}',
sync_option => 'SYNC',
error_semantics => 'STOP_ON_ERROR,
log_level => 'DEBUG',
grant_read => 'DB_USER');Exemplo: Chame o DBMS_DCAT.run_sync para sincronizar todas as tabelas em um namespace Iceberg e algumas tabelas em outro namespace Iceberg
Para um catálogo Iceberg, esta chamada de amostra sincroniza todas as tabelas no namespace warehouse e três tabelas do namespace ["bigdata","tpcdsparquet"]:
DBMS_DCAT.run_sync(
dcat_con_id => 'MY_ICEBERG_CON',
synced_objects => '{"namespace_list": [
{ "namespace": ["warehouse"] },
{ "namespace": ["bigdata", "tpcdsparquet"],
"table_list": [ "tpcdsparquet_customer",
"tpcdsparquet_item",
"tpcdsparquet_web_sales" ] } ]}',
sync_option => 'SYNC',
error_semantics => 'STOP_ON_ERROR,
log_level => 'DEBUG',
grant_read => 'DB_USER');CREATE_SYNC_JOB Procedimento
Este procedimento cria um job do scheduler para chamar RUN_SYNC periodicamente.
Ele utiliza como entrada o conjunto de objetos a serem sincronizados, a semântica de erro, o nível de log e um intervalo de repetição. Consulte Procedimento DBMS_DCAT RUN_SYNC para obter mais detalhes sobre como a sincronização funciona.
Só pode haver um único job de sincronização. O procedimento CREATE_SYNC_JOB falhará se outro job já estiver especificado, a menos que o parâmetro de imposição seja definido como TRUE. Se a imposição for definida como TRUE, o job anterior será eliminado.
Se um job do scheduler tentar ser executado enquanto outra sincronização estiver em andamento, o job do scheduler falhará.
Observação
Observação: Em 4 de abril de 2022, os parâmetros sync_option e grant_read foram adicionados ao procedimento RUN_SYNC. Para garantir o desempenho correto dos jobs de sincronização programados criados antes dessa data, você precisa eliminar e recriar os jobs de sincronização programados. Consulte Procedimento DBMS_DCAT.DROP_SYNC_JOB e Procedimento DBMS_DCAT.CREATE_SYNC_JOB.
Sintaxe
PROCEDURE DBMS_DCAT.CREATE_SYNC_JOB (
synced_objects IN CLOB,
error_semantics IN VARCHAR2 DEFAULT 'SKIP_ERRORS',
log_level IN VARCHAR2 DEFAULT 'INFO',
repeat_interval IN VARCHAR2,
force IN VARCHAR2 DEFAULT 'FALSE',
grant_read IN VARCHAR2 DEFAULT NULL,
sync_option IN VARCHAR2 DEFAULT 'SYNC',
dcat_con_id IN VARCHAR2 DEFAULT NULL
);Parâmetros
| Parâmetro | Descrição |
|---|---|
synced_objects |
Um objeto JSON que especifica os objetos a serem sincronizados, conforme descrito no procedimento RUN_SYNC. Consulte Procedimento RUN_SYNC. |
error_semantics |
(Opcional) Comportamento de erro, conforme especificado para RUN_SYNC. O padrão é SKIP_ERRORS. |
log_level |
(Opcional) Nível de log, conforme especificado para RUN_SYNC. O padrão é INFO. |
repeat_interval |
Repita o intervalo para o job, com a mesma semântica do parâmetro de intervalo de repetição do procedimento DBMS_SCHEDULER.CREATE_JOB. Para obter detalhes sobre o repeat_interval, consulte Visão Geral da Criação de Jobs. |
force |
(Opcional) Se TRUE, os jobs de sincronização existentes serão excluídos primeiro. Se FALSE, o procedimento CREATE_SYNC_JOB falhará se já existir um job de sincronização. O padrão é FALSE. |
grant_read |
(Opcional) Lista de usuários/funções a serem concedidos READ nas tabelas externas sincronizadas, conforme descrito para o procedimento RUN_SYNC. Consulte Procedimento DBMS_DCAT.RUN_SYNC. |
sync_option |
(Opcional) Comportamento com relação às entidades que já foram sincronizadas por meio de uma operação anterior do RUN_SYNC, conforme descrito para o procedimento RUN_SYNC. Consulte Procedimento DBMS_DCAT.RUN_SYNC. |
dcat_con_id |
Esse parâmetro é o identificador de conexão exclusivo do serviço Data Catalog que foi especificado quando a conexão com o serviço Data Catalog foi criada. Consulte Procedimento DBMS_DCAT SET_DATA_CATALOG_CONN. Este parâmetro identifica qual conexão é usada para sincronização e se torna parte do nome do esquema derivado. Consulte Mapeamento de Sincronização para obter uma descrição de como o nome do esquema é derivado. O parâmetro padrão é NULL. |
DROP_SYNC_JOB Procedimento
Este procedimento elimina um job de sincronização existente para o identificador de conexão exclusivo fornecido.
Sintaxe
PROCEDURE DBMS_DCAT.DROP_SYNC_JOB (
dcat_con_id IN VARCHAR2 DEFAULT NULL
);Parâmetros
| Parâmetro | Descrição |
|---|---|
dcat_con_id |
O identificador de conexão exclusivo do serviço Data Catalog. O default é NULL. |
DROP_SYNCED_SCHEMAS Procedimento
Este procedimento elimina todos os esquemas sincronizados anteriormente para o identificador de conexão exclusivo fornecido.
Sintaxe
PROCEDURE DBMS_DCAT.DROP_SYNCED_SCHEMAS (
dcat_con_id IN VARCHAR2 DEFAULT NULL
);Parâmetros
| Parâmetro | Descrição |
|---|---|
dcat_con_id |
O identificador de conexão exclusivo do serviço Data Catalog. O default é NULL. |
Início Rápido
Esta seção descreve o processo de configuração de credenciais e conexões seguras da nuvem para que o Oracle Data Catalog sincronize e acesse metadados das origens de dados da nuvem do OCI e do AWS Glue no banco de dados.
OCI
O procedimento a seguir configura as credenciais de autenticação do OCI, configura a conexão do Oracle Data Catalog para usar essas credenciais e inicia uma operação de sincronização de metadados para tornar os metadados do catálogo de dados na nuvem acessíveis no ambiente do banco de dados por meio de tabelas externas para consulta e consumo.
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'OCI_NATIVE_CRED',
user_ocid => 'ocid1.user....',
tenancy_ocid => 'ocid1.tenancy....',
private_key => '...PEM_WITHOUT_HEADERS...',
fingerprint => '4f:0c:d6:...:7a'
);
END;
/
BEGIN
DBMS_DCAT.SET_DATA_CATALOG_CONN(region => 'us-ashburn-1');
DBMS_DCAT.SET_DATA_CATALOG_CREDENTIAL(dcat_con_id => NULL, credential_name => 'OCI_NATIVE_CRED');
DBMS_DCAT.SET_OBJECT_STORE_CREDENTIAL(dcat_con_id => NULL, credential_name => 'OCI_NATIVE_CRED');
END;
/
DECLARE
op NUMBER;
BEGIN
DBMS_DCAT.RUN_SYNC(
synced_objects => q'{"asset_list":["*"]}',
sync_option => 'SYNC',
error_semantics => 'STOP_ON_ERROR',
log_level => 'INFO',
grant_read => 'DATA_CONSUMERS',
operation_id => op
);
END;
/AWS Glue
O procedimento a seguir prepara o Oracle Database para se conectar e autenticar com segurança com os serviços da AWS usando credenciais, configurar a conexão do catálogo de dados com o catálogo do AWS Glue e importar metadados selecionados do AWS Glue para a Oracle para uso em seu ambiente.
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'AWS_CRED',
username => '<aws_access_key_id>',
password => '<aws_secret_access_key>');
END;
/
BEGIN
DBMS_DCAT.SET_DATA_CATALOG_CONN(region => 'eu-west-2', catalog_type => 'AWS_GLUE');
DBMS_DCAT.SET_DATA_CATALOG_CREDENTIAL(dcat_con_id => NULL, credential_name => 'AWS_CRED');
DBMS_DCAT.SET_OBJECT_STORE_CREDENTIAL(dcat_con_id => NULL, credential_name => 'AWS_CRED');
END;
/
BEGIN
DBMS_DCAT.RUN_SYNC(
synced_objects => q'{
"database_list":[
{"database":"tpcdsparquet",
"table_list":["customer","item","web_sales"]}
]}',
grant_read => 'DATA_CONSUMERS'
);
END;
/Resumo de Views do Serviço Data Catalog
A integração do serviço Data Catalog com o Autonomous AI Database fornece várias tabelas e views.
Estas tabelas e views ajudam a compreender:
-
Ativos disponíveis do serviço Data Catalog. Obtenha informações sobre qualquer tipo de ativo do serviço Data Catalog - incluindo bancos de dados, armazenamentos de objetos e muito mais.
-
Informações sobre os ativos e as entidades do serviço Data Catalog Object Storage que foram sincronizados com o Autonomous AI Database. Isso inclui detalhes sobre como os itens do serviço Data Catalog (ativos, pastas e entidades) são mapeados para objetos do Autonomous AI Database (ou seja, esquemas e tabelas externas).
-
Execuções de sincronização de metadados. Verifique os detalhes sobre jobs de sincronização, incluindo quaisquer problemas que possam ter ocorrido durante a sincronização.
Esta tabela lista as tabelas e as views fornecidas pelo pacote DBMS_DCAT.
| Exibir | Descrição |
|---|---|
| Visualização ALL_CLOUD_CATALOG_DATABASES | Exibir informações sobre ativos de dados do OCI Data Catalog e bancos de dados do AWS Glue Data Catalog |
| ALL_CLOUD_CATALOG_TABLES - Visualização | Usado para exibir informações sobre entidades de dados para Catálogos de Dados do OCI e tabelas do AWS Glue Data Catalogs |
| Visualização ALL_DCAT_ASSETS | Listar ativos do catálogo de dados aos quais este banco de dados está autorizado a acessar |
| Visualização ALL_DCAT_ATTRIBUTES | Listar atributos do catálogo de dados aos quais este banco de dados está autorizado a acessar |
| Visualização ALL_DCAT_CONNECTIONS | Uma view que contém informações sobre os catálogos de dados conectados a esta instância |
| Visualização ALL_DCAT_ENTITIES | Lista entidades lógicas que este banco de dados está autorizado a acessar |
| ALL_DCAT_FOLDERS - Exibição | Listar metadados dos buckets do serviço Object Storage que contêm os arquivos de dados das Entidades Lógicas |
| Visualização ALL_DCAT_GLOBAL_ACCESSIBLE_CATALOGS | Listar todos os catálogos acessíveis em todas as regiões, juntamente com o nível de privilégios de acesso para cada catálogo |
| Visualização ALL_DCAT_LOCAL_ACCESSIBLE_CATALOGS | Listar todos os catálogos acessíveis na região atual, juntamente com o nível de privilégios de acesso para cada catálogo |
| Visualização ALL_GLUE_DATABASES | Lista os bancos de dados do AWS Glue Data Catalog aos quais a credencial do catálogo de dados está autorizada a acessar |
| Visualização ALL_GLUE_TABLES | Mostra todas as tabelas do AWS Glue Data Catalog às quais a credencial do catálogo de dados está autorizada a acessar |
| Visualização DCAT_ATTRIBUTES | Listar o mapeamento de atributos de entidade lógica para colunas de tabela externa |
| Visualização DCAT_ENTITIES | Descreve o mapeamento de entidades lógicas para tabelas externas |
| Visualização DBMS_DCAT$SYNC_LOG | Fornece fácil acesso à tabela de log para a última operação de sincronização executada pelo usuário atual |
ALL_CLOUD_CATALOG_DATABASES Exibição
Use a view ALL_CLOUD_CATALOG_DATABASES para exibir informações sobre ativos de dados do OCI Data Catalog e bancos de dados do AWS Glue Data Catalog.
| Coluna | Descrição |
|---|---|
DCAT_CON_ID |
CON1 |
CATALOG_ID |
Identificador exclusivo do catálogo de dados. Exemplo do OCI Data Catalog:
Exemplo do Catálogo de Dados da AWS Glue:
|
NAME |
Nome do ativo de dados (OCI)/banco de dados (AWS Glue). Exemplo do OCI Data Catalog:
Exemplo do Catálogo de Dados da AWS Glue:
|
DESCRIPTION |
Descrição do ativo de dados (OCI)/banco de dados (AWS Glue). Exemplo do OCI Data Catalog:
Exemplo do Catálogo de Dados da AWS Glue:
|
TIME_CREATED |
A data e a hora em que o ativo de dados (OCI) / os bancos de dados (AWS Glue) foram criados no catálogo de dados. Exemplo do OCI Data Catalog:
Exemplo do Catálogo de Dados da AWS Glue:
|
DETAILS |
Documento JSON com metadados sobre cada entidade de dados (OCI) / banco de dados (AWS Glue). Exemplo do OCI Data Catalog:
Exemplo do Catálogo de Dados da AWS Glue:
|
ALL_CLOUD_CATALOG_TABLES Exibição
O View ALL_CLOUD_CATALOG_TABLES é usado para exibir informações sobre entidades de dados para Catálogos de Dados do OCI e tabelas do AWS Glue Data Catalogs.
| Coluna | Descrição |
|---|---|
DCAT_CON_ID |
Identificador exclusivo do catálogo de dados. O id da conexão. Exemplo do OCI Data Catalog: Exemplo do AWS Glue Data Catalog: |
CATALOG_ID |
Identificador exclusivo do catálogo de dados. Exemplo do OCI Data Catalog: Exemplo do AWS Glue Data Catalog:
|
DATABASE_NAME |
Nome do ativo de dados (OCI)/banco de dados (AWS Glue). Exemplo do OCI Data Catalog: Exemplo do AWS Glue Data Catalog: |
NAME |
Nome da entidade de dados (OCI) / tabela (AWS Glue). Exemplo do OCI Data Catalog: Exemplo do AWS Glue Data Catalog: |
DESCRIPTION |
Descrição da entidade de dados (OCI) / tabela (AWS Glue). Exemplo do OCI Data Catalog: Exemplo do AWS Glue Data Catalog: |
TIME_CREATED |
A data e a hora em que a entidade de dados (OCI) / tabela (AWS Glue) foi criada no catálogo de dados. Exemplo do OCI Data Catalog: Exemplo do AWS Glue Data Catalog: |
TIME_UPDATED |
Última vez que uma alteração foi feita na entidade de dados (OCI) / tabela (AWS Glue). Exemplo do OCI Data Catalog: Exemplo do AWS Glue Data Catalog: |
DETAILS |
Documento JSON com metadados sobre cada entidade de dados (OCI)/tabela (AWS Glue) Exemplo do OCI Data Catalog:
Exemplo do Catálogo de Dados do AWS Glue:
|
ALL_DCAT_ASSETS Exibição
Os ativos do serviço Data Catalog que este banco de dados está autorizado a acessar.
| Coluna | Tipo de Dados | Descrição |
|---|---|---|
DCAT_CON_ID |
VARCHAR2 (4000) |
Identificador de conexão exclusivo na instância |
KEY |
VARCHAR2(4000) |
Chave de ativo |
DISPLAY_NAME |
VARCHAR2(4000) |
Nome de exibição do ativo |
DESCRIPTION |
VARCHAR2(4000) |
A descrição do ativo |
CATALOG_ID |
VARCHAR2(4000) |
OCID do serviço Data Catalog que contém o ativo |
EXTERNAL_KEY |
VARCHAR2(4000) |
URI do Object Storage Base para o ativo |
URI |
VARCHAR2(4000) |
URI do Ativo para a API do Serviço Data Catalog |
TIME_CREATED |
TIMESTAMP(6) WITH TIMEZONE |
A data e a hora em que o ativo de dados foi criado |
TYPE_KEY |
VARCHAR2(4000) |
A chave do tipo de ativo de dados (no momento, só há suporte para ativos de dados do Object Storage). As chaves de tipo podem ser encontradas por meio do ponto final do serviço Data Catalog '/types'. |
LIFECYCLE_STATE |
VARCHAR2(4000) |
O estado atual do ativo de dados. Para obter mais informações sobre possíveis estados do ciclo de vida, consulte a Referência de Ativos de Dados do serviço Data Catalog para obter uma lista de possíveis estados para lifecycleState. |
ALL_DCAT_ATTRIBUTES Exibição
Os atributos do serviço Data Catalog que este banco de dados está autorizado a acessar.
| Coluna | Tipo de Dados | Descrição |
|---|---|---|
DCAT_CON_ID |
VARCHAR2 (4000) |
Identificador de conexão exclusivo na instância |
KEY |
NUMBER |
Chave do atributo |
DISPLAY_NAME |
VARCHAR2(4000) |
Nome de exibição do atributo |
BUSINESS_NAME |
VARCHAR2(4000) |
Nome comercial do atributo |
DESCRIPTION |
VARCHAR2(4000) |
Descrição do atributo |
DATA_ASSET_KEY |
VARCHAR2(4000) |
Chave de ativo de dados |
FOLDER_KEY |
VARCHAR2(4000) |
Chave da pasta |
ENTITY_KEY |
VARCHAR2(4000) |
Chave da entidade |
EXTERNAL_KEY |
VARCHAR2(4000) |
Chave externa exclusiva para o atributo |
LENGTH |
NUMBER |
Tamanho máximo permitido do valor do atributo |
PRECISION |
NUMBER |
Precisão do valor do atributo (geralmente se aplica ao tipo de dados flutuante) |
SCALE |
NUMBER |
Escala do valor do atributo (geralmente se aplica ao tipo de dados flutuante) |
IS_NULLABLE |
NUMBER |
Identifica se este atributo pode receber valores nulos |
URI |
VARCHAR2(4000) |
URI para a instância do atributo na API do serviço Data Catalog |
LIFECYCLE_STATE |
VARCHAR2(4000) |
O estado atual do atributo. Para obter mais informações sobre possíveis estados do ciclo de vida, consulte a Referência de Atributos do serviço Data Catalog para obter uma lista de possíveis estados para lifecycleState. |
TIME_CREATED |
TIMESTAMP(6) WITH TIME ZONE |
A data e a hora em que o atributo foi criado |
EXTERNAL_DATA_TYPE |
VARCHAR2(4000) |
Tipo de dados do atributo conforme definido no sistema externo |
MIN_COLLECTION_COUNT |
NUMBER |
Número mínimo de elementos, se o tipo do atributo for um tipo de coleta |
MAX_COLLECTION_COUNT |
NUMBER |
Número máximo de elementos, se o tipo do atributo for um tipo de coleta |
DATATYPE_ENTITY_KEY |
VARCHAR2(4000) |
Chave de entidade que representa o tipo de dados deste atributo, aplicável se este atributo for um tipo complexo |
EXTERNAL_DATATYPE_ENTITY_KEY |
VARCHAR2(4000) |
Chave de entidade externa que representa o tipo de dados deste atributo, aplicável se este atributo for um tipo complexo |
PARENT_ATTRIBUTE_KEY |
VARCHAR2(4000) |
Chave de atributo que representa o atributo pai deste atributo, aplicável se o atributo pai for de um tipo de dados complexo |
EXTERNAL_PARENT_ATTRIBUTE_KEY |
VARCHAR2(4000) |
Chave de atributo externo que representa o atributo pai deste atributo, aplicável se o atributo pai for do tipo complexo |
PATH |
VARCHAR2(4000) |
Caminho completo do atributo |
ALL_DCAT_CONNECTIONS Exibição
Uma view que contém informações sobre os catálogos de dados conectados a esta instância.
| Coluna | Tipo de Dados | Descrição |
|---|---|---|
DCAT_CON_ID |
VARCHAR2(4000) |
Identificador de conexão exclusivo na instância |
COMPARTMENT_ID |
VARCHAR2(4000) |
OCID do compartimento no qual reside a instância do serviço Data Catalog |
INSTANCE_ID |
VARCHAR2(4000) |
OCID da instância do serviço Data Catalog |
REGION |
VARCHAR2(4000) |
Região da instância do serviço Data Catalog |
ENDPOINT |
VARCHAR2(4000) |
Ponto final da instância do serviço Data Catalog |
CREATED |
TIMESTAMP |
Quando a instância do serviço Data Catalog foi criada |
NAME |
VARCHAR2(4000) |
Nome da instância do serviço Data Catalog |
LAST_UPDATED |
TIMESTAMP |
Timestamp da última atualização da conexão com a instância do serviço Data Catalog |
LATEST_OPERATION_ID |
NUMBER |
O id da última operação de sincronização |
DATA_CATALOG_CREDENTIAL |
VARCHAR2(128) |
Credencial usada para acessar o serviço Data Catalog |
OBJECT_STORE_CREDENTIAL |
VARCHAR2(128) |
Credencial usada pelo driver da tabela externa para acessar o Object Store |
ALL_DCAT_ENTITIES Exibição
As entidades lógicas do serviço Data Catalog que este banco de dados está autorizado a acessar.
| Coluna | Tipo de Dados | Descrição |
|---|---|---|
DCAT_CON_ID |
VARCHAR2(4000) |
Identificador de conexão exclusivo na instância |
CATALOG_ID |
VARCHAR2(4000) |
OCID do serviço Data Catalog que contém o ativo |
KEY |
VARCHAR2(4000) |
Chave da entidade |
DISPLAY_NAME |
VARCHAR2(4000) |
Nome para exibição da entidade |
BUSINESS_NAME |
VARCHAR2(4000) |
Nome comercial da entidade |
DESCRIPTION |
VARCHAR2(4000) |
Descrição da entidade lógica |
DATA_ASSET_KEY |
VARCHAR2(4000) |
Chave do ativo |
FOLDER_KEY |
VARCHAR2(4000) |
Chave exclusiva da pasta |
FOLDER_NAME |
VARCHAR2(4000) |
Nome da pasta (bloco) |
EXTERNAL_KEY |
VARCHAR2(4000) |
Chave externa para a entidade lógica |
PATTERN_KEY |
VARCHAR2(4000) |
Chave do padrão associado da entidade lógica |
REALIZED_EXPRESSION |
VARCHAR2(4000) |
A expressão regular usada para obter os arquivos desta entidade lógica |
PATH |
VARCHAR2(4000) |
Caminho completo para a entidade lógica |
TIME_CREATED |
TIMESTAMP(6) WITH TIME ZONE |
Data e hora em que a entidade foi criada |
TIME_UPDATED |
TIMESTAMP(6) WITH TIME ZONE |
Última vez que uma alteração foi feita na entidade de dados |
UPDATED_BY_ID |
VARCHAR2(4000) |
OCID do usuário que atualizou este objeto no serviço Data Catalog |
URI |
VARCHAR2(4000) |
URI da instância da entidade na API |
LIFECYCLE_STATE |
VARCHAR2(4000) |
O estado atual da entidade. Para obter mais informações sobre possíveis estados do ciclo de vida, consulte a Referência da Entidade do serviço Data Catalog para obter uma lista de possíveis estados para lifecycleState. |
ALL_DCAT_FOLDERS Exibição
Metadados para os buckets do serviço Object Storage que contêm os arquivos de dados das Entidades Lógicas.
| Coluna | Tipo de Dados | Descrição |
|---|---|---|
DCAT_CON_ID |
VARCHAR2(4000) |
Identificador de conexão exclusivo na instância |
CATALOG_ID |
VARCHAR2(4000) |
OCID do serviço Data Catalog que contém o ativo |
KEY |
VARCHAR2(4000) |
Chave da pasta |
DISPLAY_NAME |
VARCHAR2(4000) |
Nome para exibição da pasta |
BUSINESS_NAME |
VARCHAR2(4000) |
Nome comercial da pasta |
DESCRIPTION |
VARCHAR2(4000) |
Descrição da pasta |
DATA_ASSET_KEY |
VARCHAR2(4000) |
Chave do ativo de dados que contém a pasta |
PARENT_FOLDER_KEY |
VARCHAR2(4000) |
Chave para a pasta pai (no momento, esta é a chave do ativo de dados) |
PATH |
VARCHAR2(4000) |
Caminho completo da pasta |
EXTERNAL_KEY |
VARCHAR2(4000) |
URI do serviço Object Storage para o bucket |
TIME_EXTERNAL |
TIMESTAMP(6) WITH TIMEZONE |
O timestamp da última modificação desta pasta |
TIME_CREATED |
TIMESTAMP(6) WITH TIMEZONE |
A data/hora em que a pasta foi criada |
URI |
VARCHAR2(4000) |
URI para a instância da pasta na API do serviço Data Catalog. |
LIFECYCLE_STATE |
VARCHAR2(4000) |
O estado atual da pasta. Para obter mais informações sobre possíveis estados do ciclo de vida, consulte a Referência de Pastas do serviço Data Catalog para obter uma lista de possíveis estados para lifecycleState. |
ALL_DCAT_GLOBAL_ACCESSIBLE_CATALOGS Exibição
Esta view lista todos os catálogos acessíveis em todas as regiões, juntamente com o nível de privilégios de acesso para cada catálogo.
| Coluna | Tipo de Dados | Descrição |
|---|---|---|
CATALOG_ID |
VARCHAR2(4000) |
OCID do Catálogo |
CATALOG_NAME |
VARCHAR2(4000) |
Nome do catálogo |
CATALOG_REGION |
VARCHAR2(4000) |
Nome da região do catálogo |
CATALOG_SCORE |
NUMBER |
A pontuação do catálogo é um valor numérico calculado com base nos privilégios configurados para a credencial de acesso do serviço Data Catalog. Uma pontuação de catálogo mais alta significa privilégios maiores, o que pode equivaler a uma probabilidade maior de que esse catálogo se destine a ser usado com essa instância do Autonomous AI Database. |
ALL_DCAT_LOCAL_ACCESSIBLE_CATALOGS Exibição
Esta exibição lista todos os catálogos acessíveis na região atual, juntamente com o nível de privilégios de acesso para cada catálogo.
| Coluna | Tipo de Dados | Descrição |
|---|---|---|
CATALOG_ID |
VARCHAR2(4000) |
OCID do Catálogo |
CATALOG_NAME |
VARCHAR2(4000) |
Nome do catálogo |
CATALOG_SCORE |
NUMBER |
A pontuação do catálogo é um valor numérico calculado com base nos privilégios configurados para a credencial de acesso do serviço Data Catalog. Uma pontuação de catálogo mais alta significa privilégios maiores, o que pode equivaler a uma probabilidade maior de que esse catálogo se destine a ser usado com essa instância do Autonomous AI Database. |
ALL_GLUE_DATABASES Exibição
Os bancos de dados do AWS Glue Data Catalog que a credencial do catálogo de dados está autorizada a acessar.
| Coluna | Tipo de dados | Descrição |
|---|---|---|
DCAT_CON_ID |
VARCHAR2(4000) |
Identificador exclusivo do id de conexão do catálogo de dados. |
CATALOG_ID |
VARCHAR2(255) |
Identificador exclusivo do serviço Data Catalog. |
NAME |
VARCHAR2(255) |
Nome do banco de dados. |
DESCRIPTION |
VARCHAR2(2048) |
Descrição do banco de dados. |
LOCATION_URI |
VARCHAR2(1024) |
O local do banco de dados. |
CREATE_TIME |
TIMESTAMP |
O horário em que o banco de dados foi criado no catálogo de dados. |
PARAMETERS |
CLOB |
Documento JSON com pares de chave/valor que definem parâmetros e propriedades do banco de dados. |
TARGET_DATABASE |
VARCHAR2(4000) |
Documento JSON que descreve um banco de dados de destino para vinculação de recursos no AWS. |
ALL_GLUE_TABLES Exibição
Esta exibição mostra todas as tabelas do AWS Glue Data Catalog que a credencial do catálogo de dados está autorizada a acessar.
| Coluna | Tipo de dados | Descrição |
|---|---|---|
DCAT_CON_ID |
VARCHAR2(4000) |
Identificador exclusivo do id de conexão do catálogo de dados. |
CATALOG_ID |
VARCHAR2(255) |
Identificador do catálogo |
DATABASE_NAME |
VARCHAR2(255) |
Nome do banco de dados |
NAME |
VARCHAR2(255) |
Nome da tabela |
TABLE_TYPE |
VARCHAR2(255) |
Tipo de tabela |
CLASSIFICATION |
VARCHAR2(255) |
|
DESCRIPTION |
VARCHAR2(2048) |
Descrição da tabela |
OWNER |
VARCHAR2(255) |
Proprietário da tabela |
CREATED_BY |
VARCHAR2(255) |
Criador de tabela |
CREATE_TIME |
TIMESTAMP |
A hora em que a tabela foi criada no catálogo de dados. |
LAST_ANALYZED_TIME |
TIMESTAMP |
A última vez que as estatísticas de coluna foram calculadas para esta tabela. |
LAST_ACCESS_TIME |
TIMESTAMP |
A última vez que a tabela foi acessada. |
UPDATE_TIME |
TIMESTAMP |
A última vez que a tabela foi atualizada. |
IS_REGISTERED_WITH_LAKE_FORMATION |
NUMBER |
Indica se a tabela está registrada com a formação do lake da AWS. |
PARAMETERS |
CLOB |
Documento JSON com pares de chave/valor que definem propriedades da tabela. |
PARTITION_KEYS |
CLOB |
Documento JSON com uma lista de colunas pela qual a tabela é particionada. |
RETENTION |
NUMBER |
O tempo de retenção desta tabela. |
STORAGE_DESCRIPTION |
CLOB |
Documento JSON com informações sobre o armazenamento físico de uma tabela. |
TARGET_TABLE |
VARCHAR2(4000) |
Documento JSON que descreve uma tabela de destino usada para vinculação de recursos no AWS. |
VERSION_ID |
VARCHAR2(255) |
O identificador da versão da tabela. |
VIEW_EXPANDED_TEXT |
CLOB |
Introduzido pelo AWS Glue para compatibilidade com o Hive. Não usado pelo AWS Glue. |
VIEW_ORIGINAL_TEXT |
CLOB |
Introduzido pelo AWS Glue para compatibilidade com o Hive. Não usado pelo AWS Glue. |
DCAT_ATTRIBUTES Exibição
Lista o mapeamento de atributos de entidade lógica para colunas de tabela externa.
| Coluna | Tipo de Dados | Descrição |
|---|---|---|
DCAT_CON_ID |
VARCHAR2 (4000) |
Identificador de conexão exclusivo na instância |
ASSET_KEY |
VARCHAR2(4000) |
Chave do ativo do serviço Data Catalog |
ENTITY_KEY |
VARCHAR2(4000) |
Chave da entidade do serviço Data Catalog |
ATTRIBUTE_KEY |
VARCHAR2(4000) |
Chave do atributo do serviço Data Catalog |
ORACLE_COLUMN_NAME |
VARCHAR2(128) |
Nome da coluna mapeada |
DCAT_ENTITIES Exibição
Descreve o mapeamento de entidades lógicas para tabelas externas.
| Coluna | Tipo de Dados | Descrição |
|---|---|---|
DCAT_CON_ID |
VARCHAR2(4000) |
Identificador de conexão exclusivo na instância |
ASSET_KEY |
VARCHAR2(4000) |
Chave do ativo do serviço Data Catalog |
ENTITY_KEY |
VARCHAR2(4000) |
Chave da entidade do serviço Data Catalog |
FOLDER_KEY |
VARCHAR2(4000) |
Chave da pasta do Data Catalog |
ORACLE_TABLE_NAME |
VARCHAR2(128) |
Nome da tabela mapeada |
ORACLE_SCHEMA_NAME |
VARCHAR2(128) |
Nome do esquema mapeado |
ENTITY_ORACLE_DB_SCHEMA |
VARCHAR2(4000) |
A propriedade personalizada oracle-db-schema da entidade usada para derivar o esquema |
ASSET_ORACLE_DB_SCHEMA |
VARCHAR2(4000) |
A propriedade personalizada oracle-db-schema do ativo de dados usada para derivar o esquema |
FOLDER_ORACLE_DB_SCHEMA |
VARCHAR2(4000) |
A propriedade personalizada oracle-db-schema da pasta usada para derivar o esquema |
Visualização DBMS_DCAT$SYNC_LOG
A view DBMS_DCAT$SYNC_LOG fornece acesso fácil à tabela de logs para a última operação de sincronização executada pelo usuário atual.
Cada chamada para o procedimento RUN_SYNC é registrada em uma nova tabela de log, apontada pelo campo LOGFILE_TABLE de USER_LOAD_OPERATIONS. As tabelas de log são eliminadas automaticamente após 2 dias, e os usuários podem limpar todos os logs de sincronização usando o Procedimento DELETE_ALL_OPERATIONS em que o tipo é DCAT_SYNC.
A view DBMS_DCAT$SYNC_LOG identifica automaticamente a tabela de log mais recente. O esquema da view DBMS_DCAT$SYNC_LOG é descrito abaixo e as permissões de acesso são idênticas às das tabelas de log individuais. Por padrão, o READ é concedido à atribuição dbms_dcat e ao usuário ADMIN.
As tabelas de log têm o seguinte formato:
| Coluna | Tipo de Dados | Descrição |
|---|---|---|
LOG_TIMESTAMP |
TIMESTAMP |
Timestamp da entrada de log. |
LOG_LEVEL |
VARCHAR2(32) |
O nível de log de entrada pode ter um dos seguintes valores: OFF, FATAL, ERROR, WARN, INFO, DEBUG, TRACE, ALL. |
LOG_DETAILS |
VARCHAR2(32767) |
A mensagem de log. |
Dicas de Diagnóstico e Solução de Problemas
Esta seção fornece dicas de solução de problemas para problemas comuns:
- Verifique se todas as atribuições e privilégios necessários estão atribuídos corretamente.
- Verifique novamente se os URLs da região e do armazenamento de objetos correspondem à implantação real.
- Certifique-se de que as permissões
GRANT READtenham sido concedidas explicitamente aos usuários ou atribuições relevantes. - Para diagnosticar problemas de sincronização, revise a tabela
DBMS_DCAT$SYNC_LOGpara obter mensagens de erro detalhadas e o status da operação.
Observação
Observação: O USER_LOAD_OPERATIONS.LOGFILE_TABLE pode ser encontrado consultando o dicionário de dados ou usando as views do Oracle Data Catalog que rastreiam logs de operação de carregamento.