资讯动态

TDengine 零代码数据接入:通过 taosExplorer 将 Oracle 数据迁移至 TDengine 的完整指南

发布时间:2026/9/12 13:24:19 来源:尧图企业网站定制
TDengine 零代码数据接入通过 taosExplorer 将 Oracle 数据迁移至 TDengine 的完整指南【免费下载链接】TDengineHigh-performance, scalable time-series database designed for Industrial IoT (IIoT) scenarios项目地址: https://gitcode.com/GitHub_Trending/tde/TDengineTDengine 通过内置的可视化管理工具 taosExplorer 提供零代码数据接入能力本文聚焦于其中的Oracle 数据源详细介绍如何在浏览器界面中创建从 Oracle 到 TDengine 的数据迁移/同步任务覆盖连接配置、SQL 模板与时间占位符、数据映射、异常处理等全部配置项并结合仓库文档说明底层的数据分片查询与断点续传机制。读完本文你将能够独立完成 Oracle 存量数据迁移与实时数据同步任务的创建、验证与运维。说明本文所述功能属于TDengine TSDB-Enterprise企业版专属能力TDengine TSDB-OSS开源版不包含该组件。相关说明见 零代码数据接入总览。Oracle 数据源特性概览Oracle 数据库是全球广泛使用的商业关系型数据库管理系统具有较好的可移植性、易用性和强大的功能适用于各种大、中、小型计算机环境是高效率、高可靠性、高吞吐量的数据库解决方案。TDengine 通过其企业级数据接入组件 taosX 高效地从 Oracle 读取数据并写入 TDengine实现两类典型场景历史数据迁移将指定时间范围内的存量数据一次性迁移到 TDengine实时数据同步持续读取 Oracle 中的新增数据并实时写入 TDengine。在 TDengine 官方支持的数据源清单中Oracle 支持的版本为11G / 12c / 19c见 支持的数据源列表。从实现原理看taosX 通过按时间分段查询的方式读取 Oracle 数据以“查询区间”将检索切分成多个子任务避免单次查询数据量过大同时Oracle 类型的任务会持久化最后一次查询的时间戳并在任务中断后从该检查点checkpoint继续执行而不是从头开始见 从检查点恢复任务。前置条件在创建 Oracle 数据接入任务前需要确认以下环境可访问的taosExplorer在浏览器中打开运行 TDengine 的主机或 IP 的6060 端口。一个可正常连接、且目标账号具备读取权限的 Oracle 实例11G / 12c / 19c。TDengine 中已存在的目标数据库可在创建任务时一并创建。可选taosX-Agent。如果 taosX 无法直接连接你的 Oracle 数据源例如 Oracle 位于隔离内网需要在数据源所在网络安装 taosX-Agent具体安装步骤见 安装 taosX-Agent。创建数据同步任务添加数据源在 Web 浏览器中打开 taosExplorer位于运行 TDengine 的主机名或 IP 的 6060 端口按以下步骤进入任务创建页面在左侧主菜单中选择Data In数据接入然后点击Add Task添加任务。在Name字段中为数据接入任务输入一个唯一名称。从Type下拉列表中选择Oracle。可选如果该数据接入任务需要代理从Agent下拉列表中选择代理也可以点击Create New Agent立即创建代理。从Target DB下拉列表中选择存储该任务所接入数据的目标数据库也可以点击Create Database立即创建数据库。配置连接信息在Connection Configuration连接配置区域填写源 Oracle 数据库的连接信息包括主机地址、端口、服务名/SID 等连接参数如下图所示配置认证信息在认证区域填写以下信息User用户源 Oracle 数据库的用户名该用户必须具备读取权限即能够查询源库数据。Password密码上述用户在源 Oracle 数据库中的登录密码。填写完成后点击Check Connectivity检查连通性按钮验证上述信息能否正常访问源 Oracle 数据库中的数据。若检查失败请根据页面返回的具体错误提示进行修改。配置 SQL 查询SQL QuerySQL 查询区域是本任务的核心它决定了从 Oracle 中读取哪些数据、如何切分配置项如下Subtable Field子表字段用于拆分子表的字段其值是一条select distinct查询语句用于查询指定字段组合的不重复项通常对应 transform数据映射中的tag标签。该配置主要用于解决数据迁移乱序问题必须与SQL TemplateSQL 模板配合使用否则无法达到预期效果。用法示例如下填写子表字段语句select distinct col_name1, col_name2 from table表示使用源表中的字段 col_name1、col_name2 来拆分目标超级表的子表。在SQL Template中添加子表字段占位符例如在select * from table where ts ${start} and ts ${end} and ${col_name1} and ${col_name2}中加入${col_name1}和${col_name2}。运行时每个占位符会展开为一个等值条件如col_name1deviceA、col_name21而不是裸露的列名。在transform数据映射中将col_name1和col_name2配置为两个 tag 的映射。SQL TemplateSQL 模板用于查询的 SQL 语句模板必须包含时间范围条件且开始与结束时间必须成对出现。模板中的时间范围由源数据库中表示时间的列与下列占位符共同定义。不同的占位符在 SQL 中代表不同的时间格式要求具体如下占位符时间格式示例${start}、${end}RFC3339 格式时间戳含时区2024-03-14T08:00:000800${start_no_tz}、${end_no_tz}不带时区的 RFC3339 字符串2024-03-14T08:00:00${start_date}、${end_date}仅日期注意 Oracle 无纯日期类型2024-03-14 00:00:00⚠️ 使用${end_date}需特别小心由于 Oracle 没有纯日期类型该占位符会带出零点零分零秒2024-03-14 00:00:00。如果使用date ${end_date}这样的条件将不包含 2024-03-14 当天的数据。建议改用date ${end_date}或使用${end}等含时间的占位符。为解决数据迁移乱序问题查询语句中应增加排序条件例如order by ts asc。其他查询参数Start Time开始时间数据迁移的开始时间必填。End Time结束时间数据迁移的结束时间可留空。若设置迁移任务将在到达结束时间后自动停止若留空则持续同步实时数据任务不会自动停止。Query Interval查询间隔分段查询数据的时间间隔默认 1 天。为避免单次查询数据量过大数据同步子任务会按查询间隔对数据检索进行分段。Delay Duration延迟时长在实时数据同步场景中为避免因写入延迟导致丢数据每个同步任务会从延迟时长之前的位置开始读取数据。配置数据映射在Data Mapping数据映射区域填写与数据映射相关的配置参数。Retrieve from Server从服务器获取点击该按钮可从 Oracle 服务器获取样本数据。Extract or Split from Column从列中提取或拆分填写从消息体中提取或拆分的字段。例如将vValue字段拆分为vValue_0和vValue_1选择 split 提取器填写分隔符,和数量2。Filter过滤填写过滤条件例如Value 0则只有 Value 大于 0 的数据才会写入 TDengine。Mapping映射选择要映射的 TDengine 超级表以及要映射到该超级表的列。Preview预览点击查看映射结果。关于提取/拆分、过滤与映射的完整规则包括 JSON/正则解析、类型转换函数parse_int/parse_float、条件表达式、format/sum/expr等映射规则参见 数据提取、过滤与转换。其中expr规则支持数值运算表达式如temperature * 1.8 32及sin、sqrt、ln、floor、round等数学函数format规则支持${year}-${month}-${day}形式的字符串格式化。配置高级选项Advanced Options高级选项区域默认折叠点击右侧的展开。常见配置项如下不同数据源字段略有差异Maximum Read Concurrency最大读取并发限制数据源连接数或读取线程数。默认0表示由连接器自动配置当源端响应较慢且适合增加并发时可调大该参数。Batch Size批量大小单次发送的消息或行数上限默认 10000部分数据源默认 1000。部分数据源还提供Write Concurrency写入并发用于指定并发写入 TDengine 的任务数。健康监控类选项监控周期、繁忙状态阈值、写入队列长度、写入错误阈值等及任务健康状态Ready/Idle/Active/Pending/Busy/Bounce/SourceError/SinkError/Fatal的说明见 零代码数据接入总览。配置异常处理策略Exception Handling Strategy异常处理策略区域默认折叠点击展开。通用策略包括策略行为Archive归档将无效数据写入归档文件默认位于${data_dir}/tasks/id/datetime不写入目标数据库Discard丢弃忽略无效数据Error报错报告错误Cache缓存目标连接失败或资源不足时将数据写入缓存文件待目标恢复后再写入可为以下异常条件分别配置策略目标连接超时、目标数据库不存在、表不存在可选自动建表并重试、主时间戳超出范围now - keep1至now 100y、主时间戳为空可选使用当前时间、复合主键为空、表名超过 192 字符可选截断、表名含非法字符如.可选替换为指定字符串、表名模板变量为空、列不存在可选自动补列并重试、列名超过 64 字符、列值超出定义长度可选自动扩列并重试、以及其他数据错误。附加设置包括Connection Timeout连接超时目标连接超时秒数范围1~600。Temporary Storage Location临时存储位置相对${data_dir}/tasks/id/的路径。Archive Retention Days归档保留天数非负整数0表示不限。Archive Available Space归档可用空间0~655350表示不限。Archive Location归档位置相对${data_dir}/tasks/id/的路径。Archive Write Failure Strategy归档写入失败策略删除旧文件、丢弃数据或报错并停止任务。上述策略与参数完整清单见 异常处理策略资源文件。完成任务创建点击Submit提交按钮即可完成从 Oracle 到 TDengine 的数据同步任务创建随后返回Data Source List数据源列表页面查看任务执行状态。底层机制分段查询、断点续传与数据治理按查询间隔分段读取为避免一次性拉取过多数据导致源库与目标库压力过大taosX 以Query Interval默认 1 天为粒度将整个同步范围切分为多个数据同步子任务逐个时间段执行查询。配合Delay Duration参数实时同步场景下任务会从“当前时间减去延迟时长”的位置读取数据从而容忍源端写入延迟减少漏数据风险。检查点与断点续传Oracle 类型的任务会持久化最后一次查询的时间戳任务暂停后重启、或因异常自动恢复时将从该时间戳继续不会从头开始迁移见 从检查点恢复任务。这与本仓库中 TDengine Query 迁移 描述的进度持久化机制一致任务运行过程中会持续将进度信息保存到磁盘。迁移乱序问题的解决路径Oracle 数据按主键顺序存储但迁移时若并发读取或未加排序写入 TDengine 后可能出现时间戳乱序。本文配置环节提供了两道保障SQL 模板中加入排序如order by ts asc保证同一查询内数据按时间升序返回Subtable Field 拆分 标签映射通过select distinct字段组合将数据按标签拆分到不同子表配合 transform 中 tag 映射使数据在物理上按标签隔离、按时间有序落盘从源头规避乱序。任务运维与后续管理任务创建后可在Data Source List页面执行启动、停止、查看、删除、复制等操作并查看每个任务的运行状态、已写入记录数、流量等指标。对于运行中的任务点击指标查看按钮可查看详细运行指标弹窗分为两个页签分别展示任务多次运行的累计指标与本次运行的指标这些指标每 2 秒自动刷新一次。如需在无法直连数据源的场景下接入 Oracle可参考 安装 taosX-Agent 部署代理组件。参考文档Oracle 数据源官方文档零代码数据接入总览支持的数据源、ETL 规则、健康状态、断点续传异常处理策略配置说明安装 taosX-Agent【免费下载链接】TDengineHigh-performance, scalable time-series database designed for Industrial IoT (IIoT) scenarios项目地址: https://gitcode.com/GitHub_Trending/tde/TDengine创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价