Data Management (DMS) のロックレススキーマ進化機能を使用する前に、ターゲットインスタンスでこの機能を有効にする必要があります。このトピックでは、ロックレススキーマ進化を有効にする方法について説明します。
前提条件
サポートされるデータベースタイプ:RDS MySQL、PolarDB for MySQL、MyBase MySQL、およびその他の MySQL ソース。
インスタンスのコントロールモードが [安定的な変更] または [セキュリティコラボレーション] であること。詳細については、「コントロールモードの表示」をご参照ください。
ユーザーロールが DBA または管理者であること。ご自身のユーザーロールを確認するには、「自分のシステムロールを表示」をご参照ください。
操作手順
- DMS コンソール V5.0 にログインします。
コンソールのホームページで、[データベースインスタンス] リスト内のターゲットインスタンスを右クリックし、[ロックレススキーマ進化を有効にする] を選択します。
説明または、上部のメニューバーで を選択します。インスタンスリストのタブで、ターゲットインスタンスの右側にある をクリックし、[詳細情報] セクションでロックレススキーマ進化を有効にすることもできます。

変更メソッドの説明:
オプション
説明
注意
[DMS ロックレス変更の実行]
DMS 独自のデータ定義言語 (DDL) ロックレス変更機能を直接使用して、テーブルロックを防止します。
説明次の場合、DMS のロックレス変更は使用できません。システムは自動的にネイティブのロックレス実行にフォールバックします。DMS が、ネイティブのロックレス実行によってテーブルがロックされたり、エラーが発生したりすると検出した場合、タスクは失敗します。
ターゲットテーブルが空である。空のテーブルに対する変更の実行はリスクがなく、ネイティブ実行の方が高速です。
SQL ステートメントに一意制約 (UK) の追加が含まれている。DMS のロックレススキーマ進化の設計原則により、UK の追加はサポートされていません。
実行時間はネイティブの MySQL オンライン DDL よりもわずかに長くなります。ただし、この方法はレプリケーション動作に影響を与えず、遅延を引き起こす可能性は低いです。
[ネイティブのロックレスを優先、失敗時に DMS にフォールバック]
システムはまず、データベースのネイティブのオンライン DDL を使用してロックレス実行を試みます。DMS が、ネイティブ実行によってテーブルがロックされたり、失敗したりすると検出した場合、テーブルロックを防ぐために DMS 独自の DDL ロックレス変更エンジンに自動的に切り替わります。
実行時間は比較的短いです。ただし、この方法ではインスタンスのパラレルレプリケーションがシリアルレプリケーションにダウングレードされ、プライマリ/スタンバイ間で遅延が発生する可能性があります。
シャットダウン
ネイティブのステートメントが、未処理のまま MySQL に送信されて実行されます。
なし
[ロックレススキーマ進化の変更] ダイアログボックスで、[確認] をクリックします。
インスタンスのロックレススキーマ進化を有効にすると、「ロックレス変更チケットを使用したロックレススキーマ進化の実装」が可能になります。
関連操作
インスタンスに対してロックレススキーマ進化を有効にすると、そのインスタンスに対して次の種類のチケットを実行するときに、システムはロックレススキーマ進化メソッドを優先します。
- 説明
一般的なデータ変更チケットでのスキーマ変更は、通常、ロックレスメソッドを使用します。ただし、チケットがデータベースではなくインスタンスによってデータソースを指定している場合、ロックレス変更はサポートされません。その場合、インスタンスで機能が有効になっていても、システムはネイティブの実行メソッドにフォールバックします。