Oracle as a Target

Prev Next

Note
When using Replicate Preview, only Snapshot (also known as Refresh) replication is supported. Please ensure that you follow the guidelines specific to Refresh replication in this database system. To utilize other replication types, use the desktop version of the application and refer to the corresponding information to those replication methods.

Overview

This article describes the setup process using Oracle as a target system in a replication using Refresh or Mirroring mode.

User Permissions

When setting up replications that use Oracle as a source database, you need to be sure that the user ID used for making connections to the database has sufficient privileges to complete all the operations required for Syniti Replicate to perform a replication.

The following user permissions are required when using Oracle as a Source in Refresh (Snapshot) mode:

  • AUTHORITY TO CONNECT TO DATABASE: This should already be granted when the user is created.

  • AUTHORITY TO SELECT TABLES: Syniti Replicate runs a SELECT statement to identify records to replicate. Therefore, the user ID used to make a connection must have adequate authority to run a SELECT statement for tables involved in replication. The command is not needed if the user is the owner of the table (i.e., created the table.)

  • AUTHORITY TO UPDATE TABLES, CREATE TABLES: To create a target table in the Management Center (as part of the Create Table Wizard), Syniti Replicate requires the permissions below. You first need to grant a quota on the tablespace in which you want to create a table or index. You can either grant unlimited tablespace to the user:

    grant unlimited tablespace to <uid>; 
  • AUTHORITY TO DROP TABLES, ALTER TABLES: The use of these commands from within Syniti Replicate is entirely optional (i.e. not necessary for running a refresh replication.) They are used if you choose to remove a table from Oracle or change the table via the Management Center SQL Query tab.

grant create session to replicate_user; or grant connect to replicate_user;
grant select on SYS.ALL_USERS to replicate_user;
grant select on SYS.ALL_TABLES to replicate_user;
grant select on SYS.ALL_TAB_COMMENTS to replicate_user;
grant select on SYS.ALL_OBJECTS to replicate_user;
grant select on SYS.ALL_VIEWS to replicate_user;
grant select on SYS.ALL_TAB_COLUMNS to replicate_user;
grant select on SYS.ALL_COL_COMMENTS to replicate_user;
grant select on SYS.ALL_CONSTRAINTS to replicate_user;
grant select on SYS.ALL_CONS_COLUMNS to replicate_user;
grant select on SYS.ALL_IND_COLUMNS to replicate_user;
grant select on SYS.ALL_INDEXES
grant select on SYS.USER_CONSTRAINTS to replicate_user;
grant select on SYS.USER_CONS_COLUMNS to replicate_user;
grant select on <tables_name> to replicate_user;
grant create on <table> to replicate_user;
grant insert, update, delete on <table> to replicate_user;
grant alter on <table> to replicate_user;
grant drop on <table> to replicate_user;

Data Type Mapping

When Oracle is used as a target system, the following is the mapping of Syniti Replicate data types to the corresponding data type in Oracle.

Replicate Mapping

Oracle

AutoDecimal

number

AutoInteger

number(10)

AutoNumeric

number

AutoSmallint

number(5)

AutoTinyint

number(3)

Bigint

number(19)

Binary

raw

Bit

number(1)

Blob

blob

Char

char

Clob

clob

Date

date

Decimal

number

Double maxVersion="9.9999.9999"

number

Double minVersion="10.0000.0000"

binary_double, binary_float

Float maxVersion="9.9999.9999"

number

Float minVersion="10.0000.0000"

binary_float

Geography

sdo_geometry

Geometry

sdo_geometry

GUID

raw(16)

Integer min_prec="5" max_prec="9"

number

Json

clob

LongVarbinary maxVersion="8.9999.9999"

long raw

LongVarbinary minVersion="9.0000.0000"

blob, long raw

LongVarchar maxVersion="8.9999.9999"

long

LongVarchar minVersion="9.0000.0000"

clob, long

Money

number(20,2)

NChar

nchar

NText maxVersion="7.9999.9999"

clob

NText minVersion="8.0000.0000"

nclob

Number

number, float

Numeric min_prec="1" max_prec="38" min_scale="0"

number

NVarchar

nvarchar2

Real maxVersion="9.9999.9999"

number

Real minVersion="10.0000.0000"

binary_float

Smalldatetime

date

Smallint min_prec="1" max_prec="4"

number

Smallmoney

number(10,2)

Sysname maxVersion="7.9999.9999"

varchar2(128)

Sysname minVersion="8.0000.0000"

nvarchar2(128)

Time

date

TimeInterval

timestamp

Timestamp maxVersion="8.9999.9999"

date

Timestamp minVersion="9.0000.0000"

timestamp

TimestampZ maxVersion="8.9999.9999"

date

TimestampZ minVersion="9.0000.0000"

timestamp with time zone

Tinyint

number(3)

Varbinary

raw

Varchar

varchar2, varchar

Xml

xmltype