1. 概述
1.1 版本
| FineDataLink版本 | 功能变动 |
|---|---|
| 4.0 | 定时任务读写适配 Oracle |
| 4.1.14.1 | 数据连接支持配置套接字超时(SocketTimeout 设置项中配置),控制数据库查询时间在一个合理范围内,避免出现无限等待的问题 |
| 4.2.11.4 | 来源端选择 Oracle、读取方式选择 LogMiner、且同步方式为仅增量同步时,增量同步起点支持选择「自定义时间」 |
| 历史版本更新 | ||||||||||||||
|
1.2 应用场景
FineDataLink 支持连接 Oracle ,进行定时任务读写、管道任务读写、数据服务发布、实时任务读写
2. 配置数据连接
2.1 前提条件
详情请参见:前提条件
2.2 版本和驱动
| 支持的数据库版本 | 驱动包下载 |
|---|---|
Oracle 11.1 Oracle 11.2 / 11g-R2 Oracle 12.1 / 12c-R1 Oracle 12.2 / 12c-R2 Oracle 13 及以上 | 已内置,无需下载 |
Oracle 9.2.0 / 9i Oracle 10.1 Oracle 10.2 / 10g-R2 | 上传驱动包的具体步骤可参见:驱动管理 |
| Oracle 19c 及以上 | 推荐使用最新的驱动包,驱动包下载详情参见:驱动下载,选择指定版本的 ojdbc8.jar 注:上传前需要先关闭工程,在%FineDataLink%/webapps/webroot/WEB-INF/lib 下将原先的 ojdbc8 jar删除,然后替换成新的驱动后再重启工程。 |
2.3 具体连接步骤
2.3.1 方案一:thin 方式
若用户需要使用该数据连接进行数据开发任务、数据服务任务或者 LogMiner 模式的数据管道,则使用如下方案。
创建数据连接步骤请参见:创建并管理数据源
部分设置项说明:

部分设置项介绍如下表所示:
| 设置项 | 说明 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 若驱动是内置的,选择「默认」;若驱动是自己上传的,可以选择「自定义」,勾选自己要的驱动。 注:由于 Oracle 数据库区分大小写,请在填写相关信息时,注意大小写,与数据库实际名称、模式保持一致。 | |||||||||||
| 驱动、数据库名称、URL |
TNSName 说明如下: jdbc:oracle:thin:@TNSName URL 中,TNSName 的值为tnsnames.ora文件中 ORCL 的值,如下图所示:
完整的 URL 为:jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST =(ADDRESS=(PROTOCOL=TCP)(HOST =localhost)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=orcl))) | ||||||||||
| SocketTimeout (4.1.14.1 及之后版本新增) | 1)值说明: 配置当前数据连接的套接字超时,单位为秒,默认值为 3600 输入框要求为非负整数,配置为 0 时,视为不设置超时 2)该设置项应用场景: 在网络发生抖动时,可能会出现管道&定时任务发出查询后,无限等待返回数据的问题,用户运维时,看不到报错,但实际任务已不再同步数据 配置该设置项后,将控制查询在一个合理的范围内,达到套接字超时时间后,SQL 语句会自动中断报错,避免出现无限等待的问题 3)该设置项控制的功能范围:
| ||||||||||
2.3.2 方案二:OCI 方式
若用户需要使用该数据连接进行 Xstream 方式管道任务数据同步,且数据来源为 CBD ,由于 XStream 连接依赖了oci 连接,所以不能通过 thin 方式连接 。
因此数据连接 URL 需要改为:
jdbc:oracle:oci:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1533))(CONNECT_DATA=(SID=名称)))
其中 localhost 为 oracle 所在服务器 IP,PORT 为端口、SID后需要写数据库名称。
注:SocketTimeout 设置项说明请参见本文 2.3.1 节内容。

3. 使用数据源
提示:Oracle 数据库中写 SQL 语句时:
库表名加双引号:库表名区分大小写,比如与数据库中的实际名称完全一致。
库表名不加双引号:库表名不区分大小写,会默认转换为大写进行匹配。
3.1 数据开发-定时任务
配置好数据源后即可在「定时任务」中使用数据源,详情参见:定时任务概述
4.2.7.4 及之后版本,目标端为 Oracle 时,支持 事务控制 功能。
3.2 数据服务
配置好数据源后即可在「数据服务」中将使用数据源,详情参见:数据服务概述
3.3 数据开发-实时任务
配置好数据源后即可在「实时任务」中将使用数据源,详情参见:实时任务概述
1)4.2.11.4 及之后版本,来源端选择 Oracle、读取方式选择 LogMiner、且同步方式为仅增量同步时,增量同步起点支持选择「自定义时间」。如下图所示:

自定义时间可选范围的最早可选时间(左边界)为以下两个值的最小值:
共享中心中该数据库采集任务事件的最早时间。
数据库日志最早时间。
注:当前活跃事务时间范围内的日期不可选。
2)4.2.11.4 及之后版本,来源端选择 Oracle 数据源时,点击「数据源权限检测」按钮后,检测项新增「活跃事务检测」。
当前所有活跃事务中最早开始时间早于日志最早时间时,检测结果提示「警告」,提示:当前存在活跃事务的开始时间早于归档日志的最早时间,可能导致同步失败,请手动处理活跃事务:[${事务 id 列表}]
3.4 实时管道
配置好数据源后即可在「实时管道」中将使用数据源,详情参见:实时管道概述
1)其中若使用数据源进行管道任务设置,且数据来源为 PDB 则需要修改连接数据库为对应的 PDB 数据库。

2)FineDataLink 管道任务对于 Oracle 数据源,需要开启所有补全级别的日志,参见Oracle环境准备,但是任何级别的补全日志都不补全 LOB 和 LONG 类型字段。
因此 FineDataLink 管道任务 Oracle 数据源下,BLOB、CLOB、NCLOB、LONG、RAW、LONGRAW、BFILE字段的同步做自动屏蔽处理。
3)字段映射标识对应字段删除,不支持手动启用并为此类字段配置映射。任务运行时,同步、建表将不包含此字段。
注1:4.2.11.3 之前版本,仅首次配置表时允许调整字段映射;4.2.11.3 及之后版本,支持修改字段映射,详情请参见:管理实时管道任务
注2:4.1.1 及之后版本,Oracle 数据源作为源表,支持 无主键同步

4)4.2.11.4 及之后版本,来源端选择 Oracle、读取方式选择 LogMiner、且同步方式为仅增量同步时,增量同步起点支持选择「自定义时间」。如下图所示:

自定义时间可选范围的最早可选时间(左边界)为以下两个值的最小值:
共享中心中该数据库采集任务事件的最早时间。
数据库日志最早时间。
注:当前活跃事务时间范围内的日期不可选。
