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

変更方法:
オプション
実行内容の説明
備考
[DMS ロックフリー変更の実行]
自己開発の DMS ロックフリー DDL エンジンを直接使用して、テーブルがロックされないようにします。
説明DMS のロックフリー変更は、以下の場合には使用できません。 システムは自動的にネイティブのロックフリー実行にフォールバックします。 DMS がネイティブのロックフリー実行によってテーブルがロックされたり、エラーが発生したりすることを検出した場合、タスクは失敗します。
対象のテーブルが空である。 空のテーブルに対する文の実行はリスクがなく、ネイティブ実行の方が高速です。
SQL 文が一意制約 (UK) を追加する。 DMS のロックフリーのスキーマ変更機能の設計上、UK の追加はサポートされていません。
実行時間はネイティブの MySQL オンライン DDL よりも遅くなりますが、レプリケーションには影響せず、レイテンシーが発生する可能性は低いです。
[ネイティブのロックフリーを優先、失敗時に DMS にフォールバック]
システムはまず、データベースのネイティブのオンライン DDL を使用してロックフリー実行を試みます。 DMS がネイティブ実行によってテーブルがロックされたり、失敗したりすることを検出した場合、自己開発の DMS ロックフリー DDL エンジンに自動的に切り替えて、テーブルがロックされないようにします。
実行時間は比較的速いですが、インスタンス上のパラレルレプリケーションがシリアルレプリケーションにダウングレードする可能性があります。 これにより、プライマリ/スタンバイ間のレイテンシーが発生する可能性があります。
[オフ]
ネイティブの文は、処理されることなく実行のために MySQL に送信されます。
なし
[ロックフリーのスキーマ変更の変更] ダイアログボックスで、[確認] をクリックします。
ロックフリーのスキーマ変更機能を有効にすると、ロックフリー変更チケットを使用してテーブルスキーマを変更できます。
関連操作
インスタンスに対してロックフリーのスキーマ変更機能を有効にすると、DMS は次の種類のチケットに対してこのメソッドを優先します:
- 説明
これは、データ変更チケットを使用して実行されるスキーマ変更を指します。