自建Oracle到自建Oracle
一、支持版本
- Oracle数据库的版本为11g、12c版本
 - 支持不同版本数据库同步
 - 支持RAC多实例和普通单实例Oracle数据库
 
二、注意事项
2.1数据库权限设置
(即同步数据库账号的权限要求)
- 源数据库要求
- 库表结构最小权限
- CONNECT、RESOURCE权限
 
 - 全量最小权限
- CONNECT、RESOURCE权限
 
 - 增量最小权限
- CONNECT、RESOURCE、SELECT ANY TABLE、SELECT ANY DICTIONARY、LOGMINING、SELECT ANY TRANSACTION权限
 
 
 - 库表结构最小权限
 - 目标数据库要求
- 需要有CONNECT、RESOURCE、DBA权限
 
 
2.2源库要求
- 同步对象要求:
- 待同步的表需具备主键或唯一约束,且字段具有唯一性,否则可能会导致目标数据库中出现重复数据
 - 不支持浮点数类型列作为主键
 
 - 目前实现的是表级同步。如果表太多,建议您分批配置多个任务,每个任务同步一部分表。
 - 在同步全量时,不要变更库及表结构。
 - 全量同步支持分片,分片仅支持单主键表格,支持列类型为char、number、float、double、binary_float、binary_double、date、timestamp、interval
 - 数据库配置限制:
- Oracle数据库已开启ARCHIVELOG(归档模式),设置合理的归档日志保持周期且归档日志能够被访问
 - Oracle数据库已开启Supplemental Logging,开启数据库级补全日志或者表级补全日志(all)。为减少资源消耗,可以不用all级别而改为primary key级别
 - 需要开启Logminer
 
 
2.3目标库要求
- 目的库相关(用户名充当库名)必须存在
 - 目的库的版本需要不低于源表
 
2.4功能约束
2.4.1同步对象约束
支持表结构、全量、增量dml(不支持ddl),不支持主键列更新。
2.4.2 其他约束
三、支持的字段类型
支持基本字段类型采集:char、number、float、binary_float、binary_double、date、timestamp、interval
四、支持同步的SQL语句
| 操作类型 | SQL操作语句 | 备注 | 
|---|---|---|
| DML | INSERT、DELETE、UPDATE | 
五、支持的拓扑
- 一对一单向同步