Replication Agent for Oracle processes Oracle transactions and passes data to the primary Replication Server. In turn, the primary Replication Server uses the datatype formats specified in the replication definition to receive the data from Replication Agent for Oracle.
You can define a column that is CHAR or VARCHAR2 as char or varchar datatype respectively in the replication definition. If the primary database character set is different from the Replication Server character set, you must define the column as varchar datatype in the replication definition and make sure that the size (in bytes) is large enough to accommodate maximum size of characters in the primary database column.
For example, if the character encoding is UTF-16 for the primary database (Oracle) and UTF-32 for Replication Server, and if a column is CHAR(10) or VARCHAR2(10) in the primary database, define the datatype as varchar(20) in the replication definition.
If the replication definition is automatically created by Replication Agent, Replication Agent can measure the correct size of the datatype and perform accurate datatype mapping.
Oracle Datatype |
Oracle Length/Range |
Sybase Datatype |
Sybase Length/Range |
Notes |
---|---|---|---|---|
BINARY_DOUBLE |
9 bytes, 64-bit single precision floating point number datatype |
double |
8 bytes |
|
BINARY_FLOAT |
5 bytes, 32-bit single precision floating point number datatype |
rs_oracle_float |
4 or 8 bytes, depending on precision |
|
BLOB |
4GB, variable-length binary large object |
image |
2GB |
|
BOOLEAN |
1 byte |
rs_oracle_decimal |
17 bytes. |
The BOOLEAN datatype is only for use with PL/SQL. |
CHAR |
2000 bytes |
char |
32K |
Note: If the primary database character set is different from
the Replication Server character set, define CHAR column as
varchar datatype in the replication definition.
|
CLOB |
4GB, variable-length character large object |
image or unitext |
2GB |
For Replication Server 15.0 and later versions, the CLOB datatype maps to unitext. For earlier versions of Replication Server, the NCLOB datatype maps to image. |
DATE |
8 bytes, fixed-length |
datetime or rs_oracle_datetime |
8 bytes |
Replication Server supports dates from January 1, 1753 to December 31, 9999. Oracle supports dates from January 1, 4712 BC to December 31, 9999 AD. Note: Use the Replication Server heterogeneous datatype support
(HDS) feature for datatype conversion and translation.
|
INTERVAL DAY(n) TO SECOND(n) |
Variable-length |
rs_oracle_interval |
||
INTERVAL YEAR(n) TO MONTH |
Variable-length |
rs_oracle_interval |
||
LONG |
2GB, variable-length character data |
text |
||
LONG RAW |
2GB, variable-length binary data |
image |
||
NCHAR |
2000 bytes, multibyte characters |
unichar or char |
32K |
|
NCLOB |
4GB, variable-length multibyte character large object |
unitext or text |
2GB |
For Replication Server 15.0 and later versions, the NCLOB datatype maps to unitext. For earlier versions of Replication Server, the NCLOB datatype maps to image. |
NUMBER (p,s) |
21 bytes, variable-length numeric data |
float, int, real, number, decimal, or rs_oracle_decimal |
float is 4 or 8 bytes. int is 4 bytes. real is 4 bytes. number and decimal are 2 to 17 bytes. |
The float datatype can convert to scientific notation if the range is exceeded. Integers (int) are truncated if they exceed the Replication Server range of 2,147,483,647 to -2,147,483,648 or 1x10-130 to 9.99x1025. The number and decimal datatypes are truncated if they exceed the range of -1038 to 1038-1. Oracle precision ranges from 1 to 38 digits. Default precision is 18 digits. Oracle scale ranges from -84 to 127. Default scale is 0. |
NVARCHAR2 |
4000 bytes, variable-length, multibyte character data |
univarchar or varchar |
32K |
|
RAW |
2000 bytes, variable-length binary data |
rs_oracle_binary |
32K |
|
ROWID |
10 bytes, binary data representing row addresses |
rs_oracle_rowid |
32K |
|
SIMPLE_INTEGER |
4 bytes representing signed integers |
integer |
SIMPLE_INTEGER is new as of Oracle 11g and is only for use with PL/SQL. Note:
Marking procedures with PLS_INTEGER and predefined
PL/SQL numeric datatypes other than SIMPLE_INTEGER is not
supported.
|
|
TIMESTAMP(n) |
21-31 bytes, variable-length |
datetime or rs_oracle_timestamp9 |
8 bytes |
Replication Server supports dates from January 1, 1753 to December 31, 9999. Oracle supports dates from January 1, 4712 BC to December 31, 4712 AD. Note: Use the Replication Server heterogeneous datatype support
(HDS) feature for datatype conversion and translation.
|
TIMESTAMP(n) WITH [LOCAL] TIME ZONE |
Variable-length |
rs_oracle_timestamptz |
||
UDD object type |
Variable-length character data |
rs_rs_char_raw |
32K |
|
VARCHAR2 |
4000 bytes, variable-length character data |
varchar |
32K |
|
XMLTYPE |
4GB, variable-length character large object |
text |
2GB |
XMLTYPE data is implicitly handled as Oracle CLOB data. |