
# 源端Oracle准备
同步前需要在源库构造一些数据类型，供同步完成后验证数据。
DRS支持的数据类型如下所示：
表1数据类型映射关系 
| **数据类型** **（** **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)                       | 支持         |
   
执行如下步骤在源库构造数据：
1. 根据本地的Oracle数据库的IP地址，通过数据库连接工具连接数据库。
2. 根据支持的数据类型，在源库执行语句构造数据。 
   1. 创建一个测试用的用户。
      ```
      create user test_info identified by xxx;
      ```
      test_info为本次实践创建的用户，xxx为用户的密码，请根据实际情况替换。
      
   
   2. 给用户赋权。
      ```
      grant dba to test_info;
      ```
      
   
   3. 在当前用户下创建一个数据表。
      ```
      CREATE TABLE test_info.table3(
      ID INT,
      COL01 CHAR(100),
      COL02 NCHAR(100),
      PRIMARY KEY(ID)
      );
      ```
      
   
   4. 插入两行数据。 **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');**
      
   
   5. 使语句生效。 **commit;**
      
   
   
   
   
 
