このドキュメントでは、ODCのマルチデータベース変更チケットを使用して、同一プロジェクト内の異なる環境にある複数のデータベースオブジェクト構造やデータを一元的に変更および更新する方法について説明します。
背景
実際の運用において、ユーザーは複数の環境や地域にデプロイする必要があります。多環境の典型的な構成には、以下のシナリオが含まれますが、これらに限定されません:
単一の業務システムについて、そのライフサイクルは開発、テストから本番へと至る異なる段階をカバーしているため、開発環境、テスト環境、プレリリース環境、そして本番の本番環境という、明確に区別された環境体系が設けられています。
同一業務の本番環境は、地域の分散や災害復旧の要件に基づき、異なる地域に複数のデプロイノードを設置します。例えば、杭州センター、上海センター、北京センターがそれぞれ業務の本番システムの一部または全部を担う場合があります。
各環境におけるデータベースオブジェクト構造を常に一貫して保証するためには、初期化段階で全環境の構造設定を完全に同一にするだけでなく、その後のいかなる構造変更が発生した場合でも、すべての環境で統一的にこれらの変更操作を実施する必要があります。標準化されたプロセス管理メカニズムが欠けていると、操作の見落としが発生しやすく、リスクの可能性が高まります。
ODCのマルチデータベース変更管理は、多環境における構造変更プロセスで生じる潜在的なリスクを低減し、ユーザーが各環境におけるデータベース構造の一貫性を容易に保証できるようにすることを目的としています。
ODCは、同一プロジェクト内の異なる環境にある複数のデータベースに対して、SQL変更を直列または並列のオーダーで実行することをサポートしています。
直列実行:複数のデータベースが設定された優先順位に従って直列で変更を実行します。各データベースの変更が完了するごとに、そのデータベースの実行状態がフィードバックされます。これは、開発・テストの実行順序に類似しています:テスト環境の実行が完了した後、プレリリース環境を実行し、最後に本番環境を実行します。

並列実行:バッチ処理が可能で、直列実行と並行して実行することもできます。

このドキュメントでは、新規マルチデータベース変更を例に、ODC内でテーブルemployeeをデータベースodc_testとuser_roに作成する方法を説明します。
説明
本文中で使用されているのはすべてサンプルデータです。実際の状況に応じてデータを置き換えてください。
注意事項
- 同一構造のデータソースに対するマルチデータベース変更のみをサポートします。
新規マルチデータベース変更タスクの作成
プロジェクト / チケット で、マルチデータベース変更 をクリックします。
a. プロジェクトエントリからマルチデータベース変更を作成します。
b. チケットエントリからマルチデータベース変更を作成します。
!
新規マルチデータベース変更チケット ページで、以下の情報を入力します。
情報項目説明プロジェクト 変更するプロジェクトを選択します。 データベース - 変更するデータベースを選択し、実行順序を設定します。異なるノードの変更は順次実行され、同一ノード内のデータベースは同時に変更されます。
- データベース設定をテンプレートとして保存し、後からの迅速な設定を容易にすることができます。
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万行を超えないことをサポートします。
SQL実行設定 - 区切り文字:フィールド間の区切り文字を設定します。カンマ(
,)、セミコロン(;)、コロン(:)をフィールド区切り文字として選択できます。 - クエリ結果の制限:クエリ結果の制限(1~100万)を設定できます。
- 実行タイムアウト時間:実行タイムアウト時間 テキストボックスに数値を入力して、ステートメント実行のタイムアウト時間を指定します。単位は時間です(デフォルトのタイムアウト時間は48時間、最大は480時間を超えません)。
- SQL実行処理:実行の停止、エラーを無視して実行を続行することをサポートします。
タスク設定 自動実行/手動実行をサポートします。 説明 タスクの説明 テキストボックスに200文字以内の説明情報を入力できます。この項目はオプションです。 作成 をクリックして、複数データベース変更の新規作成を完了します。
タスクが生成された後、チケット > 複数データベース変更 リストでタスク情報を確認できます。
複数データベース変更タスクの表示
タスク情報
チケット の複数データベース変更リストで、操作項目の 表示 ボタンをクリックします。
表示されたタスク詳細パネルで、タスク情報 タブをクリックし、所属データベース、タスクタイプ、リスクレベル、SQL内容などの情報を確認します。
説明
バックアップロールバック計画をダウンロード をクリックすると、ODCがUPDATE/DELETEステートメントに対して自動生成したバックアップロールバック計画ファイルをダウンロードできます。
タスクフロー
タスク詳細パネルで、タスクフロー タブをクリックし、タスク開始状態、承認状態、実行状態、実行結果などの情報を確認します。
実行結果
タスク詳細パネルで、実行結果 タブをクリックし、実行成功および実行失敗の記録を確認します。
操作項目の 表示 ボタンをクリックすると、データベースのタスク情報、実行結果、ロールバックチケット、タスクログなどの情報を確認できます。