背景信息
ODC 支持對數據庫中的數據進行變更。用戶可以通過數據庫變更任務運行耗時較高的 SQL 語句以避免語句執行超時。
注意事項
只支持對 UPDATE 和 DELETE 變更語句自動生成回滾語句。
支持的變更影響行數上限為 100W,超過則不支持自動生成回滾語句。
若表中包含大字段,不支持自動生成回滾語句。
OceanBase MySQL、MySQL 數據源下,若表中無主鍵或者唯一鍵,不支持自動生成回滾語句。
UPDATE 語句的修改字段(Set)和條件字段(Where)相同,不支持自動生成回滾語句。
最大支持生成的自動回滾語句腳本大小為 256MB。
新建數據庫變更任務
示例:將數據庫 odc_test 中表 employee 的 name 值 xiaoguo 修改為 xiaofeng。
信息項 | 示例值 |
項目名稱 | odc_4.2.0 |
所屬數據源 | mysql420 |
數據庫名稱 | odc_test |
表名稱 | employee |
在 項目 > 全部項目 頁面中單擊項目名稱 odc_4.2.0。
在 工單 頁簽中單擊 數據庫變更 > 新建數據庫變更。
在 新建數據庫變更 頁面中,輸入以下信息。
信息項
說明
數據庫
選擇需變更的數據庫。
SQL 內容
選擇 SQL 錄入 或 上傳附件:
SQL 錄入:SQL 錄入為默認方式,可在編輯區中直接錄入 SQL 腳本。
說明在 SQL 錄入中,最大允許輸入 500000 個字符,如超限可上傳附件。
單擊 IN 值 轉化按鈕,可將批量復制的數據轉化成 in('A','B')格式。
列值分隔符號為換行符。
行值分隔符為空格或 TAB 值。
上傳附件:選擇上傳附件方式后,單擊文件池進入文件資源管理器選擇要導入的文件或者直接將導入文件拖入文件池中以完成文件上傳。
說明最多支持上傳 500 個文件,總文件大小不超過 256 MB。
默認附件按上傳的先后排序,可拖拽改變順序,任務執行時按文件順序執行。
當前只支持上傳 .sql 后綴的 SQL 文件。
SQL 檢查
單擊該按鈕檢查 SQL 語法。
回滾方案
指定 回滾方案。 回滾方案支持 SQL 文本錄入及上傳附件方式,參見 SQL 內容 信息。
說明勾選 生成備份回滾方案, 支持對 UPDATE/DELETE 語句自動生成備份回滾 SQL。
OceanBase MySQL 模式下,自動生成備份回滾方案僅支持對包含主鍵或者唯一鍵的表進行 UPDATE/DELETE 時生成對應回滾 SQL。
自動生成備份回滾方案支持的單條變更 SQL 的影響行數不超過 10w 行,數據庫變更的總影響行數不超過 100w 行。
分隔符
支持 Delimiter 分隔符號。
查詢結果限制
支持設置查詢結果限制 (1-100w)。
任務設置
SQL 重試次數:重試次數大于 1,表示 SQL 語句執行失敗后,ODC 會在三分鐘后重新執行該 SQL 語句。
數據庫變更工具提供兩種任務錯誤處理方式:
停止任務:停止任務為默認方式,運行腳本的過程中出現錯誤時會停止運行。
忽略錯誤繼續任務:選擇忽略錯誤繼續任務方式,在運行腳本出現錯后將跳過錯誤語句繼續執行。
選擇 立即執行/定時執行 設置任務執行方式。
執行超時時間
在 執行超時時間 文本框中輸入數字指定語句執行超時時間,單位為小時(默認超時時間為 48 小時,最大不超過 480 小時)。
描述
可在 任務描述 文本框中輸入不超過 200 個字符的描述信息,該項為選填項。
單擊 新建,完成新建數據庫變更。
任務生成后可以在 工單 > 數據庫變更 列表中查看任務信息。
查看數據庫變更任務
任務信息
如上圖所示,在 工單 的數據庫變更列表中,單擊操作項下的 查看 按鈕。
在彈出的任務詳情面板中,單擊 任務信息 頁簽查看所屬數據庫、任務類型、風險等級、SQL 內容和回滾內容等信息。
說明單擊 下載備份回滾方案,支持下載 ODC 對 UPDATE/DELETE 語句自動生成的備份回滾方案文件。
單擊 再次發起,可重新發起數據庫變更任務;單擊 回滾,回滾數據。
任務流程
在任務詳情面板中,單擊任務流程頁簽查看發起任務狀態、審批狀態、執行狀態和執行結果等信息。
執行結果
在任務詳情面板中,單擊執行結果頁簽查看執行成功和執行失敗記錄。
回滾工單
在任務詳情面板中,單擊回滾工單查看任務
任務日志
在任務詳情面板中,單擊 任務日志 頁簽查看任務的全部日志和告警日志。
信息項 | 說明 |
全部日志 | 全部日志顯示任務的 INFO、ERROR 和 WARN 日志等全量信息。 單擊 查找、下載 和 復制 按鈕,可查找信息、下載或復制全部日志信息。 |
告警日志 | 告警日志單獨顯示任務的 ERROR 和 WARN 日志。當任務失敗時,可通過告警日志查看錯誤信息。 單擊 查找、下載 和 復制 按鈕,可查找信息、下載或復制告警日志信息。 |