# Prerequisites for the Oracle Redo/Archive log mode

## Before you begin

The CDC feature uses Java. Therefore, make sure Java is enabled when you install Oracle database.

The CDC feature in this mode for Oracle is available with the Oracle database version 11 only. It is not available with Oracle database version 12 and above.

Before being able to use CDC in Redo/Archive log mode in Talend Studio, the administrator of the database to be supervised should do the following:

## Procedure

1. Activate the active log mode in the Oracle database.
2. Set up CDC in the Oracle database.
3. Create and give all rights to the source user.
4. Create and give all rights to the publisher.

## Activate the archive log mode in Oracle

### Procedure

1. Connect to the Oracle database as an administrator.
2. Enter the following queries:
   ```
   connect / as sysdba;
   shutdown;
   startup exclusive mount;
   alter database archivelog;
   alter database open;
   ```

## Set up CDC in Oracle

### Procedure

1. Create a tablespace for the source user and the publisher respectively.

   In the example below, the $ORACLE\_PATH varies depending on where Oracle is installed:
   ```
   create tablespace SOURCE datafile '$ORACLE_PATH/oradata/Oracle/SOURCE.dbf' size 50M;
   ```
2. Create a source user, and give it all the rights necessary to make modifications.

   In the example below, the source user is called source:
   ```
   create user source
   identified by source
   default tablespace SOURCE 
   quota unlimited on SOURCE;
   ```
   ```
   grant connect, create table to source;
   grant unlimited tablespace to source;grant select_catalog_role to source;
   grant execute_catalog_role to source;
   grant create sequence to source;
   grant create session to source;
   grant dba to source;
   grant execute on SYS.DBMS_CDC_PUBLISH to source;
   ```
   ```
   create tablespace PUBLISHER datafile '$ORACLE_PATH/oradata/Oracle/PUBLISHER.dbf' size 50M;
   ```
3. Create a publisher, and give it all the rights necessary to capture and publish modifications.

   In the example below, the publisher is called publisher:
   ```
   create user publisher
   identified by publisher
   default tablespace PUBLISHER
   quota unlimited on PUBLISHER;
   ```
   ```
   grant connect, create table to publisher;
   grant unlimited tablespace to publisher;
   grant select_catalog_role to publisher;
   grant execute_catalog_role to publisher;
   grant create sequence to publisher;
   grant create session to publisher;
   grant dba to publisher;
   grant execute on SYS.DBMS_CDC_PUBLISH to publisher;
   execute DBMS_STREAMS_AUTH.GRANT_ADMIN_PRIVILEGE(GRANTEE=>'publisher');
   ```

   Information noteNote: You can find below more information about the different procedure used above:
   * The select\_catalog\_role procedure allows the publisher to consult all Oracle dictionaries.
   * The execute\_catalog\_role procedure allows the publisher to execute the dictionary procedures.
   * The SYS.DBMS\_CDC\_PUBLISH procedure allows the publisher to configure the CDC system that will capture and publish change data in one or more source tables.
   * The procedure: DBMS\_STREAMS\_AUTH.GRANT\_ADMIN\_PRIVILEGE(GRANTEE=&gt;'publisher')gives the user the administration privileges necessary to carry out data replication (stream). The GRANT\_ADMIN\_PRIVILEGE procedure allows the user to carry out data capture and propagation operations.