优炫数据迁移系统 UXDMS

1.概述

优炫数据库(UXDB)为您带来一款强大的迁移利器——优炫数据库迁移系统(UXDMS)。它不仅是一款工具,更是一个让数据迁移化繁为简的智能平台。UXDMS专为应对多源数据库环境设计,支持异构数据库间进行数据迁移与同步。系统架构包含以下四个核心模块:

  • 首页:作为系统仪表盘,集中展示服务器运行状态、任务统计概览、实时任务动态及系统公告等信息。
  • 数据库连接管理:提供对源端与目标端数据库连接配置的完整生命周期管理,支持连接的创建、修改、删除与检索。
  • 迁移任务管理:实现迁移任务的全程管控,包括任务的创建、修改、删除、查询,以及运行、终止、暂停、恢复、批量执行、定时调度等操作。其核心功能是将各类源数据库中的数据结构、对象及数据,完整、统一地迁移至优炫数据库。
  • 系统管理:负责用户账户的维护,包括用户的增删改查及密码修改等权限管理功能。

2.运行环境要求

硬件环境要求

| 硬件环境 | 配置要求 | | -- | --- | | CPU | x86、Arm、MIPS 等架构,主频不限 | | 内存 | 8GB 以上 | | 硬盘 | 20GB 以上可用空间 | | 网卡 | 1000 Base-T 以上支持 TCP/IP 协议的网卡 |

软件环境要求

软件环境配置要求
CentOS 7.x及以上64-bit
Ubuntu 18 LTS64-bit
银河麒麟服务器操作系统-
中标麒麟服务器操作系统-

3.软件安装

3.1. 安装到Linux系统

  1. 检查docker是否安装以及运行状态

    #查看Docker是否安装
    docker --version
    #检查Docker服务状态
    sudo systemctl status docker
    #如果未安装 Docker,按照如下步骤安装:
    sudo yum install docker
    sudo systemctl start docker
    
  2. 拷贝Linux版迁移工具包UXDMS2124A.tar到磁盘上。

  3. 执行以下命令加载并启动。

    #加载镜像
    docker load -i UXDMS2124A.tar
    #启动运行迁移工具
    docker run -d --name=UX DMS2124A --restart=always --privileged=true  -p 8000:8000 UX DMS:1.0
    
  4. 加载后可以直接网页访问,打开浏览器,在浏览器输入本系统的访问地址http://UXDMSSERVERIP:8000,默认端口为8000,进入系统登录界面。系统默认内置了2个用户,管理员和普通用户,其中管理员可以管理用户,普通用户用户新建连接、迁移任务等操作。

IMG

4.首页

用普通用户系统登录成功后,默认展示系统首页。在页面左上角显示系统名称,在页面右上角显示当前登录用户、修改密码、退出登录按钮。页面左侧展示左侧菜单,页面中间展示详细的首页信息。首页界面如下:

IMG

5.数据库连接管理

数据库连接管理实现对源数据和目标库的统一管理,主要包含新建连接、查找连接、测试连接和统计连接等内容。主界面如下:

IMG

5.1. 新建连接

登录系统后在左侧菜单栏点击“数据库连接管理”,在数据库管连接管理页单击“新建连接”按钮,打开新增数据库连接页。

IMG

新建数据库连接界面说明

名称说明
数据库类型【必填项】请选择数据库类型,可选项有 Oracle、UXDB、Mysql、Pgsql、金仓数据库。
连接名称【必填项】请填写连接名称,连接名称只能包含中文、字母、数字和下划线,长度为 2-30 字符。
主机地址【必填项】请填写数据库的 IP 地址或者域名。
端口【必填项】请输入数据库的访问端口。
数据库名称【必填项】请输入数据库名称。
用户名【必填项】源数据库的用户名。
密码【必填项】源数据库的登录密码。

单击“确定”,校验连接名称是否唯一,如重名则弹窗报错“Failed”,通过校验,弹窗显示“Success”,完成数据库连接设置。

5.2. 测试连接

数据库连接创建后,在操作区选择“测试”按钮,测试数据库连接。测试成功,弹窗显示连接测试结果“Success”;测试不成功,弹窗显示连接测试结果“Failed”。

IMG

5.3. 查找连接

通过连接名称、数据库名称查询连接,支持模糊查询,并且可以根据数据库类型做初步过滤。

IMG 目标数据库界面说明

