背景

为推进国产技术的发展,公司部分项目实行软件国产化

目标

由原来的centos改为UOS,服务器及软件全部替换

适配计划

1、国产化环境搭建
2、原数据库字段长度扩容
3、数据库数据迁移
4、文件迁移

适配步骤

1、国产化环境搭建(略)

补充下人大金仓数据库安装,希望对大家有所帮助

1、创建目录#数据库安装目录/opt/Kingbase/ES/V8#数据存储目录/data/kingbase-54321
2、安装数据库(记得准备license.dat)1、解压数据库安装文件2、控制台安装:sh setup.sh -i console3、接受许可、指定license.dat文件(/opt/license.dat)、指定安装目录、指定存储目录,完成数据库安装4、启动数据库实例:sys_ctl -D /data/kingbase-54321#停止:sys_ctl stop -D /data/kingbase-543215、初始化数据库:initdb -E UTF-8 -USYSTEM  --case-insensitive -D /data/kingbase-54321--case-insensitive:取消大小写敏感,如果不需要,步骤5可忽略6、修改数据文件下kingbase.config#解决where a_col = '' 的问题ora_input_emptystr_isnull = false #port = 54322 需要修改端口的改 7、再次启动:sys_ctl stop -D /data/kingbase-54321sys_ctl -D /data/kingbase-54321 -l logfile start8、创建数据库#临时使用createdb -p 54321 -E utf-8 -O SYSTEM -U SYSTEM db_testksql -p54321 -USYSTEM -d db_testCREATE DATABASE db_aaa ENCODING ='utf-8' LC_COLLATE="zh_CN.utf-8" LC_CTYPE="zh_CN.utf-8" TEMPLATE TEMPLATE0;9、创建库下的模式ksql -p54321 -USYSTEM -d db_aaaCREATE SCHEMA db_schema1;CREATE SCHEMA db_schema2;CREATE SCHEMA db_schema3;
3、完成安装如果一台服务器安装多实例数据库,这种方式也支持。

2、原数据库字段长度扩容(略)

长度扩容原因:原数据库中文占一个字符,kingbase占三个字符
提前扩容避免了哪些问题?
1、数据无法导入到目标库
2、索引文件有效
3、避免其他问题出现

3、数据库数据备份

首先需要了解库和模式的关系
一个数据库下有多个模式

在目标库创建数据库,记得添加字符集和大小写敏感

在目标库下创建对应的模式

数据备份

1、导出表结构./pg_dump -h172.16.xxx.xxx -p5432 -Uuser -ddb_test -ndb_schema--section=pre-data > /opt/bak/schema_table.dmp
2、导出数据./pg_dump -h172.16.xxx.xxx -p5432 -Uuser -ddb_test  -ndb_schema --section=data > /opt/bak/schema_data.dmp
3、导出索引./pg_dump -h172.16.xxx.xxx -p5432 -Uuser -ddb_test  -ndb_schema --section=post-data > /opt/bak/schema_index.dmp
4、修改脚本1、编辑*_table.dmp和*_inedx.dmp文件,修改其中插件名称、系统模式、系统表中pg_为sys_2、修改表中的数据库模式和所有者信息 ,(修改表文件和索引文件)例如:修改所有者:pg:Owner: user   改为 ksql :Owner: user(用户)修改所有者:pg:OWNER TO user   改为 ksql :OWNER TO user(用户)

4、恢复(到人大金仓)

前提:需要创建好库和模式

1、恢复表结构ksql -h172.16.xx.xx -p54321 -Uuser -ddb_test < /date/move/schema_table.dmp
2、恢复数据ksql -h172.16.xx.xx -p54321 -Uuser -ddb_test < /date/move/schema_data.dmp
3、恢复索引ksql -h172.16.xx.xx -p54321 -Uuser -ddb_test < /date/move/schema_index.dmp

5、应用服务配置

dataSource.driverClass=com.kingbase8.Driver
dataSource.jdbcUrl=jdbc:kingbase8://172.16.xxx.xxx:54322/db_xxx?Charset=utf8
dataSource.user=SYSTEM
dataSource.password=xxxx
#方言
hibernate.dialect=org.hibernate.dialect.Kingbase8Dialect

4、文件迁移(略)

总结

开发环境迁移完成后需要对整个系统流程验证,这个过程涉及到数据库连接,方言适配(一般需要重写源码),函数替换,字段长度验证等。

