大量のデータが保存されている場合は、実稼働データをアーカイブデータから分離するか、定期的にテーブルからデータを削除する必要があります。 テーブル内のデータを変更する場合、データ管理 (DMS) はテーブルをロックすることなくデータを変更する機能を提供します。 プライマリキー、またはテーブル内のnull値を受け入れない一意のキーに基づいて、データをバッチで変更できます。 この機能により、高い実行効率が保証され、データベースのパフォーマンスとストレージへの影響が最小限に抑えられます。
使用上の注意
ロックフリーデータ変更機能を使用して、SELECT、UPDATE、DELETEなどの単純なSQL文を実行することで、単一のテーブル内のデータのみを変更できます。 この機能を使用して、JOIN操作を含むDELETEステートメントなどの複雑なSQLステートメントを実行して、複数のテーブルのデータを変更することはできません。
手順
次の手順では、big_table
テーブルのlong_text_b
列のすべてのデータをランダムな長いテキスト
に変更する方法について説明します。
通常のユーザーとしてチケットを起票します。
最初に 通常のユーザーとしてDMSコンソールV5.0にログインします。
上部のナビゲーションバーで、
を選択します。説明DMSコンソールをシンプルモードで使用する場合は、コンソールの左上隅にあるアイコンの上にポインターを移動し、
を選択します。パラメーターを設定し、[送信] をクリックします。
次の表に、いくつかのパラメーターを示します。
パラメーター
必須
説明
データベース
必須
データを変更するデータベース。 この例では、
poc_dev
データベースが選択されています。実行方法
必須
チケットの実行方法。 有効な値:
監査が承認された後、注文提出者が実行
監査が承認された後、自動実行
最後の監査人の実行
説明DMS管理者の場合、構成管理」をご参照ください。
モジュールの [設定の管理] ページで実行方法を変更できます。 詳細については、「変更のSQLステートメント
必須
次の
UPDATE
ステートメントを入力します。 このステートメントは、long_text_b
列のすべてのデータをbig_table
テーブルのランダムな長いテキスト
に変更するために使用されます。UPDATE `big_table` SET `long_text_b` = 'random long text' WHERE id < 1000000;
SQLテキスト
任意
このパラメーターは、変更パラメーターのSQLステートメントをテキストに設定した場合にのみ使用できます。 SQLエディターで実行するSQL文を入力します。
説明複数のSQL文はセミコロン (;) で区切ります。
DMSは、チケットの送信時にSQL文の構文が有効かどうかを確認します。 構文が無効な場合、チケットを起票することはできません。
添付ファイル
任意
このパラメーターは、変更パラメーターのSQLステートメントを [添付] に設定した場合にのみ使用できます。 データ変更のために実行されたSQL文を含む添付ファイルをアップロードします。
説明アップロードするファイルは、TXT、ZIP、またはSQLファイルです。 ファイルのサイズは15 MBを超えることはできません。
ロールバックのSQLステートメント
任意
データ変更をロールバックするために実行できるSQL文。
SQLテキスト
任意
このパラメーターは、ロールバック用SQLステートメントパラメーターをテキストに設定した場合にのみ使用できます。 ロールバック用のSQL文を入力します。 このパラメーターに指定するSQL文は、データ変更をロールバックするために使用されます。
添付ファイル
任意
このパラメーターは、ロールバック用SQLステートメントパラメーターを [添付ファイル] に設定した場合にのみ使用できます。 [ファイルのアップロード] をクリックして、ロールバック用に実行されたSQL文を含む添付ファイルをアップロードします。
説明アップロードするファイルは、TXT、ZIP、またはSQLファイルです。 ファイルのサイズは15 MBを超えることはできません。
利害関係者の変更
任意
データ変更に関与する利害関係者。 指定されたすべての利害関係者は、チケットの詳細を表示し、承認プロセスに参加できます。 DMS管理者とデータベース管理者 (DBA) 以外の無関係なユーザーは、チケットの詳細にアクセスできません。
チケットの詳細ページで、[チャンクオプション] をクリックします。 表示されるダイアログボックスで、次のパラメーターを設定し、[変更の送信] をクリックします。
チケットの詳細を確認します。
説明チケットの詳細は、[チケットの詳細] ページで確認できます。 DMSは、実行するSQL文を事前にチェックします。 事前チェック項目には、SQL文の構文、SQL文のタイプがセキュリティルールで設定したタイプと一致するかどうか、チケットを送信したユーザーの権限、スキャンする行の推定数が含まれます。
チケットの詳細が確認され、事前チェックが完了したら、[承認の申請] をクリックします。 表示されるメッセージで、[OK] をクリックします。
重要チケットの詳細は、承認のためにチケットを提出する前にのみ変更できます。
DMS管理者としてチケットを承認して実行します。
最初に DMS管理者としてDMSコンソールV5.0 にログインします。
DMSコンソールのホームページで、[マイチケット] セクションの [保留中のチケット] をクリックします。
[マイチケット] ページで、処理するチケットを見つけ、[チケット番号] 列のチケット番号をクリックします。
[チケットの詳細] パネルで、チケットのデータ変更情報を確認し、[承認] をクリックします。
[承認] ダイアログボックスでコメントを入力し、[送信] をクリックします。
[実行] ステップで、[変更の実行] をクリックします。 表示されるダイアログボックスで、[実行戦略] パラメーターを [実行中] に設定し、[実行の確認] をクリックします。
[実行の確認] をクリックすると、DMSはタスクの実行を開始します。
説明Execution Strategyパラメーターのデフォルト値はRunning immediallyです。 [実行戦略] パラメーターを [スケジュール] に設定して、チケットの実行時間を選択することもできます。
[終了時間の指定] をオンにすると、DMSは指定した終了時間にSQL文の実行を停止します。 これにより、ピーク時にSQL文がビジネスに影響を与えるのを防ぎます。
[実行] ステップで、[詳細] をクリックします。 表示されるダイアログボックスで、[実行の進行状況] をクリックして進行状況を表示します。
データが管理者として更新されていることを確認します。
最初に DMS管理者としてのDMSコンソールV5.0
左側のインスタンスリストで、
POC_dev
インスタンスをクリックし、poc_dev
データベースをダブルクリックしてSQLConsoleタブに移動します。[SQLConsole] タブで、SQLエディターに次のSQL文を入力し、SQLエディターの上部にある [実行] をクリックします。
long_text_b
列のすべてのデータが更新されます。SELECT * FROM 'big_table';