暂无图片
MogDB工具mtk实现oracle--->mogdb迁移问题
我来答
分享
手机用户2280
2023-12-07
MogDB工具mtk实现oracle--->mogdb迁移问题

用云和恩墨的异构数据库迁移工具mtk,做oracle--->mogdb的迁移。

举例需求:一共5张表,A,B,C,D,E,F。A和C有日期字段,是业务表。其他是配置表。

想要实现的目的如下:

12月15日演练时迁移B,D,E,F的全量数据和A,C表的截止12月15日的数据。

12月30日正式切换时,只迁移A,C表的12月15日以后的数据。

这两次迁移时object”标签怎么配置?

我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
Mjwlan

在使用云和恩墨的异构数据库迁移工具 MTK(MySQL Transfer Kit)进行 Oracle 到 MongoDB 的迁移时,您可以通过配置 "object" 标签来实现您的需求。

对于第一次演练迁移,您需要迁移表 B、D、E 和 F 的全量数据以及表 A 和 C 的截止 12 月 15 日的数据。您可以按照以下方式配置 "object" 标签:

yaml复制代码

object: - name: A query: SELECT * FROM A WHERE date_column <= '2023-12-15' - name: B query: SELECT * FROM B - name: C query: SELECT * FROM C WHERE date_column <= '2023-12-15' - name: D query: SELECT * FROM D - name: E query: SELECT * FROM E - name: F query: SELECT * FROM F
复制

这样配置后,MTK 将只迁移表 A 和 C 中截止 12 月 15 日的数据,同时迁移表 B、D、E 和 F 的全量数据。

对于正式切换时的迁移,您只需要迁移表 A 和 C 的 12 月 15 日之后的数据。您可以按照以下方式更新 "object" 标签的配置:

yaml复制代码

object: - name: A query: SELECT * FROM A WHERE date_column > '2023-12-15' - name: C query: SELECT * FROM C WHERE date_column > '2023-12-15'
复制

这样配置后,MTK 将只迁移表 A 和 C 中 12 月 15 日之后的数据。

通过按需配置 "object" 标签中的查询语句,您可以实现不同时间范围内表数据的迁移。请根据您的具体业务需求和迁移时间点来调整日期条件和表名,以使得迁移工具能够按照预期对数据进行迁移。

暂无图片 评论
暂无图片 有用 1
打赏 0
手机用户2280
题主
2023-12-07
感谢老师,很清楚。还有个问题先问。 演练迁移时:./mtk -c ora2mg/config/mtk.json,是全迁移。 那第二次迁移时,./mtk -c ora2mg/config/mtk.json --dataOnly,只迁移A,C的数据。他这个只迁移数据,是把数据放cvs文件,然后我在copy入mogdb库,还是工具就直接入库了,我用人为copy入库?
Mjwlan

在第二次迁移时,通过执行 ./mtk -c ora2mg/config/mtk.json --dataOnly 命令,并指定了 --dataOnly 参数,表示只迁移数据而不进行表结构的迁移。

在这种情况下,MTK 工具会将表 A 和 C 的数据导出为 CSV 文件,而不会直接将数据入库到 MongoDB。您可以在生成的 CSV 文件中查看迁移的数据内容。

然后,您可以选择使用其他方法将这些 CSV 文件中的数据导入到目标的 MongoDB 数据库中。这可以涉及使用 MongoDB 提供的导入工具(如 mongoimport),或编写自定义脚本来读取 CSV 文件并将数据插入到 MongoDB 数据库中。

MTK 工具提供了迁移数据的能力,但数据的最终导入和入库过程可能需要根据您的具体需求和环境来进行额外的操作。因此,在第二次迁移时,您需要手动将数据从 CSV 文件复制或导入到目标的 MongoDB 数据库中。

