人大金仓数据库KingbaseES sys_upgrade使用

本文详细介绍了Kingbase数据库系统升级工具sys_upgrade的使用方法,包括命令行参数、升级步骤(如移动旧集簇、安装新二进制文件、初始化新集簇等)、注意事项和流复制备用服务器的升级流程。
摘要由CSDN通过智能技术生成

sys_upgrade使用

关键字:

Kingbase、升级、sys_upgrade、人大金仓

命令行参数

Short

Long

Description

-b

--old-bindir=BINDIR

旧的KingbaseES可执行文件目录

-B

--new-bindir-BINDIR

新的KingbaseES可执行文件目录

-c

--check

只检查集簇,不更改任何数据

-d

--old-datadir=DATADIR

旧的集簇数据目录

-D

--new-datadir=DATADIR

新的集簇数据目录

-j

--jobs

同时使用的进程或线程数

-k

--link

使用硬链接来代替将文件拷贝到新集簇

-o

--old-options

直接传送旧kingbase命令的选项,多个选项可以追加在后面

-O

--new-options

直接传送给新kingbase命令的选项,多个选项可以追加在后面

-p

--old-port=PORT

旧的集簇端口号

-P

--new_port=PORT

新的集簇端口号

-r

--retain

在成功后保留SQL和日志文件

-s

--socketdir=DIR

升级期间用于kingbase套接字的目录;

默认为当前工作目录;

-U

--username=NAME

集簇的安装用户名

-v

--verbose

启动详细的内部日志

-V

--version

显示版本信息,然后退出

-?

--help

显示帮助,然后退出

--clone

使用高效的文件拷贝

使用方法

升级的步骤是:

  1. 移动旧集簇(可选)
    1. 如果使用的是与版本相关的安装目录(例如/opt/KingbaseES/V8),就不需要移动旧的集簇。图形化的安装程序会使用版本相关的安装目录。
    2. 如果按照目录不是版本相关的,就有必要移动当前的KingbaseES安装目录,以免干扰新的KingbaseES安装。一旦当前的KingbaseES服务器被关闭,就可以安全地重命名旧KingbaseES安装目录。
  2. 对于源码安装,编译新版本

用兼容旧集簇的configure表级编译新的KingbaseES源码。在开始升级之前,sys_upgrade将检查sys_controldata来确保所有设置都是兼容的。

  1. 安装新的KingbaseES二进制文件

安装新服务器的二进制文件和支持文件。sys_upgrade会被包含在默认的安装中。对于源码安装,如果你希望把新服务器安装在一个自定义的位置,可以使用prefix变量:

make prefix=/opt/Kingbase/ES/V8.new install

  1. 初始化新的KingbaseES集簇

使用initdb初始化新集簇,这里也要使用与旧集簇兼容的initdb。许多预编译的安装程序会自动做这个步骤。这里没有必要启动新集簇。

  1. 安装扩展共享对象文件
    1. 许多扩展和自定义模块,无论是来自contrib还是其他来源,都使用共享对象文件(或DLL),例如kbcrypto.so,如果旧集簇使用它,则必须在新集簇中安装与新服务器二进制文件匹配的共享对象文件,通常通过操作系统命令
    2. 不要加载模式定义,例如,CREATE EXTENSION kbcrypto,因为它们将从旧集群中复制。如果扩展更新可用,sys_upgrade将报告此情况并创建一个可以稍后运行以更新它们的脚本。
  2. 调整认证

sys_upgrade将会多次连接到旧服务器和新服务器,因此需要在sys_hba.conf中把认证设置成peer或者使用一个~/.encpwd文件。

  1. 停止两个服务器
  2. 准备备用服务器升级
  3. 运行sys_upgrade

运行新服务器的sys_upgrade二进制文件,指定新旧集簇的数据和可执行文件(bin)目录。也可以指定用户和端口,以及是否想要用链接来取代默认的肤质行为对数据文件进行处理。链接模式不需要文件拷贝,升级会快很多,且将使用更少的磁盘空间,但是在升级后一旦启动新集簇,旧集簇就无法被访问。

  1. 升级流复制和日志传送备用服务器

如果使用链接模式并且有流复制备用服务器,可以这样快速升级:

      1. 在备用服务器上安装新的KingbaseES二进制文件
      2. 确保新的备用机数据目录不存在
      3. 安装扩展共享对象文件

在新备用机上安装和新的主集簇中相同的自定义共享对象文件

      1. 停止备用服务器
      2. 保存配置文件
      3. 运行rsync

在使用链接模式时,备用服务器可以使用rsync快速升级。为了实现这一点,在主服务器上一个高于新旧数据库集簇目录的目录中为每个备用服务器运行这个命令:

rsync --archive --delete --hard-links --size-only --no-inc-recursive old_dir new_dir remote_dir

      1. 配置流复制和日志传送备用服务器
  1. 恢复sys_hba.conf
  2. 启动新服务器
  3. 升级后处理
  4. 统计信息
  5. 删除旧集簇
  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值