南大通用GBase 8c迁移指南之SQL Server篇

原文链接:https://www.gbase.cn/community/post/3841

更多精彩内容尽在南大通用GBase技术社区

SQL Server是Microsoft公司推出的关系型数据库管理系统,具有使用方便可伸缩性好与相关软件集成程度高等优点。本文章介绍SQL Server数据迁移到GBase 8c的实现流程。

本文章实现的基础在于GBase 8c能够完全兼容PostgreSQL语法,采用离线迁移方式,通过kettle、sqlserver2pg工具将SQL Server数据离线导出,再流转导入到GBase 8c数据库中。

  • kettle:开源 ETL工具,可用于数据库间的数据迁移,运行环境支持Linux、windows、unix 等类型的操作系统。
  • sqlserver2pg:可以装在windows上,也可以装在linux下

    前提:下载依赖包perl 5.0以上版本。

操作说明

1、在SQL Server源端,导出需要迁移数据库及表对象、视图、存储过程、自定义函数

登陆sqlserver management studio 选择数据库—右击--任务--生成脚本

enter description here

选择对应的对象后,进行下一步----下一步---完成(生成.sql文件)

2、装载sqlserver2pg

可以装在windows上,也可以装在linux下。本文下述测试均是在linux环境下。依赖:perl插件、kettle java1.8数据迁移依赖工具。

准备

  • 建议在gbase 用户下部署sqlserver2pg,并预设解压目录为存储目录,用于存储后续生成的sqlserver脚本。
  • 安装在kettle路径下,解压安装文件后将移动目录:
cp -r data-integration/ /home/gbase/sqlserver2pgsql-master/
# 下载依赖
yum intsall -y webkitgtk3.x86_64 

授权文件:

chmod +x -R *.sh
  ./kitchen.sh
  ./spoon.sh &  ## 弹出界面

3、执行迁移

(1)文件转换测试

./sqlserver2pgsql.pl -f sqlserver_sql_dump    -b output_before_script -a output_after_script   -u output_unsure_script

或者使用配置文件

./sqlserver2pgsql.pl -conf example_conf_file -f mydatabase_dump.sql

(2)生成kettle文件

./sqlserver2pgsql.pl -b output_before_script -a output_after_script -u output_unsure_script -k data-integration/ -sd NIS -sh 172.16.162.11 -sp 1433 -su sa -sw gbase;123 -pd test2 -ph 172.16.5.102 -pp 5432 -pu regress -pw Gbase_1234 -f NIS.sql

(3)执行表结构

gsql -U regress -W Gbase_1234 test2 -f output_before_script

(4)适用kettle迁移数据

1)使用界面化显示

export DISPLAY=172.16.162.11:0.0
./spoon.sh &

自动会打开3(2)生成的kettle文件(migration.kjb),直接执行即可。

2)使用命令行的方式
注意:jtds-1.3.1-dist的jdbc驱动需要存放到lib下

./kitchen.sh -file=../data-integration_record/migration.kjb -level=detailed

使用sql执行:修改表约束及索引等

gsql -d test2 -h 172.16.5.102 -p 5432 -U regress -W Gbase_1234 -f output_after_script

3)拷贝文件windows kettle 进行数据数据传输。

修改这两个文件:

enter description here

两文件中的路径为当前windows路径:

enter description here

以上是全量迁移(migration.kjb)与增量迁移(incremental.kjb)的方案。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值