Pular para o conteúdo principal

Requisitos de usuário do banco de dados Oracle

info

Beta

Esse recurso está em Beta. Os administradores do workspace podem controlar o acesso a esse recurso na página Pré-visualizações . Consulte Gerenciar prévias do Databricks.

Esta página lista os privilégios que o usuário de replicação do Oracle requer para a ingestão no Databricks.

O Databricks recomenda que você crie um usuário de banco de dados que seja usado exclusivamente para a ingestão do Databricks. A ferramenta de configuração (dbx_oracle_setup_util) concede os privilégios de sistema e de objeto para você quando você chama GRANT_PERMISSIONS, e concede a tabela SELECT quando você chama GRANT_SELECT_PERMISSIONS ou GRANT_SELECT_ON_TABLE. Esta lista é fornecida para fins de referência e auditoria.

Para bancos de dados multi-tenant (CDB), a ferramenta de configuração concede cada privilégio com CONTAINER=ALL e define CONTAINER_DATA=ALL no usuário para que ele possa ler dados de alteração em todos os containers. Para o Amazon RDS, a ferramenta concede privilégios de objeto por meio do procedimento rdsadmin.rdsadmin_util.grant_sys_object.

Privilégios do sistema​

Privilégio

Por que é necessário

CREATE SESSION

Conecte-se ao banco de dados.

SELECT ANY TRANSACTION

Leia o estado de transação pendente (gv$transaction) para limitar as leituras do LogMiner.

SELECT ANY DICTIONARY

Ler views de dicionário de dados usadas para descoberta de esquema e metadados.

LOGMINING

Execução do LogMiner (DBMS_LOGMNR.START_LOGMNR) para ler os logs de redo e de arquivo.

Privilégio

Por que é necessário

CREATE SESSION

Conecte-se ao banco de dados.

SELECT ANY TRANSACTION

Leia o estado de transação pendente (gv$transaction) para limitar as leituras do LogMiner.

SELECT ANY DICTIONARY

Ler views de dicionário de dados usadas para descoberta de esquema e metadados.

LOGMINING

Execução do LogMiner (DBMS_LOGMNR.START_LOGMNR) para ler os logs de redo e de arquivo.

Privilégios de acesso a dados​

O usuário de replicação precisa de SELECT em cada tabela que você replicar. Conceda-a com o procedimento GRANT_SELECT_PERMISSIONS da ferramenta de configuração (todas as tabelas em um esquema) ou com o procedimento GRANT_SELECT_ON_TABLE (tabelas específicas). Consulte Conceder privilégios SELECT em tabelas.

Privilégios de objeto​

A ferramenta de configuração concede EXECUTE ou SELECT nos seguintes objetos:

Objeto

Privilégio

DBMS_LOGMNR, DBMS_LOGMNR_D

EXECUTE

DBA_SEGMENTS

SELECT

RDSADMIN.RDS_CONFIGURATION

SELECT (necessário para RDS)

As seguintes views V_$ e seus equivalentes GV_$:

  • V_$TRANSACTION
  • V_$DATABASE
  • V_$CONTAINERS
  • V_$PDBS
  • V_$SESSION
  • V_$INSTANCE
  • V_$LOGFILE
  • V_$LOG
  • V_$ARCHIVED_LOG
  • V_$LOGMNR_CONTENTS
  • V_$PARAMETER

SELECT

Objeto

Privilégio

DBMS_LOGMNR, DBMS_LOGMNR_D

EXECUTE

DBA_SEGMENTS

SELECT

RDSADMIN.RDS_CONFIGURATION

SELECT (necessário para RDS)

As seguintes views V_$ e seus equivalentes GV_$:

  • V_$TRANSACTION
  • V_$DATABASE
  • V_$CONTAINERS
  • V_$PDBS
  • V_$SESSION
  • V_$INSTANCE
  • V_$LOGFILE
  • V_$LOG
  • V_$ARCHIVED_LOG
  • V_$LOGMNR_CONTENTS
  • V_$PARAMETER

SELECT

Dependência de SELECT ANY DICTIONARY​

A ferramenta de configuração concede SELECT ANY DICTIONARY, o que dá ao usuário de replicação acesso de leitura a todas as view de dicionário de dados e de desempenho dinâmico (V$/GV$), incluindo: No Runtime, o conector lê várias view nas quais a ferramenta não concede SELECT individualmente, e que são cobertas apenas por SELECT ANY DICTIONARY, incluindo:

  • GV$DATABASE_INCARNATION
  • V$ENCRYPTION_WALLET
  • V$RMAN_CONFIGURATION
  • V$VERSION
  • V$LOGMNR_LOGS
  • CDB_* views para tabelas, colunas e suas restrições.

If your security policy prevents granting SELECT ANY DICTIONARY, you must grant SELECT on these views (and the views in the object privileges table) explicitly. Otherwise, keep SELECT ANY DICTIONARY granted so the connector can read every view it depends on.

Acesso de container para ambientes CDB​

Para bancos de dados multi-tenant, a ferramenta realiza a execução do seguinte comando para que o usuário possa ler dados em todos os containers:

SQL
ALTER USER <username> SET CONTAINER_DATA=ALL CONTAINER=CURRENT;

os passos seguintes​

Criar uma conexão Oracle.