kingbase R6 补丁升级

升级前先使用 sys_rman 对旧版本数据库做好备份
sys_rman --config=/home/kingbase/kbbr_repo/sys_rman.conf --stanza=kingbase --archive-copy --type=full backup

备份数据库文件目录
cp -r /data data.bak

修改旧版本数据库参数
vim kingbase.conf
archive_mode=off
sys_hba.conf 所有校验方式为trust
sed -i “s/scram-sha-256/trust/g” /home/kingbase/ES/V8/data/sys_hba.conf

创建新版本数据库所需路径
mkdir -p /home/kingbase/301

上传解压安装包
cd /home/kingbase/301
tar -zxvf kingbase-server-V008R006B01161558-linux-x86_64.tar

用新版本数据库initdb初始化一个全新的data目录
initdb -D /home/kingbase/301/data -Usystem

将license文件上传至新版本数据库bin目录下
cp license.dat /home/kingbase/301/bin

修改新版本数据库参数
vim kingbase.conf
port=54322

共享对象拷贝
如果旧版本数据库中有新增插件相关的so库,而新版本数据库中没有的,需要把相关so拷贝到新版本数据库lib目录下
例如:kdb_tinyint.so库在旧版本数据库lib目录下有,而新版本数据库lib目录下没有,则需要把kdb_tinyint.so 拷贝到新版本数据库的lib目录下

新旧参数文件对比 --或将旧参数直接cp到新数据目录下,需注意新老数据库端口不能一致
diff /home/kingbase/ES/V8/data/kingbase.conf /home/kingbase/301/data/kingbase.conf
diff /home/kingbase/ES/V8/data/kingbase.auto.conf /home/kingbase/301/data/kingbase.auto.conf
diff /home/kingbase/ES/V8/data/sys_hba.conf /home/kingbase/301/data/sys_hba.conf

关闭新旧版本数据库
sys_ctl -D /home/kingbase/ES/V8/data stop
sys_ctl -D /home/kingbase/301/data stop

兼容性检查
-b:旧版本数据库bin目录,绝对路径
-B:新版本数据库bin目录,绝对路径
-d:旧版本数据库data目录,绝对路径
-D:新版本数据库data目录,绝对路径
-c:检测是否能升级
-p:小写的p)临时旧版本数据库端口号
-P:(大写的P)临时新版本数据库端口号,和旧版本数据库端口号不能是同一个
-U:登录旧版本数据库和新版本数据库的用户名,旧版本数据库和新版本数据库的用户名必须一致
sys_upgrade -b /home/kingbase/ES/V8/Server/bin -B /home/kingbase/301/bin -d /home/kingbase/ES/V8/data -D /home/kingbase/301/data -c -p 54321 -P 54322 -U system

如报错检查失败相关日志
-rw-------. 1 kingbase kingbase 540 Jan 17 06:26 sys_upgrade_utility.log
-rw-------. 1 kingbase kingbase 4298 Jan 17 06:26 sys_upgrade_server.log
-rw-------. 1 kingbase kingbase 1421 Jan 17 06:26 sys_upgrade_internal.log
more /home/kingbase/301/data/sys_upgrade_server.log

执行升级操作
sys_upgrade -b /home/kingbase/ES/V8/Server/bin -B /home/kingbase/301/bin -d /home/kingbase/ES/V8/data -D /home/kingbase/301/data -p 54321 -P 54322 -U system

升级期间出现错误请根据错误日志输出,修改对应旧版本数据库的配置,重新返回“使用新版本数据库 initdb初始化一个全新的 data 目录这步重新开始

启动数据库
sys_ctl -D /home/kingbase/301/data start

执行统计信息采集脚本
analyze_new_cluster.sh脚本添加端口后执行

./analyze_new_cluster.sh

设置新版数据库环境变量
vim ~/.bashrc
export PATH=/home/kingbase/301/bin:$PATH

恢复数据
sys_rman --config=/home/kingbase/kbbr_repo/sys_rman.conf --stanza=kingbase --kb1-path=/home/kingbase/301/data

修改物理、逻辑备份
vim sys_backup.conf

升级后警告问题处理
sys_upgrade在一些情况升级完成后会发出警告,这提示需要做升级之后的处理。它将生成一些必须由管理员运行的脚本文件,这些脚本文件连接到每一个升级后数据库,不区分顺序运行
ksql --username=kingbase --file=script.sql kingbase

此问题为脚本中未添加参数指定端口导致

快速升级
停止数据库
sys_ctl stop -D /home/kingbase/ES/V8/data stop

备份Server目录
cd /home/kingbase/ES/V8/Server
mv Server Server.bak
mkdir Server

上传解压lincnse、数据库安装包
tar -zxvf kingbase-server-V008R006B01161558-linux-x86_64.tar -C /home/kingbase/ES/V8/Server

启动数据库
sys_ctl -D /home/kingbase/ES/V8/data start

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值