データ管理 (DMS) のロックフリースキーマ変更機能を使用する前に、対象のインスタンスでこの機能を有効にする必要があります。
前提条件
-
サポート対象のデータベースタイプ: ApsaraDB RDS for MySQL、 PolarDB for MySQL、 MyBase for MySQL、およびその他のソースの MySQL。
-
インスタンスのコントロールモードが安定的な変更またはセキュリティコラボレーションであること。詳細については、「コントロールモードの表示」をご参照ください。
-
DBA または管理者のロールを持っていること。ロールを確認するには、「自分のシステムロールの表示」をご参照ください。
操作手順
DMSコンソールV5.0 にログインします。
-
コンソールホームページの [Database Instances] リストで、ターゲットインスタンスを右クリックし、[Lock-free Schema Change] を選択します。
説明または、上部のメニューバーから に移動することもできます。[Instance List] タブで、ターゲットインスタンスの右側にある をクリックし、[Advanced Information] セクションでロックフリーのスキーマ変更を有効にします。
次の表で、オプションについて説明します。
オプション
説明
備考
[Enable (DMS OnlineDDL First)]
DMS は独自の DDL ロックフリー変更エンジンを使用して、テーブルがロックされないようにします。
説明次の場合、DMS OnlineDDL を使用できず、システムは自動的に MySQL ネイティブ OnlineDDL にフォールバックします。DMS が、ネイティブ実行によってテーブルがロックされる、またはエラーが返されると検出した場合、タスクは失敗します。
-
ターゲットテーブルが空の場合、空のテーブルに対する DDL の実行はリスクが低く、ネイティブ実行の方が高速であるため、ネイティブ実行が使用されます。
-
DMS OnlineDDL は一意制約 (UK) の追加をサポートしていません。
MySQL ネイティブ OnlineDDL よりも実行速度は遅くなりますが、レプリケーション動作に影響を与えず、レプリケーションラグが発生する可能性が低くなります。
[Enable (MySQL Native OnlineDDL First)]
DMS はまず MySQL ネイティブ OnlineDDL を試行します。DMS が、ネイティブ実行によってテーブルがロックされる、または失敗すると検出した場合、自動的に DMS OnlineDDL に切り替えてテーブルのロックを防ぎます。
実行速度は比較的高速ですが、インスタンスのパラレルレプリケーションがシリアルレプリケーションにフォールバックし、レプリケーションラグが発生する可能性があります。
[Close]
DMS はネイティブステートメントを処理せずに直接 MySQL に送信して実行します。
該当なし
-
-
[Modify Lock-free Schema Change] ダイアログボックスで、[OK] をクリックします。
インスタンスのロックフリーのスキーマ変更を有効にした後、ロックフリーのスキーマ変更チケットを送信できます。
関連操作
インスタンスのロックフリーのスキーマ変更を有効にすると、DMS は、そのインスタンスで次のタイプのチケットに対してこの方式を優先的に使用します。
-
説明
通常データ変更チケットで送信されたスキーマ変更は、通常、ロックフリーのスキーマ変更方式を使用します。ただし、チケットが特定のデータベースではなくインスタンス全体を対象とする場合、ロックフリーのスキーマ変更は現在サポートされていません。この場合、インスタンスでこの機能が有効になっていても、タスクはネイティブ実行方式にフォールバックします。