Postgresql适配国产化人大金仓(kingbase)相关推荐

  1. 数据库专题 数据库适配问题--人大金仓数据库适配问题总结(kingbase8)

    人大金仓数据库链接配置 这里以springBoot配置文件演示: spring.datasource.driver-class-name=com.kingbase8.Driver spring.dat ...

  2. linux下python3访问人大金仓KingBase ES 8

    数据库版本:KingBase ES V8.0 操作系统:统信UOS个人版 自带python3.7 必应搜索:linux python3 人大金仓搜到"python 3.6连接Kingbase ...

  3. 国产化人大金仓数据库转库工具:oracle12c数据库转kingbase8.6人大金仓数据库实例演示

    oracle12c数据库转人大金仓数据库实例演示 第一章:数据准备 ① 人大金仓建库建用户 ② 人大金仓授权表空间 ③ 人大金仓创建 schema 表 第二章:转库演示 ① 转库工具准备 ② 创建源库 ...

  4. 案例丨人大金仓KINGBASE助力国家能源集团186个新能源场站新集控系统上线

    近年来,信息技术国产化与开放创新相关课题得到了空前重视,在半导体.操作系统.数据库.通用软件.核心应用等细分领域,中国企业在部分场景中已经具备了与国际品牌同台竞争的能力.本着保障信息安全.降低维保成本 ...

  5. DBeaver连接人大金仓kingbase数据库配置

    1.打开DBeaver软件,点击"数据库",选择"驱动管理器". 2.点击"新建"进行人大金仓驱动管理器配置. 3.填写驱动配置信息,配置完 ...

  6. 人大金仓Kingbase 命令行/ksql 导出表里数据

    可以用人大金仓自带的数据库对象管理工具,方便快捷. 但通常我们面对的是服务器,没有桌面端,只有命令行. 可以使用 人大金仓自带的sys_dump工具 登录 cd 到人大金仓的安装目录中的bin,一般是 ...

  7. 国产化适配之人大金仓数据库(三)项目适配

    本文是对使用springboot的项目适配进行配置.另外由于使用了额外的框架进行二次开发,所以数据库的配置文件写在了nacos上面. 适配前准备 1.找到数据库链接的jar包,jar包在数据库所在的目 ...

  8. 国产化适配之人大金仓数据库(一)安装启动测试

    本文章主要介绍金仓数据的安装.启动.数据库连接测试. 前言 虽然主流数据库用的人多,但是在某些场合和环境必须要用国产的东西,包括数据库和中间件等,如果系统在开发之初用的是国外主流的东西,那么在使用国产 ...

  9. 国产化适配之人大金仓数据库(二)数据迁移

    本文介绍金仓数据库windows客户端自带的可视化界面数据迁移工具来迁移mysql的数据到金仓数据库. KingbaseDTS 数据库迁移工具 迁移前准备 因为不能使用默认的system用户,所以需要 ...

最新文章

  1. Ensemble-BioMart:得到基因注释信息(有参考基因组的物种)
  2. html 模板引擎 热部署,springboot系列四、配置模板引擎、配置热部署
  3. 笔记-高项案例题-2018年上-计算题
  4. java byte转换成string_Java byte []到/从String转换
  5. 完全优化MySQL数据库性能的八大巧方法
  6. 【原】npm 常用命令详解
  7. Flutter GetX 状态管理 响应式编程(三)
  8. oracle authentication_services,SQLNET.AUTHENTICATION_SERVICES= (NTS) 解释
  9. yocto添加登录用户和密码
  10. CentOS 7 安装Docker
  11. 外部数据源的使用汇总二
  12. 动态添加table表格内容,填充审批意见。
  13. Linux字符设备驱动实现
  14. oracle 19602,Oracle CPU Costing
  15. 软件工程计算机类电子信息类,热门的工科专业还要属计算机类、电子信息类、机械类...
  16. ios14描述文件无法与服务器连接,iOS14屏蔽更新描述文件已损坏,无法安装的解决办法...
  17. 上载人生(数字天堂)
  18. Amnesia失忆症攻略(本篇+later+crowd)
  19. 19.猜数字的游戏:随机生成数字与输入数字进行比较
  20. deepin 蓝牙适配器 安装

热门文章

  1. Python中的os.chdir()函数:改变当前工作目录
  2. 水仙花数c之和语言程序,水仙花数C语言的
  3. 评分卡:WOE、IV、PSI计算及ROC和KS曲线
  4. qq拼音输入法的剪切板工具挺好用
  5. 用java实现输入一行字符,分别统计出其中中文汉字、英文字母、空格、数字和其它字符的个数
  6. oracle 大数据量分页查询
  7. CDN加速可以为网络用户解决哪些难题?
  8. Adobe Acrabat PDF更新后要收费了?三款在线PDF工具解决你的燃眉之急!
  9. MOSS系列之五母版页和布局页Featur…
  10. html 订阅发布,发布订阅模式.html · Avan/blog_demo_defineProperty - Gitee.com