すべてのプロダクト
Search
ドキュメントセンター

Data Management:テーブルをロックせずにスキーマを変更する

最終更新日:Aug 21, 2024

データ管理 (DMS) は、ロックフリーのスキーマ変更機能を提供し、テーブルをロックすることなくスキーマを変更するのに役立ちます。 これにより、スキーマの変更によって引き起こされるテーブルロックの影響をビジネスが受けないようにします。 これにより、ネイティブのオンラインDDL操作を使用してテーブルスキーマを変更したときに、プライマリデータベースとセカンダリデータベース間の同期遅延が発生するのを防ぎます。 このトピックでは、DMSのロックフリースキーマ変更機能の使用方法について説明します。 この例では、ApsaraDB RDS for MySQLが使用されています。

インスタンスを作成し、ロックフリーのスキーマ変更を有効にする

  1. DMSコンソールV5.0 にログインします。

  2. 左側のナビゲーションウィンドウで、xinzengアイコンが表示されます。

    説明

    DMSコンソールをシンプルモードで使用する場合は、左側のナビゲーションウィンドウで [データベースインスタンス] をクリックし、xinzengアイコンをクリックします。

  3. インスタンスの追加ダイアログボックスで、インスタンス情報を設定します。

    1. Alibaba Cloudタブを選択します。MySQL を選択します。

    2. [基本情報] および [詳細情報] セクションでインスタンス情報を設定します。 詳細については、「Alibaba Cloudデータベースインスタンスの登録」をご参照ください。

      セクション

      パラメーター

      説明

      データソース

      -

      データベースインスタンスのソース。 この例では、Alibaba Cloudが選択されています。

      基本情報

      データベースタイプ

      データベースインスタンスのタイプ。

      インスタンスリージョン

      データベースインスタンスが存在するリージョン。

      その他のプライマリアカウント

      データベースインスタンスが属するAlibaba Cloudアカウント。 このパラメーターは、[Cross-Alibaba Cloudアカウントインスタンス] をクリックすると表示されます。

      説明

      Alibaba Cloudアカウントがリストにない場合は、ユーザーの追加 をクリックして、データベースインスタンスの購入に使用するAlibaba Cloudアカウントを追加できます。 詳細については、「ユーザーの管理」トピックの「ユーザーの追加」セクションをご参照ください。

      接続方法

      データベースインスタンスに関する情報を指定するために使用する方法。 有効な値: インスタンスIDおよび接続文字列アドレス

      インスタンスIDまたは接続文字列アドレス

      データベースインスタンスのIDまたはデータベースインスタンスの接続文字列。

      説明

      接続文字列の形式は、内部ネットワークアドレス: ポート番号です。 例: rm-XXXXXXX.mysql.rds.aliyuncs.com:3306。

      安全なホスティング

      データベースインスタンスのセキュリティホスティングを有効にするかどうかを指定します。 有効な値:

      • 有効にする: データベースインスタンスのセキュリティホスティングを有効にする場合、データベースへのログインにデータベースアカウントとパスワードを使用する必要はありません。 データベースインスタンス、データベース、テーブル、および行レベルで権限を管理できます。 詳細については、「セキュリティホスティング」をご参照ください。

      • 無効化: データベースインスタンスのセキュリティホスティングを無効にする場合、ログオンセッションがタイムアウトした場合、データベースにログインするたびにデータベースアカウントとパスワードを使用する必要があります。 これは、データベースインスタンスの使用に影響を与える可能性があります。 セキュリティホスティングパラメーターを無効に設定しないことを推奨します。

      アクセスモード

      説明

      このパラメーターは、ApsaraDB RDSインスタンスを登録した場合にのみ表示されます。

      データベースにログオンする方法。

      • アカウント + パスワードログイン: 作成したアカウントとパスワードを使用してデータベースにログインします。

      • KMSシークレットでログイン: Key Management Service (KMS) で作成されたApsaraDB RDSシークレットを使用してデータベースにログインします。 詳細については、「ApsaraDB RDSシークレットの管理と使用」をご参照ください。

      データベースアカウント

      データベースへのログインに使用されるアカウント。 初めて登録されたデータベースインスタンスのセキュリティホスティングを有効にする場合、このパラメーターを指定する必要があります。

      説明

      DMSは、指定されたデータベースアカウントを使用して、DMSのデータベースインスタンスのデータの読み取りや書き込みなどの操作を実行します。 必要な権限を持つデータベースアカウントを指定する必要があります。

      データベースパスワード

      データベースへのログインに使用されるアカウントのパスワード。

      KMSシークレット

      説明

      このパラメーターは、Access modeパラメーターを [KMS Secretでログイン] に設定した場合にのみ表示されます。

      KMSシークレット。

      高度な機能パック

      データベースインスタンスを管理する制御モードと、データベースインスタンスの機密データ保護を有効にするかどうかを指定します。 有効な値:

      • セキュリティコラボレーション安定した変更: セキュリティコラボレーションモードは、安定した変更モードに含まれるすべての機能をサポートし、DevOps機能を提供して、R&Dプロセスと承認プロセスをカスタマイズするのに役立ちます。 Stable Changeモードは、ロックフリーの変更やSQLレビューなど、データベースをより安定して実行できるようにするソリューションを提供します。 セキュリティコラボレーションモードと安定した変更モードのいずれかのみを選択できます。 詳細については、「コントロールモード」をご参照ください。

        説明

        Security CollaborationまたはStable Changeモードを選択しない場合、データベースインスタンスはデフォルトでFlexible Managementモードで管理されます。

      • 機密データ保護: この機能により、機密データを制御およびマスクできます。 ビジネス要件に基づいて機能を有効にできます。 詳細については、「機密データ保護機能の有効化」をご参照ください。

      セキュリティルール

      高度な機能パックパラメーターをSecurity Collaborationに設定すると、パラメーターが表示されます。

      デフォルトまたはカスタムのセキュリティルールを選択して、データベースにきめ細かい制御を実装できます。 詳細については、「セキュリティルールの管理」をご参照ください。

      分類テンプレート

      このパラメーターは、高度な機能パックパラメーターを機密データ保護に設定した場合に表示されます。

      分類およびグレーディングテンプレートをインスタンスにバインドして、インスタンス内のデータベースおよびテーブルのフィールドがテンプレートの識別ルールに準拠しているかどうかを識別できます。 フィールドが識別規則に準拠している場合、フィールドは、高感度レベルでフィールドを保護するために、分類およびグレーディングのためにラベル付けされる。 詳細については、「DMS分類およびグレーディングテンプレートの管理」をご参照ください。

      詳細情報

      環境タイプ

      データベースインスタンスがデプロイされている環境のタイプ。 詳細については、「インスタンスの環境タイプの変更」トピックの環境タイプセクションをご参照ください。

      [インスタンス名]

      データベースインスタンスに指定する名前。

      説明

      Alibaba Cloudデータベースインスタンスを初めて登録する場合、Alibaba Cloudデータベースインスタンスの名前はDMSに同期されます。 DMSは、Alibaba Cloudデータベースインスタンスが初めて登録されていない場合、名前を同期しません。 DMSコンソールでデータベースインスタンスの名前を変更できます。 詳細については、「データベースインスタンスの変更」をご参照ください。

      ないロックテーブル変化

      ロックフリースキーマ変更を有効にするかどうかを指定します。 有効な値: Enable (DMS OnlineDDL First)Enable (MySQL Native OnlineDDL First) 、およびClose。 詳細については、「ロックフリースキーマ変更機能の有効化」をご参照ください。

      説明

      このパラメーターは、MySQLデータベースインスタンスにのみ表示されます。

      Sslを開く

      説明

      このパラメーターは、MySQLまたはRedisデータベースインスタンスにのみ表示されます。

      DMSがSSL接続を使用してデータベースインスタンスに接続できるようにするかどうかを指定します。 デフォルトでは、DMSはSSL接続を使用してデータベースインスタンスに接続しません。

      SSL接続を使用してデータベースインスタンスに接続する場合は、このパラメーターを [有効] に設定し、データベースインスタンスのSSL暗号化機能が有効になっていることを確認します。

      SSLは、トランスポート層でネットワーク接続を暗号化して、送信中のデータのセキュリティと整合性を向上させます。 ただし、SSLはネットワーク接続の応答時間を増加させます。

      DBA

      データベースインスタンスのDBA。 DBAはユーザーに権限を付与できます。

      クエリのタイムアウト

      SQLクエリ文の実行のタイムアウト期間。 SQLクエリ文の実行が指定されたタイムアウト時間よりも長く続く場合、データベースを保護するために文の実行が終了します。

      エクスポートタイムアウト

      SQL exportステートメントの実行のタイムアウト期間。 SQL exportステートメントの実行が指定されたタイムアウト時間を超えた場合、データベースを保護するためにステートメントの実行が終了します。

  4. インスタンス情報の設定後、ダイアログボックスの左下隅にある [接続のテスト] をクリックします。 テストに合格するまで待ちます。

    説明

    接続テストが失敗した場合は、エラーメッセージに基づいて指定したパラメーター値を確認します。

  5. 接続テストが成功した場合、送信 をクリックします。

