暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

oracle到mogdb迁移(工具mtkd)

原创 冰凝 2024-05-07
230

迁移实施步骤

一、安装目标端数据库及迁移工具

1.安装目标端mogdb实例5.0版本
2.目标库创建超级权限账号,用于迁移业务数据

create user moguser sysadmin password "MogDB@123";

3.目标库创建database(参照源库service_name)

dbname=testdb
gsql -r  -c "create database  ${dbname};"

4.目标库安装whale插件

tar -xzvf whale-x.x.x-01-CentOS-x86_64.tar.gz
cd whale 
make install 
gsql -r -d   ${dbname} -c "create extension whale;"

whale是MogDB针对Oracle的兼容插件包,新增了Oracle函数以及package等功能。其中新增函数15个,例如instrb,nls_charset_id,nls_charset_name,nls_lower等。新增Oracle包7个,分别为dbms_random,dbms_output,dbms_lock,dbms_application_info,dbms_metadata,dbms_job,dbms_utility。

5.目标库安装oracle兼容性工具包compat-tools

cd /appdata/compat-tools-master
gsql -r -d   ${dbname} -f runMe.sql

6.目标库安装oracle instance client客户端

下载地址:https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html
unzip instantclient-basic-linux.x64-19.22.0.0.0dbru.zip

7.下载安装mtkd

tar xf mtkd_2.9.4_linux_amd64.tar.gz 
cd mtkd_2.9.4_linux_amd64/
上传最新的license

启动mtkd:
export LD_LIBRARY_PATH=/zcloud/poc/instantclient_19_19:/zcloud/poc/instantclient_19_19/lib:$LD_LIBRARY_PATH
nohup ./mtkd --httpAddr=:22000 &  

8.配置迁移任务,启动迁移,查看迁移报告

配置页面项目开始迁移对象:
http://10.2.138.79:22000/

查询任务报告:
http://10.2.138.79:22000/project/1719177686762393600/records/1719177788843364352/report

以上链接中 第一个id是 task_id  第二个id是 run_id。

mtkd里边用 sqlite3 可以获取mtkd迁移任务中失败对象的创建sql  :
[root@db-prod-temp01 appdata]# cd mtkd_2.9.4_linux_amd64/
[root@db-prod-temp01 mtkd_2.9.4_linux_amd64]# ls
CHANGELOG.md  HOW-TO-RUN.md  license.json  logs  mtkd  mtkd.db  nohup.out
[root@db-prod-temp01 mtkd_2.9.4_linux_amd64]# sqlite3 mtkd.db  
sqlite> select tgt_sql||';' from task_result_details   
   ...>  where task_id =1720001323060957184 and run_id = 1720005019861782528
   ...>  and type_name ='Table'  and reason like '%dbtimezone%';

sqlite3 把结果输出到 文件:
sqlite> .output /appdata/odsrac_plsql.sql
sqlite> select tgt_sql||';' from task_result_details   
   ...> where task_id =1720001323060957184 and run_id = 1720005019861782528
   ...> and type_name in('Function','Procedure','Package') ;
sqlite> .exit   

## 以上链接中 第一个id是 task_id  第二个id是 run_id。
## type_name 是失败的对象类型,  reason 是失败的原因

二、mtkd配置迁移任务

连接 http://目标端moogdb ip:22000 进入项目中心,点击新建项目
image.png
输入源端和目标端数据库的连接信息,点击连接测试,测试通过即可
image.png
选择迁移类型,只迁移表结构和只迁移数据,填写 迁移的schema或者某些指定的表,然后点击确定
image.png
之后可以查看到迁移的配置文件:
image.png
image.png
确认配置文件 无问题后,点启动迁移:
迁移时可以不指定迁移任务名称,会自动生成一个default开头加日期的任务名称。
image.png
迁移完成后,查看迁移任务:
image.png
项目可以运行多次迁移. 每运行一次都会有一条迁移记录. 可以参看迁移详情和报告。
可以进行状态过滤
可以下载单个迁移记录报告
可以下载多个迁移记录报告

迁移报告总览:
image.png
查看详细迁移报告:
image.png

mogdb
最后修改时间:2024-05-14 17:01:47
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论