暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

金仓数据库Kingbase不停服务更换license

lucky 2023-11-15
2775

操作环境

操作系统版本

[kingbase@centos7 ~]$ cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) [kingbase@centos7 ~]$

数据库版本

test=# select version(); version ---------------------------------------------------------------------------------------------------------------------- KingbaseES V008R006C007B0012 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46), 64-bit (1 行记录) test=#

数据库模式

test=# show database_mode ; database_mode --------------- oracle (1 行记录) test=#

license到期预警

kingbase数据库的license在到期前30天会在我们使用ksql登录时发出到期预警

[kingbase@centos7 ~]$ ksql -Usystem -dtest ksql (V8.0) 输入 "help" 来获取帮助信息. WARNING:License file will expire in 11 days. test=#

从官网下载最新版license并上传服务器

https://www.kingbase.com.cn/sqwjxz/index.htm

image.png

注:license企业版、专业版等异同见 差异说明

[kingbase@centos7 ~]$ ll | grep license -rw-r--r--. 1 root root 2637 1月 31 23:46 license-企业版.zip [kingbase@centos7 ~]$ [kingbase@centos7 ~]$ unzip license-企业版.zip Archive: license-企业版.zip creating: license_26556/ inflating: license_26556/license_26556_0.dat [kingbase@centos7 ~]$ [kingbase@centos7 ~]$ ll | grep license drwxrwxr-x. 2 kingbase kingbase 33 11月 18 15:55 license_26556 -rw-r--r--. 1 root root 2637 1月 30 23:46 license-企业版.zip [kingbase@centos7 ~]$ [kingbase@centos7 ~]$ cd license_26556/ [kingbase@centos7 license_26556]$ [kingbase@centos7 license_26556]$ ll 总用量 4 -rw-rw-r--. 1 kingbase kingbase 3529 11月 18 15:55 license_26556_0.dat [kingbase@centos7 license_26556]$

移除旧版license

一般情况下,license位于安装目录下,可通过find命令查找

[kingbase@centos7 ~]$ find /opt/Kingbase/ES/V8/ -name license.dat /opt/Kingbase/ES/V8/KESRealPro/V008R006C007B0012/license.dat /opt/Kingbase/ES/V8/license.dat [kingbase@centos7 ~]$ [kingbase@centos7 ~]$

此处license为软链接,先删除软链接,移除实际license后再重新创建

[kingbase@centos7 V8]$ ll | grep -i license.dat lrwxrwxrwx. 1 kingbase kingbase 60 11月 14 16:40 license.dat -> /opt/Kingbase/ES/V8/KESRealPro/V008R006C007B0012/license.dat [kingbase@centos7 V8]$ [kingbase@centos7 V8]$ unlink license.dat [kingbase@centos7 V8]$ [kingbase@centos7 V8]$ ll | grep -i license.dat [kingbase@centos7 V8]$

为了避免license更换失败,暂不删除旧版license

[kingbase@centos7 V8]$ cd KESRealPro/V008R006C007B0012/ [kingbase@centos7 V008R006C007B0012]$ [kingbase@centos7 V008R006C007B0012]$ ll | grep license -rwxr-x---. 1 kingbase kingbase 3386 11月 14 16:44 license.dat [kingbase@centos7 V008R006C007B0012]$ [kingbase@centos7 V008R006C007B0012]$ mv license.dat license.dat.20230201 [kingbase@centos7 V008R006C007B0012]$ [kingbase@centos7 V008R006C007B0012]$ ll | grep license -rwxr-x---. 1 kingbase kingbase 3386 11月 14 16:44 license.dat.20230201 [kingbase@centos7 V008R006C007B0012]$ [kingbase@centos7 V008R006C007B0012]$

注意license的属主是否为kingbase!

更换license并设置新的软链接

kingbase@centos7 V008R006C007B0012]$ mv /home/kingbase/license_26556/license_26556_0.dat ./license.dat [kingbase@centos7 V008R006C007B0012]$ [kingbase@centos7 V008R006C007B0012]$ ll | grep license.dat -rw-rw-r--. 1 kingbase kingbase 3529 11月 18 15:55 license.dat -rwxr-x---. 1 kingbase kingbase 3386 11月 14 16:44 license.dat.20230201 [kingbase@centos7 V008R006C007B0012]$ [kingbase@centos7 V008R006C007B0012]$ ln -s /opt/Kingbase/ES/V8/KESRealPro/V008R006C007B0012/license.dat /opt/Kingbase/ES/V8/license.dat [kingbase@centos7 V008R006C007B0012]$ [kingbase@centos7 V008R006C007B0012]$ cd ../../ [kingbase@centos7 V8]$ ll | grep license lrwxrwxrwx. 1 kingbase kingbase 60 2月 1 10:43 license.dat -> /opt/Kingbase/ES/V8/KESRealPro/V008R006C007B0012/license.dat [kingbase@centos7 V8]$

通过sys_reload_conf()命令使license生效

  1. 使用ksql登录数据库,发现license到期告警还在
  2. 执行 select sys_reload_conf(); 命令【pg数据库模式下,命令为select pg_reload_conf();】
  3. \q 退出,再使用ksql再次登录,发现告警信息没有了,通过select get_license_validdays();可见license已经更换成功。
  4. 通过select sys_postmaster_start_time();命令可知kingbase启动时间,确认kingbase在此次license更换过程中未出现服务中断。

[kingbase@centos7 ~]$ ksql -Usystem -dtest ksql (V8.0) 输入 "help" 来获取帮助信息. WARNING:License file will expire in 11 days. test=# test=# test=# select sys_reload_conf(); sys_reload_conf ----------------- t (1 行记录) test=# test=# \q [kingbase@centos7 ~]$ [kingbase@centos7 ~]$ ksql -Usystem -dtest ksql (V8.0) 输入 "help" 来获取帮助信息. test=# test=# select get_license_validdays(); get_license_validdays ----------------------- 90 (1 行记录) test=# test=# select sys_postmaster_start_time(); sys_postmaster_start_time ------------------------------- 2023-01-31 10:39:16.660882+08 (1 行记录) test=#

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论