V2.2 Build 5
升级方法介绍
方法一: 以下简称为“重新初始化”
所有用户自定义的对象和数据都需要从旧库导出,再导入到新库。
- 使用vb_dump导出所有对象和数据。
- 使用数据库安装程序安装新的数据库。
- 开启数据库。
- 使用vb_restore导入步骤1中的备份数据到新库中。
方法二: 以下简称为“替换升级”
直接替换安装目录并重启数据库即可,步骤如下:
1、 停止数据库。
2、 解压安装包,把bin、include、lib、share四个目录替换到数据库安装目录下。 具体操作步骤如下: (1)解压安装包,第一次解压(安装包以实际为准)。
tar xf Vastbase-G100-installer-2.2_Build_5.161-openeuler_20.03-aarch64_kunpeng-20220812.tar.gz
(2)解压后进入vastbase-installer目录,进行第二次解压。
tar xf Vastbase-G100-2.2_Build_5.161-openeuler_20.03-aarch64_kunpeng.tar.gz
(3)第三次解压。
tar xf Vastbase-G100-2.2_Build_5.161-openeuler-64bit.tar.gz
(4)将解压之后的bin、include、lib、share四个目录替换到现有数据库安装目录下。 3、开启数据库。
方法三: 以下简称为“工具升级”
参见”快速入门->升级说明“章节。
版本升级指南
版本号说明
例:V2.2 Build 5(Patch No.1)
大版本:2.2
Build:5
Patch:补丁号,本例中为1
1、 不同大版本以及不同Build的升级必须使用方法一升级。
2、 补丁升级请遵循以下规则(升级前后版本均为V2.2 Build 5,以下表格只体现Patch(补丁号))。
升级前\升级后 V2.2 Build 5 Patch No.1~Patch No.25 Patch No.39 Patch No.75 Patch No.100 Patch No.120 Patch No.161 Patch No.173 <Patch No.0 重新初始化 重新初始化 重新初始化 重新初始化 重新初始化 重新初始化 重新初始化 重新初始化 >=Patch No.0 N/A 替换升级 替换升级 + 手工运行升级模式 工具升级 工具升级 工具升级 工具升级 工具升级 注意: 若原版本号<V2.2 Build 5(Patch No.100),且已使用存储加密或者gs_encrypt函数的SM4算法,需重新初始化,具体见V2.2 Build 5(Patch No.100)注意事项。
Vastbase G100 V2.2 Build 5
发布日期
2021年09月13日
新特性
1、 Oracle兼容性
- 支持BFILE数据类型
- PLpgSQL-TYPE … IS RECORD
- PLpgSQL支持集合类型
- 内置包DBMS_LOB
- DBMS_LOB.FILEOPEN
- DBMS_LOB.READ
- DBMS_LOB.FILECLOSE
- 支持pivot操作
2、 ECPG工具适配Vastbase
3、 RAS:对于SIGBUS信号的处理
4、 RAS:基于4p pro的故障感知
特性优化
1、 Oracle兼容性
- 内置包DBMS_LOB功能增强,新增DBMS_LOB.GETLENGTH函数支持获取BFILE对象的长度
2、 upsert功能增强
- 兼容PG中upsert的用法
3、 DBLINK功能增强
- 支持调用远程数据库的存储过程与函数
4、 密码有效期最大值修改为100*365天
5、 WDR snapshot更新统计信息
6、 全局分区索引适配支持ANALYZE VERIFY FAST
缺陷修复
1、 【ID1005180】修复函数中的connect by语句无法传入变量的问题
2、 【ID1005363】修复汉化环境下调用函数导致数据库宕机的问题
3、 【ID1005401】修复对于函数有多个传参类型,无法指定函数调用的问题
4、 【ID1005804】修复创建的用户名包含##时不能创建的问题
5、 【ID1005893】修复聚集SQL中rownum未出现在group by clause报错的问题
6、 【ID1005963】修复表字段为sessiontimezone时,插入数据时不带双引号报错的问题
7、 【ID1006054】修复重命名SCHEMA后,使用\d 命令查看带序列的表结构报错的问题
8、 【ID1006135】修复创建或修改行存表时,字段名称为tid时会报错的问题
9、 【ID1006153】修复REGEXP_REPLACE函数没有适配Oracle的问题
10、 【ID1006156】修复jdbc_fdw访问数据表字段为Vastbase关键字时无法识别的问题
11、 【ID1006273】修复初始化GBK字符集数据库报错的问题
12、 【ID1006308】修复建表使用link关键字报错的问题
13、 【ID1005771】修复security lable帮助信息缺少表字段相关信息的问题
14、 【ID1005788】修复审计开关无法开启的问题
15、 【ID1005880】修复使用gs_guc工具设置参数,输出异常提示的问题
16、 【ID1006016】修复vb_dump导出PACKAGE,vsql导入失败的问题
17、 【ID1006141】修复删除pldbgapi扩展失败的问题
18、 【ID1006151】修复PIPELINED与PIPE ROW无法使用的问题
19、 【ID1006157】修复参数vastbase_login_info不生效,无法开启登录信息显示的问题
20、 【ID1006192】修复KylinV10SP1使用安装程序安装数据库提示缺少依赖的问题
21、 【ID1006254】修复三权分立下,管理员使用pg_restore导入数据库后,三权分立状态自动关闭的问题
22、 【ID1006304】修复USER_TAB_PARTITIONS视图不显示分区信息的问题
23、 修复恢复pg_dw_single文件时跳过了对索引为0位置的数据页面的处理的问题
24、 修复分区表交换分区时,如果指定verbose会报错的问题
25、 修复普通表的数据迁移到分区报错,压缩标记有定义的时候,把它置为NOCOMPRESS
26、 修复分区表并发访问,锁冲突导致的系统hang
27、 修复gs_probackup增量备份数据不完整的问题
28、 修复两个memcheck检测到的内存越界访问问题
29、 修复build完成后数据flush落盘
30、 修复cm_ctl build时产生core文件的问题
31、 扩展逻辑复制时候,cmd命令的长度限制从1024到100*1024
32、 向心跳线程发送SIGTERM信号时机后移
33、 增加nblock cache,降低smgrnblock造成的系统负载高
34、 修复fix shared_buffers设置极小时,淘汰策略ring size为0的问题&设置过大时,可能存在的内存问题
35、 修复report_iud_time函数中try catch跳转后锁队列混乱的问题
36、 修复极致rto脏页面漏刷问题
37、 修复远程读因invalidbuffer频繁core问题
38、 修复执行引擎的两个问题
39、 修复guc参数 behavior_compat_options 设置为-1时,statement_history内is_slow_sql字段依然为true的问题
40、 修复autovacuum分区表问题
41、 修复执行业务期间,upsert语句报错unrecognized heap_lock_tuple status:4的问题
42、 修复子事务里内存报错core问题
43、 修复heap-use-after-free checkstatement-stat-level问题
44、 修复percentworker在业务空闲场景下,线程占用cpu 7%的问题
45、 The SIGUSR2 flag bit is reset to False when a thread exits and interrupts are interrupted
46、 打印日志过程中增加屏蔽响应信号机制
47、 lib文件夹下的安全编译
48、 修复basebackup内存泄露问题
49、 修复probackup内存泄露问题
50、 修复 arm 机器 buf_state读取不到最新值的问题
51、 修复打开线程池频繁出现卡死问题,影响业务正常建立连接的问题
注意事项
1、 暂不支持汉化功能
2、 暂不支持语法CREATE MATERIALIZED VIEW WITH NO DATA
3、 暂不适配enable_opfusion参数,请关闭此参数以避免数据库宕机,另生产环境中不建议开启此参数
4、 参数query_dop设置为1,否则可能会引起SQL执行出错
5、 此版本暂不支持mysql_fdw功能
6、 不能注释参数wal_level及max_wal_senders
7、 为了避免备库增量同步失败问题:”FATAL: Forbit remote connection with initial user. gs_rewind receive ERROR, it will exist.“,请在主库pg_hba.conf文件中添加以下行:
# 必须写在 host all all 0.0.0.0/0 md5 行前面 host all <数据库初始用户名> <备库IP地址>/32 trust
8、 参数synchronous_commit不能设置为remote_apply,否则可能会存在严重的性能问题
9、 凝思操作系统下审计功能存在缺陷,需暂时关闭,设置参数audit_enabled=off
10、 在高负载情况( 7x24小时TPC-C测试)下,同步备库会有xlog日志堆积的问题,避免此问题有两种解决方法:
(1)开启极致RTO
(2)在不存在异步备的情况下开启流控
enable_xlog_prune=on recovery_time_target=1800 #开启流控,指备机能够在recovery_time_target时间内完成日志的写入和回放,单位为秒,示例表示1800秒即30分钟