Oracle
支持的对端数据源及功能
请选择对端数据源,文档相关内容会根据对端数据源不同而调整。
选择对端:PostgreSQL
核心能力
功能 | PostgreSQL |
---|---|
结构迁移 | 是 |
全量数据迁移 | 是 |
增量实时同步 | 是 |
数据校验 | 是 |
数据订正 | 否 |
DDL实时同步 |
|
使用限制与注意点
项 | 说明 |
---|---|
无主键表迁移与同步 | 待同步的表需具备主键或唯一约束,且字段具有唯一性,否则可能会导致目标数据库中出现重复数据,例如无主键表的迁移与同步 |
字段类型与映射
Oracle | PostgreSQL |
---|---|
ANYDATA | Not Supported |
ANYDATASET | Not Supported |
ANYTYPE | Not Supported |
BFILE | Not Supported |
BINARY DOUBLE | numeric |
BINARY FLOAT | numeric |
BLOB | Not Supported |
CHAR | character |
CLOB | text |
DATE | timestamp without time zone |
DBURITYPE | Not Supported |
FLOAT | real |
HTTPURITYPE | character varying |
INTERVAL DAY TO SECOND | Not Supported |
INTERVAL YEAR TO MONTH | Not Supported |
LONG | text |
LONG RAW | Not Supported |
NCHAR | character |
NCLOB | text |
NESTED_TABLE | Not Supported |
NUMBER BIGINT | bigint |
NUMBER DECIMAL | numeric |
NVARCHAR | character varying |
NVARCHAR2 | character varying |
OBJECT | Not Supported |
ORDAUDIO | Not Supported |
ORDDICOM | Not Supported |
ORDDOC | Not Supported |
ORDIMAGE | Not Supported |
ORDVIDEO | Not Supported |
PLSQL_BOOLEAN | Not Supported |
RAW | Not Supported |
REF | Not Supported |
ROWID | character varying |
SDO_GEOMETRY | Not Supported |
SDO_GEORASTER | Not Supported |
SDO_TOPO_GEOMETRY | Not Supported |
SI_AVERAGE_COLOR | Not Supported |
SI_COLOR | Not Supported |
SI_COLOR_HISTOGRAM | Not Supported |
SI_FEATURE_LIST | Not Supported |
SI_POSITIONAL_COLOR | Not Supported |
SI_STILL_IMAGE | Not Supported |
SI_TEXTURE | Not Supported |
TIMESTAMP | timestamp without time zone |
TIMESTAMP WITH LOCAL TIME ZONE | timestamp with time zone |
TIMESTAMP WITH TIME ZONE | timestamp with time zone |
UROWID | Not Supported |
VARCHAR2 | character varying |
VARRAY | Not Supported |
XDBURITYPE | Not Supported |
XMLTYPE | xml |
必要条件
必要条件 | 说明 |
---|---|
账号权限 | 见:Oracle需要的权限 |
数据源添加参数说明
项名称 | 说明 |
---|---|
网络地址 | 类型分为内网地址和外网地址。一个数据源可以包含一个内网地址和一个外网地址。网络地址格式为ip地址和port。默认添加的为内网地址,需要添加外网地址可以点击右侧+号 |
连接方式 | 支持SID、ServiceName、TNS、PDB连接方式 |
认证方式 | 支持选择不同的认证方式,例如有账号无密码或者无账号无密码 |
账号 | 数据库服务端账号 |
密码 | 数据库服务端密码 |
描述 | 非必填项,填写描述信息,方便管理数据源 |
物理位置 | 物理位置仅仅是一个标记,在管理多地域数据库时方便识别 |
额外参数
额外参数保留数据源的一些额外参数,一般都是数据源本身类型独有的参数。
项名称 | 说明 |
---|---|
logminerUser | ORACLE源端增量任务使用redo解析(logminer)方式时使用的账号,需要CDB类型用户 |
logminerPasswd | ORACLE源端增量任务使用redo解析(logminer)方式时使用的账号密码 |
logminerConnectType | ORACLE源端增量任务使用redo解析(logminer)方式时使用的连接方式,目前支持ORACLE_SID或ORACLE_SERVICE模式 |
logminerSidOrService | ORACLE源端增量任务使用redo解析(logminer)方式时使用的连接标识符,和logminerConnectType参数配合使用,ORACLE_SID连接方式,则填写sid,ORACLE_SERVICE连接方式,则填写service name |
常用源端任务参数
参数名称 | 说明 |
---|---|
filterDDL | 设置为true时将不会同步源端产生的DDL SQL |
dbHeartbeatEnable | 默认为false,设置为true允许CloudCanal定时向源端执行dbHeartbeatOp参数指定的SQL,从而避免源端实例没有任何变更时,增量任务会延迟的问题。 |
oraBuildRedoDicStrategy | Oracle redo 字典创建策略,INTERVAL_HOUR 表示按小时间隔创建,TIMES_PER_DAY 表示每天固定时间点创建 ,两者具体值由 oraBuildDicValue 参数确定 |
oraMiningSessionPauseSec | 使用Logminer挖掘日志间隙停顿时间,单位为秒 |
Tips: 所有数据源均有的通用参数配置请参考 通用参数配置
高级功能
开启心跳
CloudCanal 提供了 ORACLE 源端的心跳能力,以解决无任何数据写入时的位点延迟问题。
功能通过定时更新心跳表实现,对数据库有一定侵入,如需添加,请给到账号相应的写权限。
步骤
源 schema 中添加
__CC_HB_TAB
表(或其他名字)。create table "__CC_HB_TAB"
(
ID NUMBER(6) NOT NULL,
GMT_MODIFIED DATE DEFAULT sysdate NOT NULL,
PRIMARY KEY (ID)
);
insert into "__CC_HB_TAB" (ID, GMT_MODIFIED) VALUES (1,sysdate));在CloudCanal上创建好任务。
任务详情>参数配置,将 dbHeartbeatEnable 设置为true,并设置相应的心跳语句。
- 语句参考如下
update "__CC_HB_TAB" set GMT_MODIFIED=SYSDATE where ID=1;