
目 录
目录 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1 KingbaseES 单机升级最佳实践 3
1.1 定义 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 升级前准备 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.1 旧版本数据库做好备份 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.2 安装新版本 kingbase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.3 license.dat 配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.4 使用新版本数据库 initdb 初始化一个全新的 data 目录 . . . . . . . . . . . . . . . . . . . . 4
1.2.5 共享对象拷贝 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.6 修改旧版本数据库配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.6.1 修改 kingbase.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.6.2 修改 sys_hba.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.6.3 拷贝配置文件到新 data 目录 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 使用 KES sys_upgrade 升级数据库 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.1 兼容性检查 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.2 执行升级 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 升级后处理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4.1 警告处理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4.2 统计信息 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4.3 删除旧 DB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4.4 检查环境变量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4.5 修改配置文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.5 升级完成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.6 物理备份 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.7 失败回退操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.7.1 使用的非链接模式升级,新主库操作: . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.7.2 使用硬链接模式升级,新主库操作: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.7.2.1 新 data 还未启动过 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.7.2.2 新 data 已启动 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.7.2.3 启动数据库 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2 KingbaseES 集群升级最佳实践 14
2.1 定义 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2 开始数据库升级之前要完成的数据库准备任务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.1 检查 rsync 是否可以使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.2 旧版本数据库做好备份 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2.3 停止待升级集群 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2.4 重命名老版本安装目录和 data 目录 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1
评论