名称说明
主机名【必填项】目标数据库的 IP 地址或域名,推荐直接输入 IP 地址。
端口【必填项】目标数据库的访问端口。
用户名【必填项】目标数据库的用户名。
密码【必填项】目标数据库的登录密码。
数据库【必填项】目标数据库(UXDB)的库名称。
连接测试【按钮】以上信息输入完成后,单击此按钮测试数据库连接。测试成功,在此按钮右侧显示“√”;测试不成功,则在此按钮左侧显示“X”。

5.4. 删除连接

在数据库连接管理列表页的操作栏,单击“删除”按钮,弹出信息“确认删除连接+所选连接名称?”,单击“确定”按钮,删除选中的连接。若在弹窗中单击“取消”或X按钮,关闭确认弹窗,不删连接。当该连接被迁移任务引用后,该连接不能直接删除,会报错“数据库连接被任务引用”,需要先删除关联任务后才能删除。

IMG

6.迁移任务管理

迁移任务管理包含任务新建、查找任务、任务详情、任务状态、任务操作等内容,其中任务新建包含新建和同步。任务操作包含任务详情、任务运行、删除任务和评估任务。同步任务是指将后台任务同步到前端页面,默认系统每隔5分钟也会同步一次。主界面如下:

IMG

任务存在多种运行状态,包括:未启动、已停止、运行中、已完成。已停止表示迁移异常终止,需要手动介入查看问题原因,排除异常后,可以再次点击运行。已经完成的任务不可以执行多次。

迁移任务模式是根据选择

源库对象的范围系统自动产生的,当仅迁移表结构时模式指定为结构迁移,仅迁移表数据时模式指定为数据迁移,表和数据都选择迁移时模式指定为结构迁移+数据迁移,只选择非表结构或表数据时,例如仅选择了序列,模式指定为空。

6.1. 新建任务

登录系统后在左侧菜单栏点击“迁移任务管理”,在迁移任务管理页单击“新建任务”按钮。进入选择源数据库界面。

IMG

在已经建好的数据库连接中选择源数据库。选中后可以先进行测试连接,连接测试通过后,单击“下一步”,进入选择目标数据库页面。单击“取消”,弹出信息“是否取消创建任务?”,单击“确定”按钮,取消创建任务。若在弹窗中单击“取消”或X按钮,关闭确认弹窗,回到创建页面。后续步骤中每一页面均有“取消”按钮。

IMG

在已经建好的数据库连接中选择目标数据库。选中后可以先进行测试连接,连接测试通过后,单击“下一步”,进入模式选择页面。

IMG

在源数据库库中的所有模式中,选择要迁移的模式并选中,单击“下一步”,进入对象选择页面。可以使用搜索框快速定位到要迁移的模式,点击“刷新”按钮可以重新读取所选源库内全部模式。

IMG 注意

每次迁移任务只能选取一个模式。

在要迁移的数据库模式中选择要迁移的对象。可选择的对象包含表结构、表数据、视图、序列、触发器、存储过程、函数、类型、包。单击“是否迁移”,选中的对象状态栏从未选择变为全部迁移,并且每个选中对象都会出现操作“配置”的按钮。

每一种对象类型都可以选择手动配置迁移对象的范围。系统默认不会删除目标库同名对象,可以手动配置是否删除。

IMG

6.1.1配置表结构和表数据对象

新建迁移任务时,支持自定义部分表内容的迁移。用户可在对象选择页面开启“是否迁移”开关,并通过**“配置**”按钮进入表清单进行勾选。

系统支持联动配置逻辑:当同时迁移表结构和表数据时,前者配置会自动同步给后者;若仅迁移表数据,系统将自动简化流程,无需配置索引和约束,仅需选择表对象即可。

IMG

每个表都对应可配置选择是否迁移表上的索引和约束,操作方式一致,以下以索引的操作方式为例。单击“选择索引”按钮,弹出配置索引的界面,勾选清单左侧可以选择需要迁移的索引对象,默认是全部选择,选择完成后,点击“确认”按钮,表示选择生效,点击“返回”按钮,则退出索引选择配置。

IMG 注意

选择部分索引后,点击“确认”按钮,回到表选择页面后,必须再次点击“确认”按钮,索引配置才可以生效。

说明

约束配置页图标含义为P表示主键约束,U表示唯一约束,R表示外键约束,C表示检查约束,D表示默认值约束。

6.1.2配置视图对象

