h5网站模板,如何让百度收录自己的网站,wordpress上图片不显示,idc网站备案目录
一、环境信息
二、简述
三、架构图
四、升级点
五、支持功能
六、后续计划支持功能
七、安装包下载地址
八、配置参数介绍
九、安装步骤
1、用户创建
2、安装包解压
3、环境变量配置
4、环境变量生效
5、动态库链接检验
#xff08;1#xff09;HsManage…目录
一、环境信息
二、简述
三、架构图
四、升级点
五、支持功能
六、后续计划支持功能
七、安装包下载地址
八、配置参数介绍
九、安装步骤
1、用户创建
2、安装包解压
3、环境变量配置
4、环境变量生效
5、动态库链接检验
1HsManager
2G8aExecutor
3Pg2G8aExecutor
4Pg2DmExecutor
6、操作系统限制修改
1/etc/security/limits.conf
2验证
7、修改配置文件MigrationConfig.txt
1Gbase8a - Gbase8a
2PostgreSql - Gbase8a
3PostgreSql - Dm
十、性能对比测试
1、性能测试对比表格
2、测试表结构
1Gbase8a
2DM
3PostgreSql
3、测试数据样式
4、HappySunshine测试截图
1PostgreSql - Dm
2PostgreSql - Gbase8a
3Gbase8a- Gbase8a
5、Kettle测试截图
1PostgreSql - Dm
2PostgreSql - Gbase8a
3Gbase8a- Gbase8a 最新版本工具文档链接HappySunshine 一、环境信息
名称值CPUIntel(R) Core(TM) i5-1035G1 CPU 1.00GHz操作系统CentOS Linux release 7.9.2009 (Core)内存5G逻辑核数6HappySunshine版本V1.5Kettle版本pdi-ce-9.5.0.1-261Gbase8a版本8.6.2-R43.34.27468a27Pg版本PostgreSQL 16.3DM版本1 DM Database Server 64 V8 2 DB Version: 0x7000c 3 03134284194-20240703-234060-20108 4 Msg Version: 12 5 Gsu level(5) cnt: 0
二、简述 HappySunshine数据库迁移工具是由C语言编写的多进程多线程程序支持多种数据库之间的高效数据同步安装简便、简单配置即可使用功能还在逐步完善中其实是还在陆续补充新知识有什么好的建议大家可以在评论或私信告知。
三、架构图
画图水平感觉还不错给自己点个赞。
HappySunshine数据库迁移工具由一个管理者进程和N个执行者进程组成每个执行进程由一个生产者线程和N个消费者线程组成。
1、管理者进程启动。
2、管理者进程读取配置文件参数。
3、管理者进程创建共享内存。
4、管理者进程拉起N个执行者进程。
5、管理者进程通过共享存储中的任务队列将需要迁移的表放入队列中。
6、执行者进程创建线程池。
7、执行者进程开辟一个生产者线程N个消费者线程。
8、生产者线程从共享存储中的任务队列拿取任务查询需要迁移表的条数来决定迁移方式LOAD或INSERT。如果进程数大于1任务中包含的表有一个整型主键会自动拆分数据为N份进程数。
9、如果是LOAD由生产者线程单独完成。
10、如果是INSERT将读取的数据行指针打包发给线程池中的任务队列。
11、消费者线程从线程池中的任务队列拿取任务。
12、消费者线程将任务包解开将数据清洗并放入自己的缓冲区中清洗完再把INSERT命令发给Gbase8a。
13、消费者线程执行任务失败将任务状态置为错误待生产者线程发现任务失败后终止任务下发给线程池队列重新到共享存储中的任务队列拿取任务。
14、消费者线程执行任务成功就继续执行。
15、管理者进程将任务发送完成之后将任务结束标记放入共享存储中的任务队列中。
16、生产者线程从共享存储中的任务队列中拿到任务结束标记后。等待屏障也就是等待消费者线程完成所拿到的任务。
17、执行者进程等待所有的消费者、生产者结束后回收线程池资源释放自身所占用资源结束退出。
18、管理者进程等待所有执行者进程结束后回收进程资源释放自身所占用资源结束退出。
四、升级点
序号名称备注1PG到DM库级数据迁移INSERT方式迁移表定义及其他暂不支持。2PG到DM表级数据迁移INSERT方式迁移表定义及其他暂不支持。3修复库级迁移PG为源端数据库时只迁移主键表的BUG4修复目标端数据库连接失败导致子进程死等的BUG5添加配置文件MigrationConfig.txt中参数值的有效性判断6修复Gbase8a到8a数据迁移LOAD方式数据包含NULL时加载报错的BUG7修复Gbase8a到8a数据迁移LOAD方式数据包含大字段时加载数据有误的BUG
五、支持功能
序号功能备注1Gbase8a到8a数据迁移INSERT、LOAD方式迁移表定义及其他暂不支持。2PG到Gbase8a数据迁移INSERT方式迁移表定义及其他暂不支持。3PG到DM数据迁移INSERT方式迁移表定义及其他暂不支持。4多线程并发加载单表数据5多进程并发加载单表数据源端库为PG迁移表包含单一整型主键进程数设置大于1时支持此项。
六、后续计划支持功能
展望是挺多的奈何时间不多呀。
序号功能备注1支持目的端为PG通过libpq接口Copy。2支持Oracle数据迁移通过OCI接口。3支持达梦快速装载通过DM FLDR的C接口。4支持信号处理5支持License
七、安装包下载地址
GITHUB-HappySunshine-release版下载地址
八、配置参数介绍
序号参数备注1[Tool]Tool标签头下面只能写Tool相关参数。2ProcessNums程序迁移时开的进程数。3Level迁移级别。 1:表级迁移SpecifiedTab生效。 2:库级迁移MigrationDb、BlackList生效。4OsInfoGbase8a - Gbase8a LOAD使用。 工具所在操作系统IP;操作系统用户;操作系统用户密码; 长度同下方的数据库IP;数据库用户名;数据库用户密码;5OneBatchNumsMigrationType为0、1、2的情况下支持此参数一个批次插入的数据条数。INSERT方式6SwitchNumsMigrationType为0的情况下支持此参数此数以上使用LOAD以下使用INSERT。7MigrationType迁移类型支持0、1、2。 0 : Gbase8a - Gbase8a 1 : PostgreSql - Gbase8a 2 : PostgreSql - Dm8[Source] Source标签头下面只能写Source相关参数。9ConnInfo样例IP;数据库用户名;数据库用户密码;数据库名;数据库端口号;数据连接字符集; 1、单个IP长度限制19数据库IP地址。 2、单个用户名长度限制19数据库用户名。 3、单个用户名密码长度限制29数据库密码。 4、单个数据库名长度限制29数据库名。 5、数据库端口。 6、长度限制9数据库连接字符集支持utf8和gbk如果是达梦连接需填写数字对照表如下 1UTF8 1 2GBK 2 3BIG5 3 4ISO_8859_9 4 5EUC_JP 5 6EUC_KR 6 7KOI8R 7 8ISO_8859_1 8 9SQL_ASCII 9 10GB18030 10 11ISO_8859_11 1110MigrationDb库级迁移参数单个数据库名长度限制29需要迁移的数据库名。 MigrationType为1的情况下此为PG的模式名。11BlackList库级迁移参数支持128个表黑名单表名长度限制参考Db。和MigrationDb一起使用可以。12SpecifiedTab1MigrationType为0的情况下表级迁移参数,格式:源端查询字段;源端库名;源端表名;源端过滤条件;目的端插入字段;目的端库名;目的端表名; 2MigrationType为1的情况下表级迁移参数,格式:源端查询字段;源端模式名;源端表名;源端过滤条件;目的端插入字段;目的端库名;目的端表名; 3如果没有特定条件可以不写但必须有分隔符举例如下 ;czg;testtab;;;zxj;NewTab; 这样相当于testtab迁移到NewTab没有任何特殊条件。 这个可以有多个标签想迁移多少张表就写几个标签。13[Target]Target标签头下面只能写Target相关参数。14ConnInfo参考Source的。15MigrationDb参考Source的。
九、安装步骤
大家也可以参考Readme.txt内容。
1、用户创建
大家也可以不创建这是为了不影响其他用户还有安全性考虑。
[rootczg0 ~]# groupadd lzl -g 2024
[rootczg0 ~]# useradd lzl -g 2024 -u 2024
[rootczg0 ~]# passwd lzl
2、安装包解压
[lzlczg0 ~]$ unzip HappySunshine_V1.5_X86_Centos7.9_Release_日期.zip
3、环境变量配置 [rootczg0 ~]# cat /home/lzl/.bashrc
# .bashrc# Source global definitions
if [ -f /etc/bashrc ]; then. /etc/bashrc
fi# Uncomment the following line if you dont like systemctls auto-paging feature:
# export SYSTEMD_PAGER# User specific aliases and functionsexport HAPPY_SUNSHINE_HOME/home/lzl/HappySunshine
export LD_LIBRARY_PATH$HAPPY_SUNSHINE_HOME/Libs:$LD_LIBRARY_PATH 4、环境变量生效 [lzlczg0 ~]$ source /home/lzl/.bashrc 5、动态库链接检验
1HsManager [lzlczg0 ~]$ ldd HappySunshine/Exec/HsManager linux-vdso.so.1 (0x00007ffc3a9fa000)libPublic.so /home/lzl/HappySunshine/Libs/libPublic.so (0x00007f094f383000)libLog.so /home/lzl/HappySunshine/Libs/libLog.so (0x00007f094f17e000)libSqQueue.so /home/lzl/HappySunshine/Libs/libSqQueue.so (0x00007f094ef78000)libPthread.so /home/lzl/HappySunshine/Libs/libPthread.so (0x00007f094ed6b000)libFileOperate.so /home/lzl/HappySunshine/Libs/libFileOperate.so (0x00007f094eb65000)libDataConvertion.so /home/lzl/HappySunshine/Libs/libDataConvertion.so (0x00007f094e960000)libProcess.so /home/lzl/HappySunshine/Libs/libProcess.so (0x00007f094e757000)libGbase8aDb.so /home/lzl/HappySunshine/Libs/libGbase8aDb.so (0x00007f094e550000)libgbase.so.16 /home/lzl/HappySunshine/Libs/libgbase.so.16 (0x00007f094e090000)libHashTable.so /home/lzl/HappySunshine/Libs/libHashTable.so (0x00007f094de8c000)libPgDb.so /home/lzl/HappySunshine/Libs/libPgDb.so (0x00007f094dc83000)libpq.so.5 /home/lzl/HappySunshine/Libs/libpq.so.5 (0x00007f094da2d000)libHsPublic.so /home/lzl/HappySunshine/Libs/libHsPublic.so (0x00007f094d82a000)libc.so.6 /lib64/libc.so.6 (0x00007f094d45c000)libpthread.so.0 /lib64/libpthread.so.0 (0x00007f094d240000)libdl.so.2 /lib64/libdl.so.2 (0x00007f094d03c000)libm.so.6 /lib64/libm.so.6 (0x00007f094cd3a000)/lib64/ld-linux-x86-64.so.2 (0x00007f094f586000) 2G8aExecutor
[lzlczg0 ~]$ ldd HappySunshine/Exec/G8aExecutor linux-vdso.so.1 (0x00007ffecf9fd000)libPublic.so /home/lzl/HappySunshine/Libs/libPublic.so (0x00007faca38b8000)libLog.so /home/lzl/HappySunshine/Libs/libLog.so (0x00007faca36b3000)libSqQueue.so /home/lzl/HappySunshine/Libs/libSqQueue.so (0x00007faca34ad000)libPthread.so /home/lzl/HappySunshine/Libs/libPthread.so (0x00007faca32a0000)libFileOperate.so /home/lzl/HappySunshine/Libs/libFileOperate.so (0x00007faca309a000)libDataConvertion.so /home/lzl/HappySunshine/Libs/libDataConvertion.so (0x00007faca2e95000)libProcess.so /home/lzl/HappySunshine/Libs/libProcess.so (0x00007faca2c8c000)libGbase8aDb.so /home/lzl/HappySunshine/Libs/libGbase8aDb.so (0x00007faca2a85000)libgbase.so.16 /home/lzl/HappySunshine/Libs/libgbase.so.16 (0x00007faca25c5000)libMyPool.so /home/lzl/HappySunshine/Libs/libMyPool.so (0x00007faca23c2000)libHashTable.so /home/lzl/HappySunshine/Libs/libHashTable.so (0x00007faca21be000)libHsPublic.so /home/lzl/HappySunshine/Libs/libHsPublic.so (0x00007faca1fbb000)libc.so.6 /lib64/libc.so.6 (0x00007faca1bed000)libpthread.so.0 /lib64/libpthread.so.0 (0x00007faca19d1000)libdl.so.2 /lib64/libdl.so.2 (0x00007faca17cd000)libm.so.6 /lib64/libm.so.6 (0x00007faca14cb000)/lib64/ld-linux-x86-64.so.2 (0x00007faca3abb000)
3Pg2G8aExecutor
[lzlczg0 ~]$ ldd HappySunshine/Exec/Pg2G8aExecutor linux-vdso.so.1 (0x00007ffdea9d0000)libPublic.so /home/lzl/HappySunshine/Libs/libPublic.so (0x00007f2c7a38f000)libLog.so /home/lzl/HappySunshine/Libs/libLog.so (0x00007f2c7a18a000)libSqQueue.so /home/lzl/HappySunshine/Libs/libSqQueue.so (0x00007f2c79f84000)libPthread.so /home/lzl/HappySunshine/Libs/libPthread.so (0x00007f2c79d77000)libFileOperate.so /home/lzl/HappySunshine/Libs/libFileOperate.so (0x00007f2c79b71000)libDataConvertion.so /home/lzl/HappySunshine/Libs/libDataConvertion.so (0x00007f2c7996c000)libProcess.so /home/lzl/HappySunshine/Libs/libProcess.so (0x00007f2c79763000)libGbase8aDb.so /home/lzl/HappySunshine/Libs/libGbase8aDb.so (0x00007f2c7955c000)libgbase.so.16 /home/lzl/HappySunshine/Libs/libgbase.so.16 (0x00007f2c7909c000)libMyPool.so /home/lzl/HappySunshine/Libs/libMyPool.so (0x00007f2c78e99000)libPgDb.so /home/lzl/HappySunshine/Libs/libPgDb.so (0x00007f2c78c90000)libpq.so.5 /home/lzl/HappySunshine/Libs/libpq.so.5 (0x00007f2c78a3a000)libHashTable.so /home/lzl/HappySunshine/Libs/libHashTable.so (0x00007f2c78836000)libHsPublic.so /home/lzl/HappySunshine/Libs/libHsPublic.so (0x00007f2c78633000)libc.so.6 /lib64/libc.so.6 (0x00007f2c78265000)libpthread.so.0 /lib64/libpthread.so.0 (0x00007f2c78049000)libdl.so.2 /lib64/libdl.so.2 (0x00007f2c77e45000)libm.so.6 /lib64/libm.so.6 (0x00007f2c77b43000)/lib64/ld-linux-x86-64.so.2 (0x00007f2c7a592000)
4Pg2DmExecutor
[lzlczg0 ~]$ ldd HappySunshine/Exec/Pg2DmExecutor linux-vdso.so.1 (0x00007ffd4eb65000)libPublic.so /home/lzl/HappySunshine/Libs/libPublic.so (0x00007f81c49f0000)libLog.so /home/lzl/HappySunshine/Libs/libLog.so (0x00007f81c47eb000)libSqQueue.so /home/lzl/HappySunshine/Libs/libSqQueue.so (0x00007f81c45e5000)libPthread.so /home/lzl/HappySunshine/Libs/libPthread.so (0x00007f81c43d8000)libFileOperate.so /home/lzl/HappySunshine/Libs/libFileOperate.so (0x00007f81c41d2000)libDataConvertion.so /home/lzl/HappySunshine/Libs/libDataConvertion.so (0x00007f81c3fcd000)libProcess.so /home/lzl/HappySunshine/Libs/libProcess.so (0x00007f81c3dc4000)libMyPool.so /home/lzl/HappySunshine/Libs/libMyPool.so (0x00007f81c3bc1000)libLinkList.so /home/lzl/HappySunshine/Libs/libLinkList.so (0x00007f81c39bd000)libPgDb.so /home/lzl/HappySunshine/Libs/libPgDb.so (0x00007f81c37b4000)libpq.so.5 /home/lzl/HappySunshine/Libs/libpq.so.5 (0x00007f81c355e000)libDmDb.so /home/lzl/HappySunshine/Libs/libDmDb.so (0x00007f81c333f000)libdmdpi.so /home/lzl/HappySunshine/Libs/libdmdpi.so (0x00007f81c2485000)libdmcpt.so /home/lzl/HappySunshine/Libs/libdmcpt.so (0x00007f81c2252000)libdmlogmnr_client.so /home/lzl/HappySunshine/Libs/libdmlogmnr_client.so (0x00007f81c0595000)libHashTable.so /home/lzl/HappySunshine/Libs/libHashTable.so (0x00007f81c0391000)libHsPublic.so /home/lzl/HappySunshine/Libs/libHsPublic.so (0x00007f81c018e000)libc.so.6 /lib64/libc.so.6 (0x00007f81bfdc0000)libm.so.6 /lib64/libm.so.6 (0x00007f81bfabe000)libpthread.so.0 /lib64/libpthread.so.0 (0x00007f81bf8a2000)librt.so.1 /lib64/librt.so.1 (0x00007f81bf69a000)libdl.so.2 /lib64/libdl.so.2 (0x00007f81bf496000)libstdc.so.6 /lib64/libstdc.so.6 (0x00007f81bf18e000)libgcc_s.so.1 /lib64/libgcc_s.so.1 (0x00007f81bef78000)libdmcfg.so /home/lzl/HappySunshine/Libs/libdmcfg.so (0x00007f81beb1a000)libdmclientlex.so /home/lzl/HappySunshine/Libs/libdmclientlex.so (0x00007f81be8e5000)libdmcomm.so /home/lzl/HappySunshine/Libs/libdmcomm.so (0x00007f81be6b2000)libdmcvt.so /home/lzl/HappySunshine/Libs/libdmcvt.so (0x00007f81bdf34000)libdmcpr.so /home/lzl/HappySunshine/Libs/libdmcpr.so (0x00007f81bdd30000)libdmelog.so /home/lzl/HappySunshine/Libs/libdmelog.so (0x00007f81bdac1000)libdmmsg.so /home/lzl/HappySunshine/Libs/libdmmsg.so (0x00007f81bd8b1000)libdmcalc.so /home/lzl/HappySunshine/Libs/libdmcalc.so (0x00007f81bd618000)libdmcyt.so /home/lzl/HappySunshine/Libs/libdmcyt.so (0x00007f81bd3f3000)libdmos.so /home/lzl/HappySunshine/Libs/libdmos.so (0x00007f81bd1be000)libdmutl.so /home/lzl/HappySunshine/Libs/libdmutl.so (0x00007f81bcfa3000)libdmmem.so /home/lzl/HappySunshine/Libs/libdmmem.so (0x00007f81bcd90000)libdmbtr.so /home/lzl/HappySunshine/Libs/libdmbtr.so (0x00007f81bcb5c000)libdmtrx.so /home/lzl/HappySunshine/Libs/libdmtrx.so (0x00007f81bc7b5000)libdmstrt.so /home/lzl/HappySunshine/Libs/libdmstrt.so (0x00007f81bc5a6000)libdmknl.so /home/lzl/HappySunshine/Libs/libdmknl.so (0x00007f81bc343000)libdmstg.so /home/lzl/HappySunshine/Libs/libdmstg.so (0x00007f81bc0f4000)libdmblb.so /home/lzl/HappySunshine/Libs/libdmblb.so (0x00007f81bbeb8000)libdmnsort.so /home/lzl/HappySunshine/Libs/libdmnsort.so (0x00007f81bbb9b000)libdmllog.so /home/lzl/HappySunshine/Libs/libdmllog.so (0x00007f81bb974000)libdmrs.so /home/lzl/HappySunshine/Libs/libdmrs.so (0x00007f81bb76f000)libdmsys.so /home/lzl/HappySunshine/Libs/libdmsys.so (0x00007f81bb568000)libdmrarch.so /home/lzl/HappySunshine/Libs/libdmrarch.so (0x00007f81bb313000)libdmtrv.so /home/lzl/HappySunshine/Libs/libdmtrv.so (0x00007f81bb0d9000)libdmtimer.so /home/lzl/HappySunshine/Libs/libdmtimer.so (0x00007f81baed3000)libdmmout.so /home/lzl/HappySunshine/Libs/libdmmout.so (0x00007f81babfe000)/lib64/ld-linux-x86-64.so.2 (0x00007f81c4bf3000)libdmdcrm.so /home/lzl/HappySunshine/Libs/libdmdcrm.so (0x00007f81ba9f1000)libdmshm.so /home/lzl/HappySunshine/Libs/libdmshm.so (0x00007f81ba7ec000)libdmshmm.so /home/lzl/HappySunshine/Libs/libdmshmm.so (0x00007f81ba5e6000)libdmckpt.so /home/lzl/HappySunshine/Libs/libdmckpt.so (0x00007f81ba3ca000)libdmfil.so /home/lzl/HappySunshine/Libs/libdmfil.so (0x00007f81ba1a5000)libdmdta.so /home/lzl/HappySunshine/Libs/libdmdta.so (0x00007f81b9eb8000)libdmrlog.so /home/lzl/HappySunshine/Libs/libdmrlog.so (0x00007f81b9bf8000)libdmmal.so /home/lzl/HappySunshine/Libs/libdmmal.so (0x00007f81b99b8000)libdmuthr.so /home/lzl/HappySunshine/Libs/libdmuthr.so (0x00007f81b97a5000)libdmtlog.so /home/lzl/HappySunshine/Libs/libdmtlog.so (0x00007f81b959b000)libdmdct.so /home/lzl/HappySunshine/Libs/libdmdct.so (0x00007f81b8edb000)libdmregex.so /home/lzl/HappySunshine/Libs/libdmregex.so (0x00007f81b8cd4000)libdmtbl.so /home/lzl/HappySunshine/Libs/libdmtbl.so (0x00007f81b8ace000)libdmhfs.so /home/lzl/HappySunshine/Libs/libdmhfs.so (0x00007f81b8835000)libdmlic.so /home/lzl/HappySunshine/Libs/libdmlic.so (0x00007f81b8629000)libdmlnk.so /home/lzl/HappySunshine/Libs/libdmlnk.so (0x00007f81b83f8000)libdmredo.so /home/lzl/HappySunshine/Libs/libdmredo.so (0x00007f81b8143000)libdmrtree.so /home/lzl/HappySunshine/Libs/libdmrtree.so (0x00007f81b7f31000)libdmenet.so /home/lzl/HappySunshine/Libs/libdmenet.so (0x00007f81b7d0b000)libdmxmal.so /home/lzl/HappySunshine/Libs/libdmxmal.so (0x00007f81b7af1000)libdmsbtree.so /home/lzl/HappySunshine/Libs/libdmsbtree.so (0x00007f81b78ed000)libdmbcast.so /home/lzl/HappySunshine/Libs/libdmbcast.so (0x00007f81b766f000)libdmscp.so /home/lzl/HappySunshine/Libs/libdmscp.so (0x00007f81b7457000)libdmjson.so /home/lzl/HappySunshine/Libs/libdmjson.so (0x00007f81b722e000)libdmspatial.so /home/lzl/HappySunshine/Libs/libdmspatial.so (0x00007f81b6f55000)libdmvtdskm.so /home/lzl/HappySunshine/Libs/libdmvtdskm.so (0x00007f81b6d44000)libdmdcr.so /home/lzl/HappySunshine/Libs/libdmdcr.so (0x00007f81b6b3c000)libdmasmapi.so /home/lzl/HappySunshine/Libs/libdmasmapi.so (0x00007f81b6915000)libdmasmapim.so /home/lzl/HappySunshine/Libs/libdmasmapim.so (0x00007f81b66c0000)libdmdfi.so /home/lzl/HappySunshine/Libs/libdmdfi.so (0x00007f81b64aa000)libdmvtdsk.so /home/lzl/HappySunshine/Libs/libdmvtdsk.so (0x00007f81b62a3000)libdmasm.so /home/lzl/HappySunshine/Libs/libdmasm.so (0x00007f81b6074000)libdmasmm.so /home/lzl/HappySunshine/Libs/libdmasmm.so (0x00007f81b5db8000)libdmdfs.so /home/lzl/HappySunshine/Libs/libdmdfs.so (0x00007f81b5b92000)
如果有动态库没有找到就要看看环境变量是否配置正确或是否生效。
如果是安装包中缺少动态库可以留言告知。
6、操作系统限制修改
1/etc/security/limits.conf
添加如下内容
lzl soft nofile 1048576
lzl hard nofile 1048576
lzl soft nproc 131072
lzl hard nproc 131072
lzl soft stack 1048576
lzl hard stack 1048576
lzl soft core unlimited
lzl hard core unlimited
2验证
记得重登操作系统用户再执行如下命令
[lzlczg0 ~]$ ulimit -a
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 15593
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1048576
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 1048576
cpu time (seconds, -t) unlimited
max user processes (-u) 131072
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
7、修改配置文件MigrationConfig.txt
具体的内容我都在配置文件中写好大家按照规则来就行。
1Gbase8a - Gbase8a //*代表不可以空
//单引号包围参数分号分割参数项
//每行开头不可以有空格不然会跳过此参数检查。
//SpecifiedTab参数可以有多个。[Tool] //工具信息。ProcessNums : 1; //*程序迁移时开的进程数。Level : 1; //*迁移级别。//2:库级迁移BlackList生效。//1:表级迁移SpecifiedTab生效。
OsInfo : 192.168.142.12;gbase;gbase; //*Gbase8a - Gbase8a LOAD使用。工具所在操作系统IP;操作系统用户;操作系统用户密码;长度同下方的数据库IP;数据库用户名;数据库用户密码;OneBatchNums : 50000; //*MigrationType为0、1、2的情况下支持此参数一个批次插入的数据条数。INSERT方式SwitchNums : 3000000; //*MigrationType为0的情况下支持此参数此数以上使用LOAD以下使用INSERT。MigrationType : 0; //*迁移类型支持0、1、2。//0 : Gbase8a - Gbase8a//1 : PostgreSql - Gbase8a//2 : PostgreSql - Dm[Source] //源端信息。ConnInfo : 192.168.142.12;root;;czg;5258;utf8; //IP;数据库用户名;数据库用户密码;数据库名;数据库端口号;数据连接字符集;//*单个IP长度限制19数据库IP地址。//*单个用户名长度限制12数据库用户名。//*单个用户名密码长度限制29数据库密码。//*单个数据库名长度限制29数据库名。//*数据库端口。//*长度限制9数据库连接字符集支持utf8和gbk如果是达梦连接需填写数字对照表如下//1UTF8 1//2GBK 2//3BIG5 3//4ISO_8859_9 4//5EUC_JP 5//6EUC_KR 6//7KOI8R 7//8ISO_8859_1 8//9SQL_ASCII 9//10GB18030 10//11ISO_8859_11 11MigrationDb : public; //库级迁移参数单个数据库名长度限制29需要迁移的数据库名。//MigrationType为1的情况下此为PG的模式名。BlackList : //库级迁移参数支持50个表黑名单表名长度限制参考Db。和MigrationDb一起使用可以。 #SpecifiedTab : a,b,c;czg;testtab;;x,y,z;zxj;NewTab; //MigrationType为0的情况下表级迁移参数,格式:源端查询字段;源端库名;源端表名;源端过滤条件;目的端插入字段;目的端库名;目的端表名;//MigrationType为1的情况下表级迁移参数,格式:源端查询字段;源端模式名;源端表名;源端过滤条件;目的端插入字段;目的端库名;目的端表名;//如果没有特定条件可以不写但必须有分隔符举例如下//;czg;testtab;;;zxj;NewTab;//这样相当于testtab迁移到NewTab没有任何特殊条件。//这个可以有多个标签想迁移多少张表就写几个标签。
#SpecifiedTab : ;czg;testtab_copy;;;zxj;testtab_copy;
#SpecifiedTab : ;czg;czg;;;zxj;czg;#SpecifiedTab : ;public;testtab;;;zxj;testtab;
#SpecifiedTab : ;public;students;;;zxj;students;
#SpecifiedTab : ;public;haha;;;zxj;haha;SpecifiedTab : ;public;testtab;;;zxj;testtab;[Target] //目的端信息。ConnInfo : 192.168.142.12;czg;qwer1234;zxj;5258;utf8;MigrationDb : zxj; //库级迁移参数单个数据库名长度限制29需要迁移的数据库名。 2PostgreSql - Gbase8a //*代表不可以空
//单引号包围参数分号分割参数项
//每行开头不可以有空格不然会跳过此参数检查。
//SpecifiedTab参数可以有多个。[Tool] //工具信息。ProcessNums : 1; //*程序迁移时开的进程数。Level : 1; //*迁移级别。//2:库级迁移BlackList生效。//1:表级迁移SpecifiedTab生效。
OsInfo : 192.168.142.12;gbase;gbase; //*Gbase8a - Gbase8a LOAD使用。工具所在操作系统IP;操作系统用户;操作系统用户密码;长度同下方的数据库IP;数据库用户名;数据库用户密码;OneBatchNums : 50000; //*MigrationType为0、1、2的情况下支持此参数一个批次插入的数据条数。INSERT方式SwitchNums : 3000000; //*MigrationType为0的情况下支持此参数此数以上使用LOAD以下使用INSERT。MigrationType : 1; //*迁移类型支持0、1、2。//0 : Gbase8a - Gbase8a//1 : PostgreSql - Gbase8a//2 : PostgreSql - Dm[Source] //源端信息。ConnInfo : 192.168.142.12;postgres;postgres;czg;5432;utf8; //IP;数据库用户名;数据库用户密码;数据库名;数据库端口号;数据连接字符集;//*单个IP长度限制19数据库IP地址。//*单个用户名长度限制12数据库用户名。//*单个用户名密码长度限制29数据库密码。//*单个数据库名长度限制29数据库名。//*数据库端口。//*长度限制9数据库连接字符集支持utf8和gbk如果是达梦连接需填写数字对照表如下//1UTF8 1//2GBK 2//3BIG5 3//4ISO_8859_9 4//5EUC_JP 5//6EUC_KR 6//7KOI8R 7//8ISO_8859_1 8//9SQL_ASCII 9//10GB18030 10//11ISO_8859_11 11MigrationDb : public; //库级迁移参数单个数据库名长度限制29需要迁移的数据库名。//MigrationType为1的情况下此为PG的模式名。BlackList : //库级迁移参数支持50个表黑名单表名长度限制参考Db。和MigrationDb一起使用可以。 #SpecifiedTab : a,b,c;czg;testtab;;x,y,z;zxj;NewTab; //MigrationType为0的情况下表级迁移参数,格式:源端查询字段;源端库名;源端表名;源端过滤条件;目的端插入字段;目的端库名;目的端表名;//MigrationType为1的情况下表级迁移参数,格式:源端查询字段;源端模式名;源端表名;源端过滤条件;目的端插入字段;目的端库名;目的端表名;//如果没有特定条件可以不写但必须有分隔符举例如下//;czg;testtab;;;zxj;NewTab;//这样相当于testtab迁移到NewTab没有任何特殊条件。//这个可以有多个标签想迁移多少张表就写几个标签。
#SpecifiedTab : ;czg;testtab_copy;;;zxj;testtab_copy;
#SpecifiedTab : ;czg;czg;;;zxj;czg;#SpecifiedTab : ;public;testtab;;;zxj;testtab;
#SpecifiedTab : ;public;students;;;zxj;students;
#SpecifiedTab : ;public;haha;;;zxj;haha;SpecifiedTab : ;public;testtab;;;zxj;testtab;[Target] //目的端信息。ConnInfo : 192.168.142.12;czg;qwer1234;zxj;5258;utf8;MigrationDb : zxj; //库级迁移参数单个数据库名长度限制29需要迁移的数据库名。 3PostgreSql - Dm
//*代表不可以空
//单引号包围参数分号分割参数项
//每行开头不可以有空格不然会跳过此参数检查。
//SpecifiedTab参数可以有多个。[Tool] //工具信息。ProcessNums : 1; //*程序迁移时开的进程数。Level : 1; //*迁移级别。//2:库级迁移BlackList生效。//1:表级迁移SpecifiedTab生效。
OsInfo : 192.168.142.12;gbase;gbase; //*Gbase8a - Gbase8a LOAD使用。工具所在操作系统IP;操作系统用户;操作系统用户密码;长度同下方的数据库IP;数据库用户名;数据库用户密码;OneBatchNums : 50000; //*MigrationType为0、1、2的情况下支持此参数一个批次插入的数据条数。INSERT方式SwitchNums : 3000000; //*MigrationType为0的情况下支持此参数此数以上使用LOAD以下使用INSERT。MigrationType : 2; //*迁移类型支持0、1、2。//0 : Gbase8a - Gbase8a//1 : PostgreSql - Gbase8a//2 : PostgreSql - Dm[Source] //源端信息。ConnInfo : 192.168.142.12;postgres;postgres;czg;5432;utf8; //IP;数据库用户名;数据库用户密码;数据库名;数据库端口号;数据连接字符集;//*单个IP长度限制19数据库IP地址。//*单个用户名长度限制12数据库用户名。//*单个用户名密码长度限制29数据库密码。//*单个数据库名长度限制29数据库名。//*数据库端口。//*长度限制9数据库连接字符集支持utf8和gbk如果是达梦连接需填写数字对照表如下//1UTF8 1//2GBK 2//3BIG5 3//4ISO_8859_9 4//5EUC_JP 5//6EUC_KR 6//7KOI8R 7//8ISO_8859_1 8//9SQL_ASCII 9//10GB18030 10//11ISO_8859_11 11MigrationDb : public; //库级迁移参数单个数据库名长度限制29需要迁移的数据库名。//MigrationType为1的情况下此为PG的模式名。BlackList : //库级迁移参数支持50个表黑名单表名长度限制参考Db。和MigrationDb一起使用可以。 #SpecifiedTab : a,b,c;czg;testtab;;x,y,z;zxj;NewTab; //MigrationType为0的情况下表级迁移参数,格式:源端查询字段;源端库名;源端表名;源端过滤条件;目的端插入字段;目的端库名;目的端表名;//MigrationType为1的情况下表级迁移参数,格式:源端查询字段;源端模式名;源端表名;源端过滤条件;目的端插入字段;目的端库名;目的端表名;//如果没有特定条件可以不写但必须有分隔符举例如下//;czg;testtab;;;zxj;NewTab;//这样相当于testtab迁移到NewTab没有任何特殊条件。//这个可以有多个标签想迁移多少张表就写几个标签。
#SpecifiedTab : ;czg;testtab_copy;;;zxj;testtab_copy;
#SpecifiedTab : ;czg;czg;;;zxj;czg;#SpecifiedTab : ;public;testtab;;;zxj;testtab;
#SpecifiedTab : ;public;students;;;zxj;students;
#SpecifiedTab : ;public;haha;;;zxj;haha;SpecifiedTab : ;public;testtab;;;zxj;testtab;[Target] //目的端信息。ConnInfo : 192.168.142.12;SYSDBA;SYSDBA;;5238;1;MigrationDb : zxj; //库级迁移参数单个数据库名长度限制29需要迁移的数据库名。
十、性能对比测试
和开源ETL工具Kettle进行对比测试。
由于本人测试条件有限所有的数据库和工具都部署在一个虚机里如果大家有条件可以在性能更好的环境下测试迁移效率肯定会比下面的结果更好。
1、性能测试对比表格
工具名\迁移项单位行/秒Gbase8a - Gbase8aPostgreSql - Gbase8aPostgreSql - DmHappySunshine43690INSERT 98304LOAD4369078643Kettle3215296420837
2、测试表结构
1Gbase8a
gbase DESC ZXJ.TESTTAB;
---------------------------------------------------------------------------------
| Field | Type | Null | Key | Default | Extra |
---------------------------------------------------------------------------------
| a | int(11) | YES | | NULL | |
| b | double | YES | | NULL | |
| c | varchar(100) | YES | MUL | NULL | |
| d | text | YES | | NULL | |
| e | blob | YES | | NULL | |
| f | longblob | YES | | NULL | |
| g | date | YES | | NULL | |
| h | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
| i | decimal(10,2) | YES | | NULL | |
---------------------------------------------------------------------------------
9 rows in set (Elapsed: 00:00:00.00)
2DM
SQL DESC ZXJ.TESTTAB;行号 NAME TYPE$ NULLABLE
---------- ---- ------------ --------
1 A INTEGER Y
2 B DOUBLE Y
3 C VARCHAR(100) Y
4 D TEXT Y
5 E BLOB Y
6 F BLOB Y
7 G DATE Y
8 H DATETIME(6) Y
9 I DEC(10, 2) Y9 rows got
3PostgreSql
czg# \d public.testtabTable public.testtabColumn | Type | Collation | Nullable | Default
----------------------------------------------------------------------------------------------a | integer | | not null | nextval(testtab_a_seq::regclass)b | double precision | | | c | character varying(100) | | | d | text | | | e | bytea | | | f | bytea | | | g | date | | | h | timestamp without time zone | | | i | numeric(10,2) | | |
Indexes:testtab_pkey PRIMARY KEY, btree (a)
3、测试数据样式
czg# SELECT * FROM PUBLIC.TESTTAB LIMIT 10;a | b | c | d | e | f | g | h | i
---------------------------------------------------------------------------------------------------------------------------2399798 | 2.1 | LXGZXJ|CLX | HAHHAHAH | \x414141414141 | \x424242424242424242424242 | 2024-08-19 | 2024-08-19 00:00:00 | 2399799 | 2.1 | LXGZXJ|CLX | HAHHAHAH | \x414141414141 | \x424242424242424242424242 | 2024-08-19 | 2024-08-19 00:00:00 | 0.002399800 | 2.1 | LXGZXJ|CLX | HAHHAHAH | \x414141414141 | \x424242424242424242424242 | 2024-08-19 | 2024-08-19 00:00:00 | 8.802399801 | 2.1 | LXGZXJ|CLX | HAHHAHAH | \x414141414141 | \x424242424242424242424242 | 2024-08-19 | 2024-08-19 00:00:00 | -8.802399802 | 2.1 | LXGZXJ|CLX | HAHHAHAH | \x414141414141 | \x424242424242424242424242 | 2024-08-19 | 2024-08-19 00:00:00 | 348.802399803 | 2.1 | LXGZXJ|CLX | HAHHAHAH | \x414141414141 | \x424242424242424242424242 | 2024-08-19 | 2024-08-19 00:00:00 | -348.802399804 | 2.1 | LXGZXJ|CLX | HAHHAHAH | \x414141414141 | \x424242424242424242424242 | 2024-08-19 | 2024-08-19 00:00:00 | 2399805 | 2.1 | LXGZXJ|CLX | HAHHAHAH | \x414141414141 | \x424242424242424242424242 | 2024-08-19 | 2024-08-19 00:00:00 | 0.002399806 | 2.1 | LXGZXJ|CLX | HAHHAHAH | \x414141414141 | \x424242424242424242424242 | 2024-08-19 | 2024-08-19 00:00:00 | 8.802399807 | 2.1 | LXGZXJ|CLX | HAHHAHAH | \x414141414141 | \x424242424242424242424242 | 2024-08-19 | 2024-08-19 00:00:00 | -8.80
(10 rows)
4、HappySunshine测试截图
1PostgreSql - Dm 2PostgreSql - Gbase8a 3Gbase8a- Gbase8a
INSERT LOAD 5、Kettle测试截图
1PostgreSql - Dm 测试步骤大家可以参考之前写的博客《Kettle-学习-03-PostgreSql迁移至达梦DM》
2PostgreSql - Gbase8a 测试步骤大家可以参考之前写的博客《Kettle-学习-02-PostgreSql迁移至Gbase8a》
3Gbase8a- Gbase8a 测试步骤大家可以参考之前写的博客《Kettle-学习-01-Gbase8a迁移至Gbase8a》 文章转载自: http://www.morning.xqxlb.cn.gov.cn.xqxlb.cn http://www.morning.qyjqj.cn.gov.cn.qyjqj.cn http://www.morning.lrdzb.cn.gov.cn.lrdzb.cn http://www.morning.tbcfj.cn.gov.cn.tbcfj.cn http://www.morning.ldzss.cn.gov.cn.ldzss.cn http://www.morning.xsetx.com.gov.cn.xsetx.com http://www.morning.gassnw.com.gov.cn.gassnw.com http://www.morning.hrrmb.cn.gov.cn.hrrmb.cn http://www.morning.sfrw.cn.gov.cn.sfrw.cn http://www.morning.qfnrx.cn.gov.cn.qfnrx.cn http://www.morning.hqmfn.cn.gov.cn.hqmfn.cn http://www.morning.znlhc.cn.gov.cn.znlhc.cn http://www.morning.fjglf.cn.gov.cn.fjglf.cn http://www.morning.smtrp.cn.gov.cn.smtrp.cn http://www.morning.gqksd.cn.gov.cn.gqksd.cn http://www.morning.xfjwm.cn.gov.cn.xfjwm.cn http://www.morning.pbsqr.cn.gov.cn.pbsqr.cn http://www.morning.lqklf.cn.gov.cn.lqklf.cn http://www.morning.yixingshengya.com.gov.cn.yixingshengya.com http://www.morning.rqfkh.cn.gov.cn.rqfkh.cn http://www.morning.wxfjx.cn.gov.cn.wxfjx.cn http://www.morning.ffbl.cn.gov.cn.ffbl.cn http://www.morning.nkyc.cn.gov.cn.nkyc.cn http://www.morning.jtszm.cn.gov.cn.jtszm.cn http://www.morning.cxnyg.cn.gov.cn.cxnyg.cn http://www.morning.tqfnf.cn.gov.cn.tqfnf.cn http://www.morning.bnzjx.cn.gov.cn.bnzjx.cn http://www.morning.klcdt.cn.gov.cn.klcdt.cn http://www.morning.mlwpr.cn.gov.cn.mlwpr.cn http://www.morning.phwmj.cn.gov.cn.phwmj.cn http://www.morning.qqbw.cn.gov.cn.qqbw.cn http://www.morning.xmrmk.cn.gov.cn.xmrmk.cn http://www.morning.kgnrh.cn.gov.cn.kgnrh.cn http://www.morning.mcjxq.cn.gov.cn.mcjxq.cn http://www.morning.ypjjh.cn.gov.cn.ypjjh.cn http://www.morning.fldsb.cn.gov.cn.fldsb.cn http://www.morning.cwfkm.cn.gov.cn.cwfkm.cn http://www.morning.kgsws.cn.gov.cn.kgsws.cn http://www.morning.jstggt.cn.gov.cn.jstggt.cn http://www.morning.qrzwj.cn.gov.cn.qrzwj.cn http://www.morning.pcgjj.cn.gov.cn.pcgjj.cn http://www.morning.ynlpy.cn.gov.cn.ynlpy.cn http://www.morning.xjqrn.cn.gov.cn.xjqrn.cn http://www.morning.tbkqs.cn.gov.cn.tbkqs.cn http://www.morning.pfbx.cn.gov.cn.pfbx.cn http://www.morning.rtsd.cn.gov.cn.rtsd.cn http://www.morning.lbrrn.cn.gov.cn.lbrrn.cn http://www.morning.xprq.cn.gov.cn.xprq.cn http://www.morning.rmyqj.cn.gov.cn.rmyqj.cn http://www.morning.drnjn.cn.gov.cn.drnjn.cn http://www.morning.tdfyj.cn.gov.cn.tdfyj.cn http://www.morning.rczrq.cn.gov.cn.rczrq.cn http://www.morning.zmpqh.cn.gov.cn.zmpqh.cn http://www.morning.xhlht.cn.gov.cn.xhlht.cn http://www.morning.ntlxg.cn.gov.cn.ntlxg.cn http://www.morning.fgwzl.cn.gov.cn.fgwzl.cn http://www.morning.pwppk.cn.gov.cn.pwppk.cn http://www.morning.gqcd.cn.gov.cn.gqcd.cn http://www.morning.xpzrx.cn.gov.cn.xpzrx.cn http://www.morning.pclgj.cn.gov.cn.pclgj.cn http://www.morning.rrwgh.cn.gov.cn.rrwgh.cn http://www.morning.ckfqt.cn.gov.cn.ckfqt.cn http://www.morning.rnytd.cn.gov.cn.rnytd.cn http://www.morning.mhdwp.cn.gov.cn.mhdwp.cn http://www.morning.gccdr.cn.gov.cn.gccdr.cn http://www.morning.trplf.cn.gov.cn.trplf.cn http://www.morning.chkfp.cn.gov.cn.chkfp.cn http://www.morning.cjxqx.cn.gov.cn.cjxqx.cn http://www.morning.srjgz.cn.gov.cn.srjgz.cn http://www.morning.mydgr.cn.gov.cn.mydgr.cn http://www.morning.sglcg.cn.gov.cn.sglcg.cn http://www.morning.mjtft.cn.gov.cn.mjtft.cn http://www.morning.xflzm.cn.gov.cn.xflzm.cn http://www.morning.rfljb.cn.gov.cn.rfljb.cn http://www.morning.nlqmp.cn.gov.cn.nlqmp.cn http://www.morning.hpmzs.cn.gov.cn.hpmzs.cn http://www.morning.fqhbt.cn.gov.cn.fqhbt.cn http://www.morning.dfrenti.com.gov.cn.dfrenti.com http://www.morning.dndk.cn.gov.cn.dndk.cn http://www.morning.fdrwk.cn.gov.cn.fdrwk.cn