1 .一种数据库升级方法,其特征在于,所述方法包括:
步骤S1:将升级包放到待升级的数据节点,实现升级准备;
步骤S2:根据升级准备,对数据库执行升级;
步骤S3:对数据库是否升级成功进行验证,并根据验证结果决定是否提交升级。
2.根据权利要求1所述的数据库升级方法,其特征在于,所述方法还包括:在数据库升
级成功后,可以通过手动的回滚,使数据库所有信息恢复到旧库状态。
3 .根据权利要求1所述的数据库升级方法,其特征在于,步骤S2中,根据升级准备,对数
据库执行升级,包括:
步骤S201:寻找能够执行升级SQL脚本的主节点;
步骤S202:备份每个节点上的系统表、配置文件;
步骤S203:筛选并汇集需要执行的脚本,将主节点设置为升级模式;
步骤S204:根据筛选并汇集得到的脚本,更新数据库,完成执行升级。
4 .根据权利要求3所述的数据库升级方法,其特征在于,步骤S201中,当数据库部署为
单节点时,将单节点自身作为主节点;当数据库部署为高可用时,将主库作为主节点。
5 .根据权利要求4所述的数据库升级方法,其特征在于,步骤S202中,备份每个节点上
的系统表、配置文件,包括:在每个节点上,遍历所有数据库,将其保存的系统表进行备份;
对依赖于各自节点的配置文件进行备份。
6 .根据权利要求5所述的数据库升级方法,其特征在于,步骤S203中,筛选并汇集需要
执行的脚本,包括:
使用内核版本号对数据库内核进行升级的管理,当功能的更新涉及到系统表结构和内
容的更改时,为该功能编写相应的脚本,所述脚本包括升级脚本和回滚脚本,脚本的名称包
含内核版本号,根据新版数据库和旧版数据库的内核版本号筛选出需要执行的脚本;
按内核版本号的递增关系从小到大地将升级脚本的内容汇集到一个SQL文件中;按内
核版本号的递增关系从大到小地将回滚脚本的内容汇集到一个SQL文件中,采用事务块分
别对所述SQL文件进行包裹以保证执行的原子性。
7 .根据权利要求6所述的数据库升级方法,其特征在于,步骤S204中,根据筛选并汇集
得到的脚本,更新数据库,完成执行升级,包括:
对数据库依次执行前置回滚脚本和前置升级脚本;前置回滚脚本和前置升级脚本各自
包含maindb和otherdb脚本,其中,maindb脚本仅在postgres数据库中执行,otherdb脚本在
除postgres数据库外的所有数据库中执行;
通过软连接管理二进制文件,将软连接指向新版数据库的二进制文件,更新数据库二
进制文件,并重启数据库管理系统;
对数据库依次执行后置回滚脚本和后置升级脚本;后置回滚脚本和后置升级脚本各自
包含maindb和otherdb脚本,其中,maindb脚本仅在postgres数据库中执行,otherdb脚本在
除postgres数据库外的所有数据库执行。
8.根据权利要求3所述的数据库升级方法,其特征在于,步骤S2中,根据升级准备,对数
据库执行升级,还包括当数据库执行升级的过程出现错误导致不能再进行升级时,可以根
据升级的过程和备份的信息逐步回退实现自动回滚到升级前的状态,具体的,包括:
当回滚脚本执行成功,系统表的恢复仅在主库执行;
权 利 要 求 书
1/2 页
2
相关文档
评论