在新建迁移任务过程中,可以针对视图对象进行迁移配置,在新建任务过程中的对象选择页面,在视图行点击“是否迁移按钮”,待操作栏出现“配置”后,点击“配置”按钮后弹出迁移视图的清单,勾选清单左侧可以选择需要迁移的视图对象,默认是全部选择,选择完成后,点击“确认”按钮,表示选择生效,点击“返回”按钮,则退出配置。

IMG

6.1.3配置序列对象

在新建迁移任务过程中,可以针对序列对象进行迁移配置,在新建任务过程中的对象选择页面,在序列行点击“是否迁移按钮”,待操作栏出现“配置”后,点击“配置”按钮后弹出迁移序列的清单,勾选清单左侧可以选择需要迁移的序列对象,默认是全部选择,选择完成后,点击“确认”按钮,表示选择生效,点击“返回”按钮,则退出配置。

IMG

6.1.4配置触发器对象

在新建迁移任务过程中,可以针对触发器对象进行迁移配置,在新建任务过程中的对象选择页面,在触发器行点击“是否迁移按钮”,待操作栏出现“配置”后,点击“配置”按钮后弹出迁移触发器的清单,勾选清单左侧可以选择需要迁移的触发器对象,默认是全部选择,选择完成后,点击“确认”按钮,表示选择生效,点击“返回”按钮,则退出配置。

IMG

6.1.5配置存储过程、包和函数对象

在新建迁移任务过程中,可以针对存储过程对象进行迁移配置,在新建任务过程中的对象选择页面,在存储过程行点击“是否迁移按钮”,待操作栏出现“配置”后,点击“配置”按钮后弹出迁移存储过程的清单,勾选清单左侧可以选择需要迁移的存储过程对象,默认是全部选择,选择完成后,点击“确认”按钮,表示选择生效,点击“返回”按钮,则退出配置。包、函数和存储过程配置方式相同。

IMG

6.1.6 清空配置

在选择了配置迁移内容后,该行会出现“清空配置”的按钮。单击列表的“清空配置”按钮,弹出信息“确认要清空+所选对象的配置吗?”,单击“确定”按钮,删除选中的配置。若在弹窗中单击“取消”或X按钮,关闭确认弹窗,不删除配置。

IMG

6.2. 查找任务

通过任务名称、迁移模式、任务状态查询,其中任务名称支持模糊查询。迁移模式包含,结构迁移、数据迁移、结构迁移+数据迁移3种模式,任务状态包含未启动、已完成、已停止、进行中4种状态。

IMG

6.3. 任务详情

在数据迁移任务清单列表页,单击任务名称弹出任务详情页面。任务详情内容包含任务基本信息和迁移对象信息,具体有任务ID、任务名称、源数据库库、目标数据库、迁移模式名称、是否删除目标库同名对象。迁移对象以列表形式展示所有要迁移的对象,并且支持检索。

IMG

IMG

单击“下一步”,进入源库选择页面。

6.4. 任务操作

在数据迁移任务清单页,单击某行列表的“运行”按钮,运行当前行的任务。任务状态从未运行变更到运行中,任务结束后任务状态栏变成已完成。已完成状态表示该任务已经成功结束,不能再次点击“运行”按钮。点击“运行”按钮之后,页面提示任务 "所选任务名称" 启动成功,同时任务状态栏变为运行中。

IMG

在数据迁移任务清单页,单击某行列表的“删除”按钮,弹出信息“确认删除任务+所选任务名称?”,单击“确定”按钮,删除选中的任务。若在弹窗中单击“取消”或X按钮,关闭确认弹窗,不删除任务。

IMG

为提升迁移成功率,在迁移之前可以先进行评估,在数据迁移任务清单页,单击某行列表的“评估”按钮,开始评估。评估完成后生成评估报告。

IMG

评估逻辑为先对比表、然后是对比字段、接下来对比类型、最后是字段长度,长度只针对字符类型进行对比,如果三个都匹配则评估通过。有一个不一致则评估失败。评估完成后,如果评估成功则评估按钮变为“评估通过”,如果失败则评估按钮变为“查看不一致”。点击“评估不一致”按钮即可查看评估结果详情。

IMG

在评估结果详情页面点击“下载评估报告”按钮即可查看评估结果详情。评估通过的表,不列出具体字段内容,只显示通过。未通过评估的表会详细列出不一致的具体内容。点击“重新评估”按钮即可再次进行评估。

