本文檔旨在介紹如何通過提交數據歸檔工單實現歸檔數據。
背景信息
ODC 支持定時將源數據庫中的表數據歸檔至其它目標數據庫中,以解決因線上數據增多影響查詢性能與業務運作的問題。
本文檔以新建數據歸檔為例,介紹如何在 ODC 中將同一項目的數據庫 odc_test 中的表 employee 歸檔到數據庫 test2 中。
文中所使用的均為示例數據,您可根據實際情況對數據進行替換。
前提條件
歸檔的表中必須包含主鍵。
注意事項
前置條件:
需保證源端表字段在目標端兼容,數據歸檔不處理字段兼容性問題。
同構歸檔鏈路二級分區不支持表結構同步,異構數據庫不支持結構同步以及自動建表。
歸檔鏈路支持:
OceanBase MySQL 到 OceanBase MySQL 。
OceanBase Oracle 到 OceanBase Oracle(暫不支持同步表結構)。
以下情況不支持歸檔:
OceanBase MySQL 數據源若表中不包含主鍵 PRIMARY KEY 或唯一非空索引,不支持進行歸檔。
OceanBase Oracle 數據源若表中不包含主鍵 PRIMARY KEY,不支持進行歸檔。
OceanBase Oracle 數據源若表中包含 JSON、XMLTYPE 字段類型,不支持進行歸檔。
若歸檔條件中包含 limit 語句,不支持進行歸檔。
若表中包含外鍵,不支持進行歸檔。
在 SQL 開發窗口中,編輯 SQL 語句以創建表 employee。
CREATE TABLE `employee` ( `emp_no` int(120) NOT NULL COMMENT 'employee number', `birthday` date DEFAULT NULL COMMENT 'employee birthday', `name` varchar(120) DEFAULT NULL COMMENT 'employee name', `time` date NOT NULL COMMENT 'time' COMMENT 'create time', PRIMARY KEY (`time`) ) partition by range columns(time) ( partition p2023_01 values less than ('2023-01-01'), partition p2023_02 values less than ('2023-02-01') )
在 SQL 開發窗口的 任務 頁簽中,單擊 數據歸檔 > 新建數據歸檔。
在 新建數據歸檔 頁面中,輸入以下信息。
信息項
說明
源端數據庫
選擇表所屬的數據庫。
說明ODC V4.2.2 及之后的版本支持選擇 MySQL 數據庫,以將 MySQL 中的數據歸檔到 OceanBase 數據庫中。
目標數據庫
選擇表歸檔的數據庫。
說明ODC V4.2.2 及之后的版本支持選擇 MySQL 數據庫,以將 OceanBase 中的數據歸檔到 MySQL 數據庫中。
歸檔范圍
部分歸檔:通過過濾條件歸檔源端數據庫中部分表。
可使用常量或者引用變量配置中定義的變量來配置過濾條件。例如:
time<'${create_time}'
,其中create_time
為變量配置中的變量名,time
為歸檔表中的字段。勾選 指定分區,支持根據指定的分區歸檔數據。
整庫歸檔:歸檔源端數據庫中所有表。
自定義變量
可選項。通過定義變量和設置時間偏移量篩選表中符合條件的行進行歸檔。
執行方式
選擇 立即執行/定時執行/周期執行 設置任務執行方式。
任務設置
指定任務時長:任務啟動指定時長后,若未完成則會暫停調度,等待下一次調度。
開啟目標表結構同步:任務調度前進行一次表結構比對,若源端和目標端表結構不一致,將跳過該表。
插入策略:執行數據歸檔時,忽略重復數據/更新重復數據。
限流策略:配置行限流和數據大小限流。
備注
可在 備注 文本框中輸入不超過 200 個字符的描述信息,該項為選填項。
單擊 新建 后,預覽歸檔 SQL 語句并單擊 確定,完成新建數據歸檔。
任務生成后可以在 工單 > 數據歸檔 列表中查看任務信息。
查看數據歸檔任務
任務信息
如上圖所示,在 工單 的數據歸檔列表中,單擊操作列中的 查看 按鈕。
在彈出的任務詳情面板中,單擊 任務信息 頁簽查看任務類型、源數據庫、目標數據庫、變量配置、歸檔范圍和執行方式等信息。
執行記錄
在任務詳情面板中,單擊 執行記錄 頁簽查看任務狀態和執行詳情等操作。
操作記錄
在任務詳情面板中,單擊 操作記錄 頁簽查看任務的任務審批狀態和記錄。