源端Oracle准备
同步前需要在源库构造一些数据类型,供同步完成后验证数据。
DRS支持的数据类型如下所示:
数据类型(Oracle) |
条件 |
数据类型(DDM) |
是否支持映射 |
---|---|---|---|
CHAR(n) |
n<=255 |
CHAR(n) |
支持 |
CHAR(n) |
n>255 |
VARCHAR(n) |
支持 |
VARCHAR(Size) |
Size(整行)<=65535 |
VARCHAR(n) |
支持 |
VARCHAR(Size) |
Size(整行)>65535 |
TEXT |
支持 |
VARCHAR2(n) |
- |
VARCHAR(n) |
支持 |
NCHAR(n) |
n<=255 |
NCHAR(n) |
支持 |
NCHAR(n) |
n>255 |
NVARCHAR(n) |
支持 |
NVARCHAR2(n) |
- |
NVARCHAR(n) |
支持 |
NUMBER(p,s) |
s>0 |
NUMBER(p,s) |
支持 |
NUMBER(p,s) |
s<=0 |
NUMBER(p-s,0) |
支持 |
BINARY_FLOAT |
- |
FLOAT |
支持 |
BINARY_DOUBLE |
- |
DOUBLE |
支持 |
FLOAT(b) |
b<=99 |
DECIMAL(b*0.30103*2,b*0.30103) |
支持 |
FLOAT(b) |
b>99 |
DOUBLE |
支持 |
DATE |
- |
DATETIME |
支持 |
TIMESTAMP |
- |
TIMESTAMP |
支持 |
TIMESTAMP WITH LOCAL TIME ZONE |
- |
TIMESTAMP |
支持 |
TIMESTAMP WITH TIME ZONE |
- |
TIMESTAMP |
支持 |
INTERVAL |
增量 |
VARCHAR(30) |
不支持 |
INTERVAL |
全量,精度支持6位。 |
VARCHAR(30) |
支持 |
BLOB |
- |
LONGBLOB |
支持 |
CLOB |
- |
LONGTEXT |
支持 |
NCLOB |
- |
LONGTEXT |
支持 |
LONG |
- |
LONGTEXT |
支持 |
LONG_RAW |
- |
LONGBLOB |
支持 |
RAW |
- |
VARBINARY |
支持 |
ROWID |
- |
VARCHAR(18) |
支持 |
执行如下步骤在源库构造数据:
- 根据本地的Oracle数据库的IP地址,通过数据库连接工具连接数据库。
- 根据支持的数据类型,在源库执行语句构造数据。
- 创建一个测试用的用户。
create user test_info identified by xxx;
test_info为本次实践创建的用户,xxx为用户的密码,请根据实际情况替换。
- 给用户赋权。
grant dba to test_info;
- 在当前用户下创建一个数据表。
CREATE TABLE test_info.table3( ID INT, COL01 CHAR(100), COL02 NCHAR(100), PRIMARY KEY(ID) );
- 插入两行数据。
insert into test_info.table3 values(4,'huawei','xian');
insert into test_info.table3 values(2,'DRS-test','test1');
insert into test_info.table3 values(1,'huawei','xian');
- 使语句生效。
- 创建一个测试用的用户。