IMG

6.5. 任务状态

在迁移任务管理列表页面的清单中,每个任务对应的状态,状态分为4种,包含未启动、进行中、已完成、已停止。其中新建的任务状态是未启动。可以在任务详情查看任务内容。任务运行过程中显示为运行中,正常结束的任务为已完成,已停止表示任务未正常结束,发生了异常终止。进行中、已完成、已停止均可以点击并查看状态详情。

6.5.1 任务进行中

点击进行中的任务状态,可以查看到迁移任务中所有迁移对象、迁移完成数量、目标库内总数、运行状态、目标库内已存在行数以及任务进度。“刷新”按钮表示刷新当前任务状态,“导出”按钮导出迁移结果,“下载日志”按钮迁移过程中的运行全部日志,报错后“执行SQL文件”按钮,支持以拖拽的方式上传需要手动执行的sql文件,点击确定后,SQL文件立即执行,并在页面显示执行结果和错误日志。

IMG

6.5.2 任务已完成

点击"已完成"的任务状态,可以查看到迁移任务的完成情况,包含所有迁移对象状态、数量以及任务进度。“刷新”按钮表示刷新当前任务状态。

IMG

点击“导出”按钮,导出当前任务的迁移结果,以网页形式展示任务基本信息。

IMG

点击“下载日志”按钮,获取当前迁移过程中的运行全部日志,通过查找error信息帮助迁移操作人员定位失败原因。

点击“执行SQL文件”按钮,支持点击上传需要手动执行的sql文件,点击确定后,SQL文件立即执行,并在页面显示执行结果和错误日志。如手动执行sql产生了错误日志必须手动关闭。

IMG

6.5.3 任务已停止

点击"已停止"的任务状态,可以查看到迁移任务的情况,包含所有迁移对象状态、数量以及任务进度。“刷新”按钮表示刷新当前任务状态。

IMG

点击“导出”按钮,导出当前任务的迁移结果,以网页形式展示任务基本信息。

IMG

点击“下载日志”按钮,获取当前迁移过程中的运行全部日志,通过查找error信息帮助迁移操作人员定位失败原因。

IMG

点击“执行SQL文件”按钮,支持点击上传需要手动执行的sql文件,点击确定后,SQL文件立即执行,并在页面显示执行结果和错误日志。如手动执行sql产生了错误日志必须手动关闭。

IMG

并在页面显示执行结果和错误日志。如手动执行sql产生了错误日志必须手动关闭。

IMG

7.附录

Oracle到UXDB数据类型映射

Oracle 类型UXDB 类型
BFILEBYTEA
BINARYBYTEA
BINARY_DOUBLEDOUBLE PRECISION
BINARY_FLOATREAL
BLOBBYTEA
CFILETEXT
CHARCHAR
CHARACTERCHAR
CLOBCLOB
CONTENTPOINTERTEXT
DATETIMESTAMP
DECIMALNUMBER
DOUBLEPRECISIONNUMBER
FLOATNUMBER
INTEGERNUMBER
INTERVALDAYTOSECONDINTERVAL DAY TO SECOND
INTERVALYEARTOMONTHINTERVAL YEAR TO MONTH
INTERVALDAYTOMINUTEINTERVAL DAY TO MINUTE
LOBPOINTERTEXT
LONGTEXT
LONG RAWBYTEA
NCHARVARCHAR
NCLOBCLOB
NUMBERNUMBER
NVARCHARVARCHAR
NVARCHAR2VARCHAR
OIDOID
RAWBYTEA
REALNUMBER
ROWIDVARCHAR
SMALLINTNUMBER
TIMETIME
TIMESTAMPTIMESTAMP
TIMEWITHOUTTIMEZONETIME
TIMEWITHTIMEZONETIME
TIMESTAMPWITHLOCALTIMEZONETIMESTAMPTZ
TIMESTAMPWITHTIMEZONETIMESTAMPTZ
UROWIDVARCHAR
USER-DEFINEDUSERDEFINED
VARCHARVARCHAR
VARCHAR2VARCHAR
XMLTYPEXML
JSONJSON

8.常见问题

8.1. 安装docker报错

执行yum install docker失败。

  • 原因1:yum源问题

使用优炫本地镜像安装包进行安装,具体联系优炫技术支持团队获取。

  • 原因2:网络连接问题
#测试网络连通性
ping -c 3 baidu.com