背景
ODCはデータベース内のデータ変更をサポートします。ユーザーはデータベース変更タスクを実行することで、実行時間が長いSQLステートメントを実行し、ステートメントの実行タイムアウトを回避できます。
このドキュメントでは、テーブルデータの更新を例に、データベースodc_testのemployeeテーブルのname値xiaoguoをxiaofengに変更する方法を説明します。
説明
本文中で使用されているデータはすべて例です。実際の状況に応じてデータを置き換えることができます。
注意事項
UPDATEおよびDELETE変更ステートメントに対してのみ、ロールバックステートメントの自動生成をサポートします。
サポートされている変更による影響行数の上限は100万行です。これを超える場合は、ロールバックステートメントの自動生成はサポートされません。
テーブルに大文字列フィールドが含まれる場合、ロールバックステートメントの自動生成はサポートされません。
OceanBase MySQLデータソースの場合、テーブルに主キーまたは一意キーがない場合、ロールバックステートメントの自動生成はサポートされません。
UPDATEステートメントの変更フィールド(Set)と条件フィールド(Where)が同じ場合、ロールバックステートメントの自動生成はサポートされません。
最大でサポートされる自動ロールバックステートメントスクリプトのサイズは256MBです。
データベース変更タスクの新規作成
プロジェクト > 全プロジェクト ページで、プロジェクト名をクリックします。

チケット タブで、データベース変更 > データベース変更の新規作成 をクリックします。

データベース変更の新規作成 ページで、以下の情報を入力します。
情報項目説明データベース 変更するデータベースを選択します。 SQL内容 SQL入力 または 添付ファイルのアップロード を選択します: - SQL入力:SQL入力はデフォルトの方法で、編集エリアに直接SQLスクリプトを入力できます。
説明
- SQL入力では、最大500,000文字の入力が許可されています。制限を超えた場合は、添付ファイルをアップロードできます。
- IN値の変換ボタンをクリックすると、一括コピーしたデータをin('A','B')形式に変換できます。
- 列値の区切り文字は改行文字です。
- 行値の区切り文字はスペースまたはTABです。
- 添付ファイルのアップロード:添付ファイルのアップロード方法を選択した後、ファイルプールをクリックしてファイルエクスプローラーを開き、インポートするファイルを選択するか、インポートファイルを直接ファイルプールにドラッグしてファイルのアップロードを完了します。
説明
- 最大500個のファイルのアップロードをサポートし、総ファイルサイズは256MBを超えてはなりません。
- デフォルトで添付ファイルはアップロード順に並べ替えられます。順序を変更するにはドラッグ&ドロップします。タスク実行時はファイルの順序で実行されます。
- 現在、.sql拡張子を持つSQLファイルのアップロードのみをサポートしています。
SQLチェック このボタンをクリックしてSQL構文をチェックします。 ロールバックスキーム ロールバックスキーム を指定します。ロールバックスキームはSQLテキストの入力と添付ファイルのアップロードの両方をサポートします。詳細については、SQL内容 をご参照ください。 説明
バックアップロールバックスキームの生成を選択すると、UPDATE/DELETEステートメントに対してバックアップロールバックSQLを自動生成できます。
- OceanBase MySQLモードでは、バックアップロールバックスキームの自動生成は、主キーまたは一意キーを含むテーブルに対するUPDATE/DELETE時にのみ、対応するロールバックSQLの生成をサポートします。
- バックアップロールバックスキームの自動生成がサポートする単一変更SQLの影響行数は10万行を超えず、データベース変更の総影響行数は100万行を超えてはなりません。
分隔文字 Delimiter区切り文字をサポートします。 クエリ結果の制限 クエリ結果の制限(1-100万)を設定できます。 タスク設定 - SQLリトライ回数:リトライ回数が1より大きい場合、SQLステートメントの実行に失敗した後、ODCは3分後にそのSQLステートメントを再実行します。
- データベース変更ツールは、タスクのエラー処理方法として2種類を提供します:
- タスクの停止:タスクの停止はデフォルトの方法で、スクリプトの実行中にエラーが発生した場合、実行を停止します。
- エラーを無視してタスクを続行:エラーを無視してタスクを続行する方法を選択すると、スクリプトの実行中にエラーが発生した場合、エラーステートメントをスキップして実行を続けます。
- 即時実行 / スケジュール実行 を選択して、タスクの実行方法を設定します。
実行タイムアウト時間 実行タイムアウト時間 テキストボックスに数値を入力して、ステートメント実行のタイムアウト時間を指定します。単位は時間です(デフォルトのタイムアウト時間は48時間、最大は480時間を超えません)。 説明 タスクの説明 テキストボックスに200文字以内の説明情報を入力できます。この項目はオプションです。 - SQL入力:SQL入力はデフォルトの方法で、編集エリアに直接SQLスクリプトを入力できます。
新規作成 をクリックして、データベース変更の新規作成を完了します。
タスクが生成された後、チケット > データベースの変更 リストでタスク情報を確認できます。

データベース変更タスクの表示
タスク情報
上図のように、チケット のデータベース変更リストで、操作項目の 表示 ボタンをクリックします。
表示されたタスク詳細パネルで、タスク情報 タブをクリックし、所属データベース、タスクタイプ、リスクレベル、SQL内容、ロールバック内容などの情報を確認します。
変更にロールバック計画がある場合、バックアップロールバック計画をダウンロード をクリックして、ODCがUPDATE/DELETEステートメントに対して自動生成したバックアップロールバック計画ファイルをダウンロードできます。
クエリタスクの場合、実行が成功すると、チケットの下部で クエリ結果 および クエリ結果をダウンロード を行えます。
説明
クエリ結果の検索とダウンロードをサポートするかどうかは、システム設定で構成できます。詳細については、システム設定をご参照ください。

再度開始 をクリックすると、データベース変更タスクを再開始できます。ロールバック をクリックすると、データをロールバックします。
タスクフロー
タスク詳細パネルで、タスクフロー タブをクリックし、タスクの開始状態、承認状態、実行状態、実行結果などの情報を確認します。
実行結果
タスク詳細パネルで、実行結果 タブをクリックし、実行成功と実行失敗の記録を確認します。
ロールバックチケット
タスク詳細パネルで、ロールバックチケット をクリックしてタスクを表示します。
タスクログ
タスク詳細パネルで、タスクログ タブをクリックし、タスクの全ログとアラートログを確認します。
情報項目 |
説明 |
|---|---|
| 全部ログ | 全部ログは、タスクの INFO、ERROR、WARN ログなどの全量情報を表示します。検索、ダウンロード、コピー ボタンをクリックすると、情報の検索、全部ログのダウンロード、またはコピーができます。 |
| アラートログ | アラートログは、タスクの ERROR と WARN ログを個別に表示します。タスクが失敗した場合、アラートログからエラー情報を確認できます。検索、ダウンロード、コピー ボタンをクリックすると、情報の検索、アラートログのダウンロード、またはコピーができます。 |