GaussDB数据库版本升级--升级兼容性检查

升级兼容性检查

操作场景

在执行GaussDB数据库版本升级前,建议进行兼容性检查,确认当前实例版本的业务SQL与目标版本间是否存在潜在的兼容性问题。

前提条件

由于升级兼容性检查报告依赖OBS,所以在下载报告之前,需要参考《对象存储服务3.0(OBS) 使用指南(for 华为云Stack 8.5.0)》中的“用户指南 > 使用前配置”章节配置DNS或者localhost。配置内容如下:

{obs_float_ip}dbs-gaussdb-driver-download-{region_id}.{obs_prefix}.{region_id}.{external_global_domain_name}

  • obs_float_ip:当前Region的OBS服务的外部访问地址,在OBS安装工程LLD查询参数名global_obsv3_ip,obs3.0为obsv3,obs2.0为obs。
  • region_id:当前Region的region_id,在底座LLD中查询参数region0_id获取。
  • obs_prefix:OBS服务域名前缀,obs3.0为“obsv3”,obs2.0为“obs”,在OBS安装工程LLD查询参数obsv3_global_domain_name_prefix。
  • external_global_domain_name:当前Region的外部服务域名,在底座LLD查询参数external_global_domain_name。
约束限制
  • 检查兼容性时目标版本仅支持V2.0-3.223.0。
  • 实例状态和节点状态需保持正常可用。
  • SQL文件最大不能超过20MB。
  • 升级兼容性检查功能属于白名单功能,使用前需要联系运维参考《云数据库 GaussDB 维护指南(for 华为云Stack 8.5.0)》中的“运维指南 > DBS运维管理平台操作指南 > 配置管理 > 特性白名单”章节,将“gaussdb_feature_upgradeCompatibility”白名单打开。
操作步骤
  1. 登录管理控制台
  2. 单击管理控制台左上角的,选择区域和项目。
  3. 在页面左上角单击,选择“数据库 > 云数据库 GaussDB”,进入云数据库 GaussDB信息页面。
  4. 在“实例管理”页面,选择指定的实例,单击实例的名称,进入“基本信息”页面。
  5. 在“数据库信息”模块,单击“版本升级兼容性”的“检查”按钮。

    图1 版本升级兼容性检查

  6. 在“版本升级兼容性”弹框,上传业务SQL文件,选择目标版本,输入“YES”单击“确定”。

    SQL文件可通过如下两种方式获取:

    图2 版本升级兼容性检查

  7. 完成后单击“版本升级兼容性”的“查看检查状态”按钮查看版本升级兼容性检查任务列表。

    图3 查看版本升级兼容性检查任务列表

  8. 选择任务状态为“完成”的记录,单击“下载”按钮下载检查报告。

    表1 报告字段说明

    报告字段

    字段说明

    item_name

    兼容性检查项名称。

    item_type

    兼容性检查类型。

    检查类型可能是下列单个类型或单个类型间的任意组合。

    • system_view : 系统视图。
    • GUC : GUC参数。
    • grammar : 语法。
    • system_table : 系统表。
    • procedure :存储过程。
    • privilege : 权限。
    • system_object : 系统对象。
    • system_function : 系统函数。
    • decoding : 解码。
    • system_column :系统列。
    • function : 函数。

    version

    目标版本。

    method_name

    检查方法。

    • ugo : 检查业务SQL中是否包含非兼容内容。
    • sql : 通过执行SQL语句的方式检查是否包含非兼容内容。
    • shell : 通过Shell脚本的方式检查是否存在非兼容内容。

    exec_node_description

    当前兼容性检查方法在哪些节点上执行。

    • 当method_name值为sql时:
      • all cn : 表示SQL语句每个CN都要执行。
      • all cn and primary dn : 表示SQL语句每个CN和主DN都要执行。
      • all primary dn : 表示SQL语句每个主DN都要执行。
      • only one of (cn and primary dn) : 表示SQL语句任选一个CN或者主DN进行执行。
    • 当method_name值为shell时 :
      • all node with (cn or primary dn) : 表示Shell脚本在每个存在CN或者主DN的节点执行。
      • all node with cn : 表示Shell脚本在每个存在CN的节点执行。
      • all node with primary dn : 表示Shell脚本在每个存在主DN的节点执行。
      • only one node of nodes with (cn or primary dn) : 表示Shell脚本任意选一个存在CN或者主DN的节点执行。
    • 当method_name值为ugo时:

      current node : 在当前任务执行节点执行。

    method_content

    兼容性检查执行的内容。

    • method_name值为ugo:表示在上传的SQL文件中匹配关键字进行兼容性检查。
    • method_name值为sql:表示通过执行SQL语句进行兼容性检查。
    • method_name值为shell:表示通过执行Shell脚本进行兼容性检查。

    result

    执行结果,执行对应检查项返回的原始结果。

    • “method_name”为“sql”:{"<组件名>": "SET\n<执行结果数量>/报错信息"}
    • “method_name”为“shell”:{"<执行节点IP>": "<执行结果数量>/报错信息"}
    • “method_name”为“ugo”:<执行结果数量>

    judge_method

    结果判断方法。

    judge_result

    判断结果。

    • PASS:当前检查项检查通过。
    • FAILED:当前检查项检查未通过,可能存在兼容性问题。
    • IGNORE:当前实例无需执行对应检查项。
    • ERROR:检查内容执行错误,可在“result”字段中查看详细错误信息,建议排查实例问题后重新检查。注意:
      • 如果存在兼容性问题可参考对应数据库引擎版本的(当前仅支持V2.0-3.223版本)的《版本兼容性说明》进行评估。
      • 如果当前检查项检查失败,检查实例是否存在异常节点。或查看“result”字段,例如存在“failed to connect”字样表示执行时无法连接到对应节点,请确保节点正常后重新执行。

  9. 检查报告中的不兼容项的详细说明,请参考《云数据库 GaussDB V2.0-3.223 升级兼容性检查说明书 01》。

更多详情请参考GaussDB 文档中心:https://doc.hcs.huawei.com/db/zh-cn/gaussdbqlh/24.1.30/productdesc/qlh_03_0001.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值