胖头鱼的鱼缸

KDTS迁移Oracle数据至KES V9

数据库管理-第272期 KDTS迁移Oracle数据至KES V9(20241219)

作者:胖头鱼的鱼缸(尹海文)

Oracle ACE Pro: Database

PostgreSQL ACE Partner

10年数据库行业经验

拥有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等认证

墨天轮MVP

ITPUB认证专家,数盟会长老会成员,OCM讲师

PolarDB开源社区、青学会MOP社区技术顾问

HaloDB外聘技术顾问

OceanBase观察团成员

IF社区联合发起人

圈内拥有“总监”称号,非著名社恐(社交恐怖分子)

公众号:胖头鱼的鱼缸

CSDN:胖头鱼的鱼缸(尹海文)

墨天轮:胖头鱼的鱼缸

ITPUB:yhw1809。

除授权转载并标明出处外,均为“非法”抄袭

Image

KDTS(Kingbase Data Transformation Service数据库数据迁移平台)是为用户提供 Oracle、Mysql、SQLServer、Gbase、PostgreSQL、DM、KingbaseES 数据库数据迁移到 KingbaseES数据库的数据迁移工具。

简介:https://bbs.kingbase.com.cn/docHtml?recId=d16e9a1be637c8fe4644c2c82fe16444&url=aHR0cHM6Ly9iYnMua2luZ2Jhc2UuY29tLmNuL2tpbmdiYXNlLWRvYy92OS9kZXZlbG9wbWVudC9kZXZlbG9wLXRyYW5zZmVyL2tkdHMtcGx1cy9pbmRleC5odG1s

本次演示使用的是最新版KingbaseES V9(V009R001C002B0014)及其自带的KDTS进行展示,Oracle使用19c的PDB环境。

1 卸载老版本KES

之前安装过的版本是V009R001C001B0030(详见241期KingBaseES V9 on RHEL8),因此第一件事情就是卸载老版本的KES。

1.1 删除数据库服务

cd /Kingbase/ES/V9/server/install/script/
./rootuninstall.sh
Image

1.2 控制台卸载

cd /Kingbase/ES/V9/server/Uninstall
sh Uninstaller -i console

Image
输入回车后会有大段的输出,直至卸载结束:
Image

1.3 清理目录

rm -rf /Kingbase/ES/V9/*

在完成卸载后重新安装最新版本的KES V9(过程略)。

2 Oracle准备数据

可以使用Oracle提供的sample schema,地址为:https://github.com/oracle-samples/db-sample-schemas,选择19c对应最新版本19.2即可。
Image
由于只做基本测试,因此在dbca过程中勾选包含hr用户的sample schema即可:
Image
Image
需要对HR用户进行解锁:

alter user hr identified by hr account unlock;
Image

3 KES目标数据库操作

3.1 创建目标数据库与用户

create database ora_hr;
create user hr with password 'hr';
alter user hr login;
grant all privileges on database ora_hr to hr;
Image

3.2 测试连接

ksql -p 54321 -U hr ora_h
Image

4 启动KDTS

cd /Kingbase/ES/V9/server/ClientTools/guitools/KDts/KDTS-WEB 
./bin/startup.sh

Image
Image

5 访问KDTS

通过下面的地址访问KDTS:

http://10.10.10.221:54523/#/login

默认用户名密码为:kingbase / kingbase
Image
Image

6 迁移数据

6.1 创建源数据库

Image
  • 输入连接信息并测试:
Image
  • 确定保存:
Image

6.2 创建目标数据库

Image
  • 输入连接信息并测试:
Image
  • 确定保存:
Image

6.3 创建迁移任务

Image
  • 配置任务名称并选择数据库:
Image
  • 选择迁移schema:
Image

这里发现一个小问题,在不勾选“包含系统模式”的情况下,无法查询到HR的信息。

  • 选择迁移对象(这里选择全部迁移):
Image
  • 保存并迁移:

Image
Image

  • 迁移完成
Image
  • 检查迁移情况(点击详情进入):
Image

这里可以看到没有任何报错

6.4 目标端数据库检查

  • 数据库表检查
\dt
Image
  • 数据量检查

Image
Image

  • 数据检查

Image
Image
至此迁移检查完成,数据迁移成功。

总结

本期通过KDTS将Oracle中的数据迁移到了KingbaseES V9中,操作还是比较便捷的。
老规矩,知道写了些啥。