本ドキュメントでは、データアーカイブチケットを送信してデータをアーカイブする方法について説明します。
背景情報
OceanBase Cloud は、オンラインデータの増加によるクエリパフォーマンスや業務運用への影響を解決するため、ソースデータベースのテーブルデータを他のターゲットデータベースに定期的にアーカイブする機能に対応しています。
本ドキュメントでは、データアーカイブの新規作成を例に、OceanBase Cloud でデータベース test1 のテーブル employee をデータベース load_test にアーカイブする方法について説明します。
説明
本文中で使用しているデータはすべてサンプルです。実際の状況に応じてデータを置き換えてください。
原理の紹介
前提条件
SQL コンソールにログインするための、現在のテナントのデータベースアカウントとパスワードを持っていること。
アーカイブするテーブルには主キーが含まれている必要があります。
考慮事項
前提条件:
ソース側のテーブルフィールドがターゲット側で互換性があることを確認する必要があります。データアーカイブではフィールドの互換性の問題は処理されません。
MySQL データソースは、現在 CPU およびメモリの過負荷防止機能に対応していません。
同種アーカイブリンクのサブパーティションはテーブル構造の同期に対応しておらず、異種データベースは構造の同期および自動テーブル作成に対応していません。
アーカイブリンクの対応状況:
OceanBase MySQL から OceanBase MySQL。
OceanBase Oracle から OceanBase Oracle。
MySQL から OceanBase MySQL。
以下の場合はアーカイブに対応していません:
OceanBase MySQL および MySQL データソースで、テーブルに主キー PRIMARY KEY または一意の非 NULL インデックスが含まれていない場合、アーカイブに対応していません。
OceanBase Oracle データソースで、テーブルに主キー PRIMARY KEY が含まれていない場合、アーカイブに対応していません。
OceanBase Oracle データソースで、テーブルに JSON または XMLTYPE フィールドタイプが含まれている場合、アーカイブに対応していません。
アーカイブ条件に limit 句が含まれている場合、アーカイブに対応していません。
- テーブルに外部キーが含まれている場合、アーカイブに対応していません。
以下のアーカイブリンクは、自動テーブル作成およびテーブル構造の同期に対応していません:
- MySQL から OceanBase MySQL
- OceanBase MySQL から MySQL
データアーカイブの新規作成
SQLコンソールにログインしした後、SQL ウィンドウを開きます。
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') )データサービス > ライフサイクル > データアーカイブ をクリックした後、ライフサイクル ページで ジョブの作成 > データアーカイブ をクリックします。
データアーカイブジョブの新規作成 ページで、以下の情報を入力します。
情報項目 |
説明 |
|---|---|
| データベース情報 |
|
| アーカイブ範囲 |
|
| カスタム変数 | オプション。変数を定義し、時間オフセットを設定することで、テーブル内の条件を満たす行をフィルタリングしてアーカイブします。 |
| 実行方法 | 即時実行 / スケジュール実行 / 定期実行 を選択して、ジョブの実行方法を設定します。 |
| タスク設定 |
|
| 備考 | 備考 テキストボックスに 200 文字以内で説明情報を入力できます。この項目はオプションです。 |
SQL のプレビュー をクリックした後、アーカイブ SQL 文をプレビューし、ジョブ名を指定して 送信 をクリックすると、データアーカイブの新規作成が完了します。
ジョブの生成後、データアーカイブ リストでジョブ情報を確認できます。
データアーカイブジョブの表示
データサービス > ライフサイクル > データアーカイブ ページにアクセスし、データアーカイブリストとアーカイブ記録の基本情報を確認します。
データアーカイブリストでターゲットジョブの名前をクリックし、ジョブの詳細を確認します。また、操作列の ··· をクリックして、ターゲットジョブに対するその他の操作を行うこともできます。
- 終了:ジョブの実行方法が定期実行またはスケジュール実行の場合、終了を選択してジョブを終了できます。
- 無効化/有効化:ジョブの実行方法が定期実行またはスケジュール実行の場合、無効化を選択してジョブの実行を一時停止し、再度有効化した後に再び有効にすることができます。
- 編集:ジョブのステータスが無効の場合、編集を選択してジョブの内容を更新できます。
- 削除:ジョブのステータスが完了または終了の場合、削除を選択してジョブを削除できます。
- 詳細:ジョブの内容の詳細を確認します。
- 再実行:このジョブの実行内容をコピーし、同じ設定の新規ジョブ作成画面をすばやく生成します。
運用記録 をクリックし、ポップアップ表示されるジョブ詳細パネルの ジョブ情報 タブで、ジョブタイプ、ソースデータベース、ターゲットデータベース、変数設定、アーカイブ範囲、実行方法などの情報を確認します。
ジョブ詳細パネルで、実行記録 タブをクリックして、ジョブのステータス、実行の詳細、タスクログの関連情報を確認します。
ジョブ詳細パネルで、操作記録 タブをクリックして、ジョブのステータスを確認します。
データアーカイブジョブのインポート
他のプラットフォームのデータアーカイブジョブを OceanBase Cloud にインポートできます。たとえば、クラウドデータベース OceanBase のインスタンスを OceanBase Cloud に移行した後、移行済みインスタンスに含まれるデータアーカイブジョブを OceanBase Cloud に移行します。
ステップ 1:他のプラットフォームからデータアーカイブジョブをエクスポートする
クラウドデータベースOceanBase管理コンソール の左側のナビゲーションペインで、インスタンスリスト をクリックします。
インスタンスの 操作 列にある クラウドマーケットプレイスに切り替え をクリックします。
インスタンスの切り替えが完了したら、インスタンスの 操作 列にある データ開発タスクの処理 をクリックします。
データ開発タスクの処理 ページで、すべてを表示してエクスポート をクリックし、スケジュールタスクをローカルにエクスポートします。
ステップ 2:データアーカイブジョブを OceanBase Cloud にインポートする
OceanBase Cloud クラウドデータベースコンソール にログインし、データサービス > ライフサイクル をクリックした後、ライフサイクル ページで ... その他のオプション > ジョブのインポート をクリックします。
ローカルにダウンロードしたデータアーカイブ設定ファイルをジョブのインポートにアップロードします。