#升级前准备
# 获得新版本安装包
请与YashanDB技术支持确认当前在用数据库版本是否可直接升级到该新版本。
# 确认临时目录的权限及空间
- 滚动升级时会创建安装新版本数据库的目录,请确保升级操作用户拥有创建该目录的权限,且具备充足的存储空间。
- 离线升级时会创建一个临时目录(${旧版本的安装目录}/upgrade_tmp/backup)作为备份目录,该目录包含解压软件包文件和当前数据库ctrl/system/undo/redo等文件的备份(主备环境中均备份至本机),请确保升级操作用户拥有创建该目录的权限,且拥有足够的存储空间。
# 依赖项检查
请参照依赖清单检查并确保服务器的依赖项均已满足要求。
# 检查SSH服务
升级需用到SSH和SFTP服务,请检查各服务器SSH服务是否已开启并允许升级操作用户远程登录。
可通过如下命令检查SSH服务是否已开启:
$ systemctl status sshd.service ● sshd.service - OpenSSH server daemon Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2023-04-26 14:32:52 CST; 3 months 6 days ago Docs: man:sshd(8) man:sshd_config(5) Main PID: 6372 (sshd) CGroup: /system.slice/sshd.service └─6372 /usr/sbin/sshd -D
可通过如下命令检查升级中是否能操作用户远程登录:
使用当前用户SSH连接到当前服务器,SSH可以使用密码或密钥免密:
$ ssh 用户名@IP -p SSH端口
按照命令提示输入密码,查看是否能够成功连接上SSH服务器。
# 检查数据库实例状态
升级前请确保数据库实例(包括主备环境中的所有数据库实例)为OPEN状态,可通过如下命令检查数据库实例状态:
# 请将password@IP:port修改成设置的sys密码及对应IP地址:端口号
$ yasboot sql -d sys/password@IP:port -s 'select status from v$instance;'
STATUS
-----------------
OPEN
其中:
-d, --dsn 提供以一串字符串执行用户名密码输入的方式,例如 'username/password@192.168.1.2:1688'
-s, --sql 执行单条SQL命令并退出
# 终止守护进程
升级前请检查并终止各实例所在服务器上的守护进程。
Caution:
此步骤仅需终止与YashanDB相关的守护进程,无需终止其他应用相关的或系统本身的monit进程。
# 确认是否存在monit进程
$ ps -ef | grep monit
yashan 5280 1 1 11:20 ? 00:00:00 /data/yashan/yasdb_home/yashandb/23.2.1.100/ext/monit/monit -c /data/yashan/yasdb_home/yashandb/23.2.1.100/ext/monit/monitrc
# 出现该回显信息表示存在monit进程且进程ID为5280(路径和进程ID等信息请以实际结果为准)
# 终止YashanDB相关的守护进程(进程ID请使用实际值)
$ kill -9 5280
# 全量checkpoint
等待主库redo全部同步至备库,然后在所有主备库执行全量checkpoint以加快升级速度。
ALTER SYSTEM CHECKPOINT;
# 检查仲裁模式
请检查当前环境是否开启了仲裁,若已开启仲裁,需暂时关闭仲裁再执行升级操作。
$ yasboot election config show -c yashandb
group 1
Protection Mode: MAXIMUM PROTECTION
Members:
[1-1:1] - Primary database
[1-2:2] - Physical standby database
Transport Lag: 0 seconds
Apply Lag: 0 seconds
Apply Rate: 3.79 MByte/s
Properties:
FailoverThreshold = 9
FailoverAutoReinstate = false
ZeroDataLossMode = true
Automatic Failover: Enabled in Zero Data Loss Mode # Enabled表示已开启仲裁
关闭仲裁:
$ yasboot election enable off -c yashandb
升级完成后,请按需还原相关配置,仲裁相关操作请查阅yasboot election。