暂无图片 评论
暂无图片 有用 0
打赏 0
手机用户2280
题主
2023-12-07
按您这个说法。 ./mtk -c ora2mg/config/mtk.json --dataOnly ./mtk -c ora2mg/config/mtk.json --file --dataOnly 这两个是一样的效果么?
Mjwlan

不,./mtk -c ora2mg/config/mtk.json --dataOnly./mtk -c ora2mg/config/mtk.json --file --dataOnly 这两个命令具有不同的效果。

  1. ./mtk -c ora2mg/config/mtk.json --dataOnly: 这个命令将只迁移数据而不进行表结构的迁移,并将数据导出为 CSV 文件。这意味着生成的输出将是一组 CSV 文件,其中包含源数据库中指定表的数据。您可以使用其他方法将这些 CSV 文件中的数据导入到目标数据库中,如通过数据库工具或自定义脚本。

  2. ./mtk -c ora2mg/config/mtk.json --file --dataOnly: 这个命令与上述命令相似,也只迁移数据并导出为 CSV 文件。但是,使用 --file 参数会额外生成一个描述文件(manifest file),用于记录生成的 CSV 文件的路径和其他相关信息。该描述文件可以用于后续的数据导入操作,以便更轻松地识别和管理要导入的文件。

虽然这两个命令都是在 --dataOnly 模式下执行数据迁移,但使用 --file 参数会生成描述文件,提供更方便的方式来跟踪和处理生成的 CSV 文件。因此,它们具有略微不同的效果。

暂无图片 评论
暂无图片 有用 0
打赏 0
手机用户2280
题主
2023-12-07
好吧,谢谢你。但是,下午我试了,你说的那种配置object,做增量迁移,不对,识别不了。还是谢谢你。
回答交流
Markdown


请输入正文
提交
相关推荐
mtkb迁移问题
回答 1
一般来说,MTKB工具可能会提供参数来指定目标模式。在命令行使用MTKB工具迁移数据时,可能会有类似于targetschema或ts(具体参数名称可能因工具版本等因素而不同)这样的选项。例如,假设工具
opengauss3.1.0 做数据库主备,能指定数据库吗?
回答 2
已采纳
主备存在的意义就是要让主备数据完全一致,当主库发生故障时备库可以接管服务。同步单个数据库或者表是类似“OGG”的功能,目前是两个实例也就是两个不同的单节点数据库来通过发布订阅功能进行同步。
MogDB5.0 mysql兼容模式下使用mysql-connector-java连接报错
回答 1
已采纳
openGauss5.0/MogDB5.0版本中的MYSQL连接协议实现并不完整,仅支持直接用客户端或者驱动连接,druid这样的连接池还用到了更多的mysql协议接口,该版本并不支持。简单写段jav
opengauss3.1.0企业版升级到opengauss5.0.0
回答 3
升级问题到:紧急故障
oracle迁移到mysql
回答 1
Oracle数据库迁移至MySQL可以使用多种数据库迁移工具,‌包括Navicat、‌OracleSync2MySQL、‌以及Kettle等。‌Navicat:‌Navicat提供了一个直观的用户界面
由oracle数据库迁移到新的其他的数据库(mysql,达梦,OB等),有哪些方面需要考虑
回答 1
暂无文字回复
mogdb客户端如何将查询结果输出为excel或html格式?
回答 2
已采纳
postgres\a\t\o/home/mogdb/yyyy.htmlOutputformatisunaligned.Showingonlytuples.postgres\psetformathtml
moddb启动报错
回答 1
WARNING:failedtoopenfeaturecontrolfile,pleasecheckwhetheritexists:FileNamegaussdb.version,Errno2,Err
MogDB3.0主备集群如何手工搭建
回答 1
可以参考一下https://www.modb.pro/doc/58634https://www.modb.pro/doc/52176"target"blank"https://www.modb.pro
关于Mogdb 版本支持
回答 5
idostestedversion(s)1007010CentOSLinux7(Core)(x8664)7.6.1810(Core)1008010Centos8(x8664)8.0.1905(Core