ロックフリースキーマ変更の実行

  1. DMSコンソールV5.0 にログインします。

  2. 上部のナビゲーションバーで、データベース开発 > データ変更 > ロックフリーの変更を選択します。

    説明

    DMSコンソールをシンプルモードで使用する場合は、コンソールの左上隅にある2023-01-28_15-57-17.pngアイコンの上にポインターを移動し、[すべての機能] > [データベース開発] > [データ変更] > [ロックフリー変更] を選択します。

  3. 表示されるページで、パラメーターを設定します。 次の表に、主要なパラメーターのみを示します。 その他のパラメーターの詳細については、「ロックフリーDML操作の実行」をご参照ください。

    パラメーター

    説明

    データベース

    スキーマの変更を実行するデータベース。 [データベース] ドロップダウンリストからデータベースを選択します。 キーワードを入力してデータベースを検索することもできます。 1つ以上のデータベースを指定できます。

    • 権限を持つ: 変更権限を持つデータベースのみを検索または選択できます。

    • すべて: メタデータアクセス制御が有効になっているデータベースを除くすべてのデータベースを検索または選択できます。

      説明

      データベースに対する変更権限がない場合は、上部のナビゲーションバーで [セキュリティと仕様] > [権限センター] > [権限チケット] を選択します。 [権限チケット] タブで、右上隅の [アクセス適用] > [データベース権限] を選択します。 [アクセス適用チケット] ページで、必要な権限を申請します。

    変更のSQLステートメント

    フィールドにALTER TABLEOPTIMIZEなどのDDLステートメントを入力します。

    説明

    DMLステートメントを入力して、ロックフリーのデータ変更を実行することもできます。 詳細については、「ロックフリーDML操作の実行」をご参照ください。

  4. 送信 をクリックします。

    DMSはSQL文を事前にチェックします。 事前チェックが失敗した場合は、事前チェックステップで [SQL文の変更] をクリックしてSQL文を変更し、再試行します。

  5. チケットが承認されたら、変更の実行で、実行ステップを実行します。

  6. タスクの次の表に示すパラメーターを設定します。

    パラメーター

    説明

    実行戦略

    • すぐに実行: このオプションを選択すると、[実行の確認] をクリックするとタスクがすぐに実行されます。 デフォルト値です。

    • スケジュール: このオプションを選択した場合、タスクの開始時間を指定する必要があります。 [実行の確認] をクリックすると、指定した時点でタスクが実行されます。

    終了時刻の指定

    • on: タスクの終了時刻を指定します。 タスクが完了したかどうかに関係なく、指定された終了時刻にタスクを停止します。 これにより、ピーク時にタスクがビジネスに影響を与えるのを防ぎます。

    • off: これはデフォルト値です。

  7. 実行の確認 をクリックします。

    説明

    中断したタスクを再起動できます。

    • [実行] ステップで、タスクのステータス、設定、および詳細を表示できます。 タスクのスケジューリングログを表示することもできます。

    • タスクの進行状況を表示できます。 上部のナビゲーションバーで、[O&M] > [タスク] を選択します。 [タスク] タブでタスクを見つけ、タスクの進行状況を表示します。 詳細については、「ロックフリースキーマ変更タスクの進行状況の表示」をご参照ください。

関連する API

  • ロックフリースキーマ変更タスクの進行状況を表示します。 詳細については、「タスクの管理」をご参照ください。

  • ロックフリースキーマ変更機能が有効になっている場合は、ロックフリー通常のデータ変更を実行することもできます。 詳細については、「通常のデータ変更」をご参照ください。