
# 热补丁升级
#### 操作场景
云数据库GaussDB提供了热补丁升级方式，仅用于产品问题修复。热补丁可以在业务不中断的情况下加载补丁，在不影响业务的前提下，在线解决一部分数据库的紧急问题。热补丁升级方式支持手动回退操作。
#### 注意事项
- 热补丁升级操作须有可以升级的热补丁，当没有可以升级的热补丁时，不显示热补丁升级。
- 升级涉及热补丁包的下载及解压流程，会占用一定的磁盘空间，建议DN磁盘使用率不得高于设置磁盘使用率阈值减去10%的值。
  ![](https://support.huaweicloud.com/usermanual-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
  DN磁盘使用率可以通过管理控制台监控指标查看。
  磁盘使用率阈值可以在管理控制台右上角，选择[新建工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/createIndex)，联系技术支持人员获取。
  
- 实例节点状态异常，不支持热补丁升级。
- 如果热补丁和备份冲突，热补丁升级过程中会停止实例的差备和全备。
- 热补丁升级/回退过程中不支持磁盘扩容、规格变更、备份、重置密码、重启实例、删除实例等操作。
- 建议在业务较小的时候执行热补丁升级操作，以确保CPU，磁盘，内存使用率等都有较大的空闲。
- 热补丁升级和回退支持单个实例不同补丁版本的批量操作，升级时按版本号从小到大依次升级，回退时按版本号从大到小依次回退。
- 如果升级过程中出现异常导致升级失败，系统会自动对实例进行回退，您可以在管理控制台右上角，选择[新建工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/createIndex)，联系华为云技术支持，由华为云工程师给出分析评估后重新执行升级。
- 升级完成后，支持手动回退操作。
- 批量热补丁升级时，最多可批量升级30个实例。
- 当前GaussDB支持创建实例和冷补丁升级后自动升级热补丁，如需开启该功能，您可以在管理控制台右上角，选择[新建工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/createIndex)，提交开通申请。需要注意的是将备份恢复到新实例暂不支持自动升级热补丁功能。
 
#### 操作步骤
#### 步骤一：升级前检查
版本升级前需要检查实例状态和实例的CPU使用率、内存使用率、磁盘使用率等监控指标是否正常。
1. 检查实例状态
   1. [登录云数据库GaussDB控制台](https://console.huaweicloud.com/gaussdb/?locale=zh-cn#/gaussdb/management/list)。
   
   2. 在"实例管理"页面，查看实例的运行状态是否正常。
      图1实例状态   
      ![](https://support.huaweicloud.com/usermanual-gaussdb/figure/zh-cn_image_0000002679853219.png "点击放大")
      
      如果实例状态异常，您可以在管理控制台右上角，选择[新建工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/createIndex)，联系华为云技术支持，由华为云工程师给出分析评估后进行处理。
      
    
2. 检查监控指标
   1. 在页面左上角单击![](https://support.huaweicloud.com/usermanual-gaussdb/figure/zh-cn_image_0000002649933380.png)，选择"管理与监管 \> 云监控服务 CES"，进入"云监控"服务信息页面。
   
   2. 在左侧导航栏选择"云服务监控 \> 云数据库 GaussDB"，进入"云服务监控"页面。
   
   3. 在云监控页面，单击需要查看监控的实例，进入"监控指标"页面。
      - 在"实例"页面查看"实例数据磁盘已使用百分比"，查看是否有磁盘满使用率不足的情况。
      
      - 在"节点"页面查看"CPU使用率"，查看是否有CPU长期过高的情况。
      
      - 在"节点"页面查看"内存使用率"，查看是否有内存飙升的情况。
      
      
      如果监控指标异常，您可以在管理控制台右上角，选择[新建工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/createIndex)，联系华为云技术支持，由华为云工程师给出分析评估后进行处理。
      
    
 
#### 步骤二：升级操作
【**方式一：单个实例版本升级**】
1. 在页面左上角单击![](https://support.huaweicloud.com/usermanual-gaussdb/figure/zh-cn_image_0000002680013891.png)，选择"数据库 \> 云数据库 GaussDB"，进入云数据库 GaussDB信息页面。
2. 在"实例管理"页面，选择指定的实例，单击"操作"列的"更多 \> 版本升级 "。
3. 在"版本升级"界面，单击"热补丁升级"，输入"YES"，单击"确定"，确认升级。
   ![](https://support.huaweicloud.com/usermanual-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
   目标版本会展示出所有待升级的补丁版本，补丁版本为多个时，提交升级后会按照从小到大的顺序依次升级所有可升级的热补丁。
   
   图2版本升级界面   
   ![](https://support.huaweicloud.com/usermanual-gaussdb/figure/zh-cn_image_0000002679854057.png "点击放大")
   
   
4. 在"实例管理"页面，查看版本升级情况。
   - 升级过程中，实例运行状态为"实例版本升级中"。
   
   - 升级完成后，实例运行状态变为"正常"。此时，您可以在实例"基本信息"页面，"配置信息"模块查看"已升级热补丁版本"是否已包含目标版本；或者在实例管理页面，右上角![](https://support.huaweicloud.com/usermanual-gaussdb/figure/zh-cn_image_0000002649934220.png "点击放大")中勾选"已升级热补丁版本"，在实例列表中查看包含目标版本。
    
【**方式二：批量实例版本升级** 】
1. 在页面左上角单击![](https://support.huaweicloud.com/usermanual-gaussdb/figure/zh-cn_image_0000002649774326.png)，选择"数据库 \> 云数据库 GaussDB"，进入云数据库 GaussDB信息页面。
2. 在"实例管理"页面，选择指定的实例，单击"批量版本升级"。
   图3批量版本升级   
   ![](https://support.huaweicloud.com/usermanual-gaussdb/figure/zh-cn_image_0000002649933444.png "点击放大")
   
   
3. 在"批量版本升级"界面，单击"热补丁升级"。
4. 输入"YES"，单击"确定"，确认升级。 
   图4热补丁升级自动提交   
   ![](https://support.huaweicloud.com/usermanual-gaussdb/figure/zh-cn_image_0000002649774328.png "点击放大")
   
   ![](https://support.huaweicloud.com/usermanual-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
   目标版本会展示出所有待升级的补丁版本，补丁版本为多个时，提交升级后会按照从小到大的顺序依次升级所有可升级的热补丁。
   
5. 在"实例管理"页面，查看版本升级情况。
   - 升级过程中，实例运行状态为"实例版本升级中"。
   
   - 升级完成后，实例运行状态变为"正常"。此时，您可以在实例"基本信息"页面，"配置信息"模块查看"已升级热补丁版本"是否已包含目标版本；或者在实例管理页面，右上角![](https://support.huaweicloud.com/usermanual-gaussdb/figure/zh-cn_image_0000002649934220.png "点击放大")中勾选"已升级热补丁版本"，在实例列表中查看包含目标版本。
    
 
#### 步骤三：升级后验证
升级完成后需要检查升级后的实例状态、备份创建、连接实例是否正常，能否进行正常的增加、删除、修改、查询操作。
1. 在"实例管理"页面，查看实例的运行状态是否为"正常"。
2. 在"实例管理"页面单击实例名称，进入基本信息页面，查看"配置信息"模块的"已升级热补丁版本"是否已包含目标版本。或者在实例管理页面，右上角![](https://support.huaweicloud.com/usermanual-gaussdb/figure/zh-cn_image_0000002649934222.png "点击放大")中勾选"已升级热补丁版本"，在实例列表中查看包含目标版本。
3. 检查实例连接是否正常，是否能进行正常的增加、删除、修改、查询操作。
   1. 参考[通过数据管理服务DAS连接实例](https://support.huaweicloud.com/usermanual-gaussdb/gaussdb_01_084.html)，登录到数据库。
   
   2. 进入SQL窗口页面。
      图5SQL窗口   
      ![](https://support.huaweicloud.com/usermanual-gaussdb/figure/zh-cn_image_0000002649933170.png "点击放大") 
   
   3. 创建数据库。 **CREATE DATABASE** *数据库名*;
      以创建一个库名为db_tpcds的数据库为例：
      **CREATE DATABASE** **db_tpcds**;
      创建完db_tpcds数据库后，可以在左上方切换到新创建的库中。
      图6切换数据库   
      ![](https://support.huaweicloud.com/usermanual-gaussdb/figure/zh-cn_image_0000002649773492.png) 
   
   4. 创建表，并进行增加、删除、修改、查询操作。
      1. 创建一个SCHEMA。 CREATE SCHEMA *myschema*;
         
      
      2. 创建一个名称为mytable，只有一列的表。字段名为firstcol，字段类型为Integer。 CREATE TABLE myschema*.* mytable*(firstcol int)*;
         
      
      3. 向表中插入数据： INSERT INTO myschema*.*mytable VALUES (100);
         
      
      4. 查看表中数据： SELECT \* FROM myschema.mytable;
         ```
         | firstcol | 
         ---+----------+
         1  |   100    |
         ```
         
      
      5. 修改表中数据： UPDATE myschema.mytable SET firstcol = 200;
         
      
      6. 再次查看表中数据： SELECT \* FROM myschema.mytable;
         ```
         | firstcol | 
         ---+----------+
         1  |   200    |
         ```
         
      
      7. 删除表： DROP TABLE myschema.mytable;
         
       
    
 
#### 回退操作
如果升级后，由于业务原因，需要回退，可以参考该章节手动执行回退操作，将实例回退到初始状态。
![](https://support.huaweicloud.com/usermanual-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
升级回退后，您可以尝试重新升级。如果问题仍然无法解决，您可以在管理控制台右上角，选择[新建工单](https://console.huaweicloud.com/ticket/?locale=zh-cn#/ticketindex/createIndex)，联系华为云技术支持，由华为云工程师给出分析评估后重新执行升级。
- [方式一：单个实例回退]
  1. 在"版本升级"界面，单击"热补丁升级"。
  
  2. 单击" 升级回退"。
  
  3. 选择"目标版本"，输入"YES"，单击"确定"。
  
  4. 在"实例管理"页面，查看回退情况。回退完成后，实例运行状态变为"正常"。
  
  5. 在"实例管理"页面单击实例名称，进入基本信息页面，查看"配置信息"模块的"已升级热补丁版本"不包含目标版本。或者在实例管理页面，右上角![](https://support.huaweicloud.com/usermanual-gaussdb/figure/zh-cn_image_0000002680013893.png "点击放大")中勾选"已升级热补丁版本"，在实例列表中查看不包含目标版本。
  
  6. 检查实例连接是否正常，是否能进行正常的增加、删除、修改、查询操作。 
     1. 参考[通过数据管理服务DAS连接实例](https://support.huaweicloud.com/usermanual-gaussdb/gaussdb_01_084.html)，登录到数据库。
     
     2. 进入SQL窗口页面。
        图7SQL窗口   
        ![](https://support.huaweicloud.com/usermanual-gaussdb/figure/zh-cn_image_0000002649933170.png "点击放大") 
     
     3. 创建数据库。 **CREATE DATABASE** *数据库名*;
        以创建一个库名为db_tpcds的数据库为例：
        **CREATE DATABASE** **db_tpcds**;
        创建完db_tpcds数据库后，可以在左上方切换到新创建的库中。
        图8切换数据库   
        ![](https://support.huaweicloud.com/usermanual-gaussdb/figure/zh-cn_image_0000002649934216.png) 
     
     4. 创建表，并进行增加、删除、修改、查询操作。
        1. 创建一个schema。 CREATE SCHEMA *myschema*;
           
        
        2. 创建一个名称为mytable，只有一列的表。字段名为firstcol，字段类型为integer。 CREATE TABLE myschema*.* mytable*(firstcol int)*;
           
        
        3. 向表中插入数据： INSERT INTO myschema*.*mytable values (100);
           
        
        4. 查看表中数据： SELECT \* FROM myschema.mytable;
           ```
           | firstcol | 
           ---+----------+
           1  |   100    |
           ```
           
        
        5. 修改表中数据： UPDATE myschema.mytable SET firstcol = 200;
           
        
        6. 再次查看表中数据： SELECT \* FROM myschema.mytable;
           ```
           | firstcol | 
           ---+----------+
           1  |   200    |
           ```
           
        
        7. 删除表： DROP TABLE myschema.mytable;
           
         
     
     
     
     
   
- [方式二：批量实例回退]
  1. 在"实例管理"页面，选择指定的实例，单击"批量版本升级"。
  
  2. 在"批量版本升级"界面，选择"热补丁升级"，单击"升级回退"，选择"目标版本"，输入"YES"，单击"确定"。 
     
     
     
     
  
  3. 在"实例管理"页面，查看回退情况。回退完成后，实例运行状态变为"正常"。
  
  4. 在"实例管理"页面单击实例名称，进入基本信息页面，查看"配置信息"模块的"已升级热补丁版本"不包含目标版本。或者在实例管理页面，右上角![](https://support.huaweicloud.com/usermanual-gaussdb/figure/zh-cn_image_0000002679854061.png "点击放大")中勾选"已升级热补丁版本"，在实例列表中查看不包含目标版本。
  
  5. 检查实例连接是否正常，是否能进行正常的增加、删除、修改、查询操作。 
     1. 参考[通过数据管理服务DAS连接实例](https://support.huaweicloud.com/usermanual-gaussdb/gaussdb_01_084.html)，登录到数据库。
     
     2. 进入SQL窗口页面。
        图9SQL窗口   
        ![](https://support.huaweicloud.com/usermanual-gaussdb/figure/zh-cn_image_0000002649933170.png "点击放大") 
     
     3. 创建数据库。 **CREATE DATABASE** *数据库名*;
        以创建一个库名为db_tpcds的数据库为例：
        **CREATE DATABASE** **db_tpcds**;
        创建完db_tpcds数据库后，可以在左上方切换到新创建的库中。
        图10切换数据库   
        ![](https://support.huaweicloud.com/usermanual-gaussdb/figure/zh-cn_image_0000002649773492.png) 
     
     4. 创建表，并进行增加、删除、修改、查询操作。
        1. 创建一个SCHEMA。 CREATE SCHEMA *myschema*;
           
        
        2. 创建一个名称为mytable，只有一列的表。字段名为firstcol，字段类型为Integer。 CREATE TABLE myschema*.* mytable*(firstcol int)*;
           
        
        3. 向表中插入数据： INSERT INTO myschema*.*mytable VALUES (100);
           
        
        4. 查看表中数据： SELECT \* FROM myschema.mytable;
           ```
           | firstcol | 
           ---+----------+
           1  |   100    |
           ```
           
        
        5. 修改表中数据： UPDATE myschema.mytable SET firstcol = 200;
           
        
        6. 再次查看表中数据： SELECT \* FROM myschema.mytable;
           ```
           | firstcol | 
           ---+----------+
           1  |   200    |
           ```
           
        
        7. 删除表： DROP TABLE myschema.mytable;
           
         
     
     
     
     
   
