
# 使用无锁数据变更
#### 操作场景
您可以在管理控制台中开启实例的无锁变更功能，开启后可以查询、停止和清理无锁变更任务，并下载任务日志，实现变更过程的自动化管理和快速定位异常。无锁变更任务的日志存储在对象存储服务（OBS）上，有效期为30天，请在有效期内下载日志，超过30天后日志将被自动删除。
无锁变更过程中会生成临时表，这些临时表会占用存储空间，为了避免产生额外费用，变更完成后，请确认业务正常运行并及时删除临时表。如果您终止了无锁变更任务，可能存在任务实际已经执行成功的情况，建议您检查变更是否成功，并确认是否有临时表残留，及时清理临时表以避免不必要的存储费用。
#### 前提条件
- 已开通智能DBA助手功能。
- 需打开实例审计日志功能，详细内容请参见[开启TaurusDB SQL审计日志](https://support.huaweicloud.com/usermanual-taurusdb/taurusdb_03_0717.html)。
- 需修改实例参数"rds_global_sql_log_bin"的值为"ON"，详细内容请参见[修改TaurusDB实例参数](https://support.huaweicloud.com/usermanual-taurusdb/taurusdb_configuration.html)。
 
#### 约束限制
- 执行无锁变更期间，不允许做实例变更，实例备份等操作。
- 执行无锁变更动作，需要确保实例磁盘空间充足。
- 业务量大的场景下执行无锁变更，会增加变更失败概率，请选择业务低峰期操作。
- 选择变更的表不允许有外键，不支持有大小写同名的表，目标表其他约束请参见[无锁数据变更简介](https://support.huaweicloud.com/usermanual-taurusdb/taurusdb_03_0104.html)。
 
#### 使用无锁数据变更
1. [登录TaurusDB管理控制台](https://console.huaweicloud.com/gaussdbformysql/#/management/list)。
2. 单击管理控制台左上角的![](https://support.huaweicloud.com/usermanual-taurusdb/figure/zh-cn_image_0000002671347251.png)，选择区域。
3. 在"实例管理"页面，选择目标实例，单击实例名称，进入"实例概览"页面。
4. 在左侧导航栏选择"智能DBA助手"下的"无锁数据变更"。
5. 单击"新增无锁变更任务"。
6. 设置无锁变更任务参数，单击"确定"，新建无锁变更任务。选择"数据库名"，填写变更SQL，按需勾选"清理临时表"。 
   图1新增无锁变更任务   
   ![](https://support.huaweicloud.com/usermanual-taurusdb/figure/zh-cn_image_0000002684439213.png "点击放大")
   
   表1无锁变更任务参数 
   | 参数    | 说明                                                                                                                                                                                                                                                                                                            |
   |:---|:---|
   | 数据库名  | 目标DDL所在的数据库名称。                                                                                                                                                                                                                                                                                                |
   | 变更SQL | - 批量执行最多支持10条DDL语句，多条DDL语句用分号(;)隔开。  - 多条ALTER 语句不可操作同一张表。   |
   | 清理临时表 | 任务执行结束后，系统会自动创建临时表，且不会自动删除。如需自动删除，请勾选此选项。                                                                                                                                                                                                                                                                     |
      
   
   
7. 单击"确定"，下发无锁变更任务。
8. 开启后，您可以在无锁变更任务列表中查看对应DDL语句的执行状态，也可执行如下操作。 
   - 终止任务 如果需要终止正在变更的任务，您可以单击操作列的"终止"，弹框中确认任务信息，一键输入YES，单击"确定"，终止无锁变更任务。
     
   
   - 删除任务 单击操作列的"删除"，弹框中确认任务信息，一键输入YES，单击"确定"，删除无锁变更任务。
     
   
   - 获取日志下载链接 单击操作列的"更多 \> 下载日志"，下载目标无锁变更任务日志。
     
   
   - 清理临时表 单击操作列的"更多 \> 清理临时表"，弹框中确认任务信息，一键输入YES，单击"确定"，清理无锁变更任务产生的临时表。
     
   
   
   
   
 
