上云无忧 > 文档中心 > 百度智能云数据传输服务 DTS 将Oracle作为源端
数据传输服务 DTS
百度智能云数据传输服务 DTS 将Oracle作为源端

文档简介:
本文适用于使用百度智能云数据传输服务DTS(以下简称 DTS),将自建 Oracle 实例中的数据迁移至 DTS 已经支持的数据目标端的场景。增量同步不支持同步关系型数据库的DDL语句。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠

1 适用场景

本文适用于使用百度智能云数据传输服务DTS(以下简称 DTS),将自建 Oracle 实例中的数据迁移至 DTS 已经支持的数据目标端的场景。

2 将Oracle数据库作为DTS源的限制

  • 增量同步不支持同步关系型数据库的DDL语句。
  • 如果源库中待迁移的表没有主键或唯一约束,且所有字段没有唯一性,可能会导致目标数据库中出现重复数据。注意:增量同步使用物化视图日志(mlog)方案时,不支持无主键表的迁移。
  • 增量同步使用物化视图日志(mlog)方案时:若需要同时选择全量和增量迁移,源端不可存在迁移表相关的物化视图日志;若只选择增量迁移,需要提前在源端创建迁移表相关的物化视图日志。
  • 增量同步使用归档日志(logminer)方案时:需按要求开启归档模式和Supplemental Logging,详情可见下文:对象映射配置

3 将Oracle数据库作为DTS源的前置条件

3.1 环境要求

DTS支持将Oracle 10g、11g、12c(需使用PDB连接模式)、18c(需使用PDB连接模式)、19c(需使用PDB连接模式)版本自建数据库作为源。

3.2 数据库账号权限要求

源端:

数据库 结构迁移 全量迁移 增量迁移
自建Oracle数据库 DBA权限 DBA权限 DBA权限

自建Oracle数据库,数据库账号创建及授权方法请参见CREATE USER和GRANT语法。

4 使用Oracle数据库作为DTS源

使用Oracle数据库作为源,在任务创建、任务配置、前置检查、任务启动、任务暂停、任务终止的操作流程请参考最佳实践文档。 在任务配置参数部分与其他数据源有些许不同。

连接设置

如上图所示,目前DTS的源端支持自建Oracle实例,Oracle源端配置参数说明如下:

接入类型:支持公网、云服务器BCC、物理服务器BBC和专属服务器DDC的自建Oracle实例

数据类型:固定选择Oracle

主机名/IP:填写Oracle数据库的访问IP

端口:填写Oracle数据库的服务端口

账号:填写Oracle数据库的数据库账号

密码:填写Oracle数据库账号对应的密码

Service Name:填写Oracle实例的Service Name或SID

导出类型:指定DTS服务从Oracle读取数据所采用的字符集,可选值为:"默认"、"UTF8" 和"GBK";选择"默认"时,DTS将使用下列语句查询得到的Oracle实例使用的字符集作为导出类型。

select userenv('language') as charset from dual

填写完成后可以点击"测试连通性"按钮验证填入的信息是否正确。

对象映射

点击"授权白名单进入下一步"按钮,进入迁移对象选择页面。

  • 在该页面,可以根据实际需求选择组合结构迁移、全量迁移和增量同步。
  • 若选择了增量同步,可以指定增量同步过程中同步的SQL语句类型,当前可选的SQL语句类型包含:INSERT、UPDATE、DELETE,不支持DDL语句的迁移,如下图所示。

  • 如上图所示,增量同步当前支持两种可选的迁移方案:物化视图日志(mlog)方案和归档日志方案(logminer)。若选择归档日志(logminer)方案,需要满足如下要求:

    • Oracle数据库需开启归档模式(ARCHIVELOG),详情请见ARCHIVELOG。
    • Oracle数据库需开启Supplemental Logging,且要求开启数据库级别的Minimal Supplemental Logging,对同步表要求开启ALL COLUMN LOGGING,详情请见Supplemental Logging。
  • 传输对象当前仅支持"手动选择"。在页面左边选上需要迁移的库表,库表信息将会被自动添加到页面右边;点击对应库表名旁的"编辑"按钮可以设置库表名映射、行过滤、列黑白名单过滤等功能,如下图所示。

  • 上述配置完成后,点击"保存并预检查"可开始预检查操作。

5 DTS支持的Oracle源数据类型

下表列出了使用 DTS 时支持的 Oracle 源数据类型以及与 DTS 数据类型的默认映射。

有关如何查看目标端映射的数据类型的信息,请参阅有关目标端数据源的数据类型映射部分。

Oracle数据类型 DTS字段类型 DTS是否支持
number DTS_TYPE_NUMBER 支持
binary_float DTS_TYPE_NUMBER(precision=65,scale=8) 支持
binary_double DTS_TYPE_DOUBLE 支持
float DTS_TYPE_DOUBLE 支持
char DTS_TYPE_STRING 支持
varchar2 DTS_TYPE_STRING 支持
nchar DTS_TYPE_STRING 支持
nvarchar2 DTS_TYPE_STRING 支持
clob DTS_TYPE_STRING 支持
nclob DTS_TYPE_STRING 支持
blob DTS_TYPE_BYTES 支持
raw DTS_TYPE_BYTES 支持
long raw DTS_TYPE_BYTES 支持
long DTS_TYPE_STRING 支持
date DTS_TYPE_DATETIME 支持
timestamp DTS_TYPE_DATETIME 支持
timestamp with time zone - 不支持
timestamp with local time zone - 不支持
interval year to month - 不支持
interval day to second - 不支持
bfile - 不支持
xmltype - 不支持
rowid - 不支持
urowid - 不支持
sdo_geometry - 不支持
相似文档
  • 本文适用于使用百度智能云数据传输服务DTS(以下简称DTS),将自建MySQL实例或云数据库RDS MySQL实例中的数据迁移至DTS已经支持的数据目标端的场景。 如果源库中待迁移的表没有主键或唯一约束,且所有字段没有唯一性,可能会导致目标数据库中出现重复数据。
  • 下表列出了使用 DTS 时支持的 Mysql 数据类型以及与 DTS 数据类型的默认映射。 如果定长 && 字节长度 <= 255 字节使用 BINARY ; 如果字节长度 <= 65536 字节使用 VARBINARY ; 如果字节长度 <= 16,777,215 字节使用 MEDIUMBLOB ; 其他使用 LONGBLOB
  • 本文适用于使用百度智能云数据传输服务DTS,将DTS已经支持的数据源迁移至PostgreSQL目标端中的场景。 将PostgreSQL数据库作为DTS目标端的限制: 不支持非PostgreSQL数据库至PostgreSQL数据库的结构迁移。
  • 本文适用于使用百度智能云数据传输服务DTS,将DTS已经支持的数据源迁移至Palo目标端中的场景。 将Palo数据库作为DTS目标端的限制:不支持结构迁移。 Palo数据库:LOAD_PRIV:对指定的库或表的导入权限。
  • 本文适用于使用百度智能云数据传输服务DTS(以下简称 DTS),将DTS已经支持的数据源迁移至Elasticsearch目标端中的场景。 不支持结构迁移。 增量同步不支持同步关系型数据库的DDL语句。
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部