全部產品
Search
文件中心

:DML無鎖變更

更新時間:Jun 30, 2024

若您需要在不鎖表的前提下變更大量表資料,您可使用Data Management的無鎖變更。該功能通過將單個SQL拆分成多個批次執行,以實現不鎖表進行表資料變更,同時也可以減少DML操作對資料庫效能,空間等的影響。本文介紹在DMS中進行無鎖資料變更的方法。

前提條件

  • 支援的資料庫類型:

    • MySQL:RDS MySQLPolarDB MySQL版MyBase MySQLPolarDB分布式版、其他來源MySQL

    • PostgreSQL:RDS PostgreSQLPolarDB PostgreSQL版MyBase PostgreSQL、其他來源PostgreSQL

    • MariaDB:RDS MariaDB、其他來源MariaDB

    • OceanBase MySQL模式

    • PolarDB PostgreSQL版(相容Oracle)

  • 執行個體的管控模式為穩定變更或安全協同。更多資訊,請參見查看管控模式

注意事項

DML無鎖變更僅支援單表、簡單的SQL操作(例如UPDATE、DELETE等)。

操作步驟

  1. 登入Data Management 5.0
  2. 在頂部功能表列中,選擇資料庫開發 > 資料變更 > 無鎖變更

    說明

    若您使用的是極簡模式控制台,請單擊左上方的function表徵圖,在導覽列中選擇全部功能 > 資料庫開發 > 資料變更 > 無鎖變更

  3. 配置無鎖變更工單,配置完成後,單擊提交申請。部分參數資訊說明如下:

    說明

    以安全協同執行個體舉例配置。自由操作或穩定變更管控模式的執行個體,在配置時僅需設定資料庫與變更SQL。

    配置項

    是否必填

    說明

    資料庫

    搜尋並選擇目標資料庫。

    說明

    您需要有目標資料庫的變更許可權。更多資訊,請參見查看我的許可權

    執行方式

    選擇工單的執行方式:

    • 審批通過後,提交者執行。

    • 審批通過後,自動執行。

    • 最後一個審批人執行。

    說明

    管理員可以在營運管理 > 組態管理中,修改執行方式列表。具體操作,請參見組態管理

    變更SQL

    輸入DML(Data Manipulation Language),例如UPDATEDELETEINSERT_SELECT

    說明

    如果變更SQL輸入的是DDL,則您進行的是DDL無鎖結構變更任務。更多資訊請參見通過無鎖變更工單實現無鎖結構變更

    SQL文本

    若變更SQL選擇了文本,才會出現該配置項。在SQL文字框中,輸入可直接執行的SQL語句。

    說明
    • 多條SQL之間, 請用英文分號(;)隔開。

    • 提交工單時會自動校正SQL文法正確性,不正確則無法提交。

    附件

    若變更SQL選擇了附件,才會出現該配置項。上傳變更SQL附件。

    說明

    附件僅支援.txt、.zip和.sql的檔案類型,最大不能超過15 MB。

    復原SQL

    可直接執行的SQL語句,變更指令碼對應的逆向指令碼。

    SQL文本

    復原SQL選擇了文本,才會出現該配置項。輸入復原SQL,復原SQL為變更SQL對應的逆向指令碼。

    附件

    復原SQL選擇了附件,才會出現該配置項。單擊上傳檔案,上傳復原SQL附件。

    說明

    附件僅支援.txt、.zip和.sql的檔案類型,最大不能超過15 MB。

    變更相關人

    設定的相關人員都可查看工單,並協同工作,非相關人員則不能查看工單(管理員、DBA除外)。

    工單附件

    上傳工單附件,補充當前工單資訊。

  4. 提交申請後,您可以開啟主備延遲檢查並確定閾值、修改SQL。

    • (可選)開啟主備延遲檢查、設定閾值。設定主備延遲檢查並確定閾值,以避免主備延遲過大,從而影響主備執行個體切換。

      您可以在基本資料地區,單擊分批執行配置,設定合理的主備延遲閾值(單位:秒)。如果主備延遲大於閾值時,將中斷SQL執行。

      說明

      目前僅支援RDS MySQL資料庫使用該功能。

    • (可選)修改SQL。

      提交申請後,系統將自動進行SQL預檢查。如果預檢查失敗,您可以根據失敗原因修改SQL,修改後重試。

  5. 單擊提交審批。安全協同執行個體會根據設定的審批規則進行審批,穩定變更執行個體將自動通過審批。

  6. 等待審批通過後,在工單詳情頁的執行地區,單擊執行變更

    說明

    您可以在工單詳情頁的審批地區,查看審批進展。

  7. 配置任務執行參數。

    配置項

    說明

    執行策略

    • 立即執行:系統預設,單擊確認執行後立即執行工單任務。

    • 定時執行:選擇任務開始執行時間。單擊確認執行後,在指定的時間執行該任務。

    指定結束時間

    • 開啟:選擇任務結束時間。如果任務在指定結束時間之前沒有執行完畢,則系統將不再繼續執行未完成的SQL任務,防止高峰期執行任務,影響業務運作。

    • 關閉:系統預設。

  8. 單擊確定執行

    說明

    已暫停任務重啟後,會重新開始執行任務。

    您可以在執行地區,查看任務執行狀態、任務設定、詳情和調度日誌。

相關文檔

常見問題

Q:無鎖資料變更是否支援複雜的SQL操作?

A:不支援。例如CREATE_INDEX和多表操作(例如DELETE語句中包含JOIN)。更多支援的SQL類型,請參見使用限制