Accéder au contenu principal Passer au contenu complémentaire

Prérequis pour le mode XStream

Avant de commencer

Avant de procéder à la configuration de CDC à l'aide du mode XStream dans le Studio Talend, l'administrateur de la base de données Oracle doit effectuer les tâches suivantes :
  1. Activez le mode archive log dans le mode XStream d'Oracle.

  2. Ouvrez toutes les PDB pour une CDB dans Oracle ;

  3. Configurez un administrateur XStream.

Activer le mode archive log dans le mode XStream d'Oracle

Procedure

  1. Connectez-vous à la base de données Oracle en tant qu'administrateur et exécutez la requête suivante afin d'afficher les informations d'archivage de la base de données :
    archive log list;
  2. Si la base de données n'est pas en mode archive log, exécutez les requêtes suivantes afin d'activer le mode archive log :
    shutdown immediate;
                      startup mount;
                      alter database archivelog;
                      alter database open;

Ouvrez toutes les PDB pour une CDB dans Oracle

Lors de la configuration de XStream, si la base de données Oracle est une base de données de conteneurs (CDB), vous devez vous assurer que toutes les bases données enfichables (PDB) de la CDB sont ouvertes en mode lecture/écriture.

Procedure

  • Pour voir le mode d'ouverture des PDB, connectez-vous à la base de données Oracle en tant qu'administrateur et exécutez la requête suivante :
    select con_id, dbid, guid, name, open_mode from v$pdbs;
  • Afin d'ouvrir les PDB, connectez-vous à la base de données Oracle en tant qu'administrateur et exécutez la requête suivante :
    alter pluggable database all open;

Configurez un administrateur XStream

About this task

Afin de configurer un administrateur XStream, connectez-vous à la base de données Oracle en tant qu'administrateur ayant les droits pour créer des utilisateurs et des utilisatrices, accorder des privilèges et créer des tablespaces.

Procedure

  1. Créez un tablespace pour l'administrateur XStream en exécutant la requête suivante. Passez cette étape si vous souhaitez utiliser un tablespace existant.
    CREATE TABLESPACE xstream_tbs DATAFILE '$ORACLE_HOME/dbs/xstream_tbs.dbf' SIZE 25M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
  2. Créez un·e nouvel·le utilisateur·rice pour l'administrateur XStream en exécutant les requêtes suivantes. Passez cette étape si vous souhaitez identifier un utilisateur ou une utilisatrice existant.
    CREATE USER username IDENTIFIED BY password
                         DEFAULT TABLESPACE xstream_tbs
                         QUOTA UNLIMITED ON xstream_tbs;
    Note InformationsNote:
    • Si vous créez un administrateur XStream dans une CDB, l'administrateur XStream doit être un utilisateur ou une utilisatrice commun. Le nom d'un utilisateur ou d'une utilisatrice commun doit commencer par c## ou C## et vous devez inclure la clause CONTAINER=ALL dans la requête.

    • Si vous créez un administrateur XStream à l'aide du tablespace par défaut d'Oracle, vous devez supprimer les clauses DEFAULT TABLESPACE et QUOTA UNLIMITED ON de la requête.

  3. Accordez des privilèges à l'administrateur XStream en exécutant les requêtes et procédures suivantes :
    GRANT DBA TO username;
                         GRANT CONNECT, CREATE TABLE TO username;
                         GRANT RESOURCE TO username;
                         GRANT CREATE TABLESPACE TO username;
                         GRANT UNLIMITED TABLESPACE TO username;
                         GRANT SELECT_CATALOG_ROLE TO username;
                         GRANT EXECUTE_CATALOG_ROLE TO username;
                         GRANT CREATE SEQUENCE TO username;
                         GRANT CREATE SESSION TO username;
                         GRANT CREATE ANY VIEW TO username;
                         GRANT CREATE ANY TABLE TO username;
                         GRANT SELECT ANY TABLE TO username;
                         GRANT COMMENT ANY TABLE TO username;
                         GRANT LOCK ANY TABLE TO username;
                         GRANT SELECT ANY DICTIONARY TO username;
                         GRANT EXECUTE ON SYS.DBMS_CDC_PUBLISH to username;
                         GRANT CREATE ANY TRIGGER TO username;
                         GRANT ALTER ANY TRIGGER TO username;
                         GRANT DROP ANY TRIGGER TO username;
    BEGIN
                         DBMS_XSTREAM_AUTH.GRANT_ADMIN_PRIVILEGE(
                         grantee => 'username',
                         privilege_type => 'CAPTURE',
                         grant_select_privileges => TRUE);
                         END;
                         /
    BEGIN
                         DBMS_XSTREAM_AUTH.GRANT_ADMIN_PRIVILEGE(
                         grantee => 'username',
                         privilege_type => 'APPLY',
                         grant_select_privileges => TRUE);
                         END;
                         /

Results

Notez que si vous accordez des privilèges à un utilisateur ou une utilisatrice commun, vous devez inclure la clause CONTAINER=ALL dans les requêtes et procédures GRANT précédentes.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – faites-le-nous savoir.