Aller au contenu principal

Exigences relatives aux utilisateurs de bases de données Oracle

info

Bêta

Cette fonctionnalité est en version bêta. Les administrateurs du Workspace peuvent contrôler l’accès à cette fonctionnalité depuis la page Aperçus . Voir Gérer les aperçus Databricks.

Cette page répertorie les privilèges requis par l’utilisateur de réplication Oracle pour l’ingestion dans Databricks.

Databricks recommande de créer un utilisateur de base de données exclusivement utilisé pour l’ingestion Databricks. L’ outil de configuration (dbx_oracle_setup_util) vous accorde les privilèges système et objet lorsque vous appelez GRANT_PERMISSIONS, et accorde les privilèges de table SELECT lorsque vous appelez GRANT_SELECT_PERMISSIONS ou GRANT_SELECT_ON_TABLE. Cette liste est fournie à des fins de référence et d’audit.

Pour les bases de données multi-tenant (CDB), l'outil de configuration accorde chaque privilège avec CONTAINER=ALL et définit CONTAINER_DATA=ALL sur l'utilisateur afin qu'il puisse lire les données de modification sur tous les conteneurs. Pour Amazon RDS, l'outil accorde des privilèges d'objet via la procédure rdsadmin.rdsadmin_util.grant_sys_object.

Privilèges système​

Privilège

Pourquoi est-ce requis

CREATE SESSION

Connectez-vous à la base de données.

SELECT ANY TRANSACTION

Lire l'état de la transaction en attente (gv$transaction) pour limiter les lectures LogMiner.

SELECT ANY DICTIONARY

Lire les vues du dictionnaire de données utilisées pour la découverte de schémas et de métadonnées.

LOGMINING

Exécutez LogMiner (DBMS_LOGMNR.START_LOGMNR) pour lire les logs redo et d'archive.

Privilège

Pourquoi est-ce requis

CREATE SESSION

Connectez-vous à la base de données.

SELECT ANY TRANSACTION

Lire l'état de la transaction en attente (gv$transaction) pour limiter les lectures LogMiner.

SELECT ANY DICTIONARY

Lire les vues du dictionnaire de données utilisées pour la découverte de schémas et de métadonnées.

LOGMINING

Exécutez LogMiner (DBMS_LOGMNR.START_LOGMNR) pour lire les logs redo et d'archive.

Privilèges d'accès aux données​

L’utilisateur de réplication a besoin de SELECT sur chaque table que vous répliquez. Accordez-le avec la procédure GRANT_SELECT_PERMISSIONS de l’outil de configuration (toutes les tables d’un schéma) ou la procédure GRANT_SELECT_ON_TABLE (tables spécifiques). Voir Accorder des privilèges SELECT sur des tables.

Privilèges d'objet​

L’outil de configuration accorde EXECUTE ou SELECT sur les objets suivants :

Objet

Privilège

DBMS_LOGMNR, DBMS_LOGMNR_D

EXECUTE

DBA_SEGMENTS

SELECT

RDSADMIN.RDS_CONFIGURATION

SELECT (requis pour RDS)

Les V_$ vues suivantes et leurs équivalents 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

Objet

Privilège

DBMS_LOGMNR, DBMS_LOGMNR_D

EXECUTE

DBA_SEGMENTS

SELECT

RDSADMIN.RDS_CONFIGURATION

SELECT (requis pour RDS)

Les V_$ vues suivantes et leurs équivalents 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

Dépendance à SELECT ANY DICTIONARY​

L'outil de configuration accorde SELECT ANY DICTIONARY, ce qui donne à l'utilisateur de réplication un accès en lecture à toutes les vues du dictionnaire de données et de performance dynamique (V$/GV$). À l'exécution, le connecteur lit plusieurs vues que l'outil n'accorde pas individuellement sur SELECT, et qui sont couvertes uniquement par SELECT ANY DICTIONARY, notamment :

  • GV$DATABASE_INCARNATION
  • V$ENCRYPTION_WALLET
  • V$RMAN_CONFIGURATION
  • V$VERSION
  • V$LOGMNR_LOGS
  • CDB_* vues pour les tables, les colonnes et leurs contraintes.

Si votre règle de sécurité empêche l'octroi de SELECT ANY DICTIONARY, vous devez accorder explicitement SELECT sur ces vues (ainsi que sur les vues du tableau des privilèges de l'objet). Sinon, laissez SELECT ANY DICTIONARY accordé afin que le connecteur puisse lire chaque vue dont il dépend.

Accès au conteneur pour les environnements CDB​

Pour les bases de données multi-tenant, l'outil exécute l'instruction suivante afin que l'utilisateur puisse lire les données dans tous les conteneurs :

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

Étapes suivantes​

Créer une connexion Oracle.