ALTER LOGFILE GROUP logfile_group
ADD UNDOFILE 'file_name'
[INITIAL_SIZE [=] size]
[WAIT]
ENGINE [=] engine_name
このステートメントは、'file_name
' という名前の UNDO
ファイルを既存のログファイルグループ logfile_group
に追加します。 ALTER LOGFILE GROUP
ステートメントには、ADD UNDOFILE
句が 1 つだけ存在します。 DROP UNDOFILE
句は、現在サポートされていません。
NDB Cluster ディスクデータオブジェクトはすべて同じ名前空間を共有します。 つまり、各ディスクデータオブジェクトは (単に、特定の型の各ディスクデータオブジェクトというだけでなく)、一意の名前が付けられている必要があります。 たとえば、テーブルスペースと Undo ログファイルを同じ名前にしたり、Undo ログファイルとデータファイルを同じ名前にしたりすることはできません。
オプションの INITIAL_SIZE
パラメータは、UNDO
ファイルの初期サイズをバイト単位で設定します。指定されていない場合、初期サイズはデフォルトで 134217728 (128M バイト) になります。 オプションで、my.cnf
で使用されているものと同様に、size
の後に一文字の略称を付けることもできます。 一般に、これは M
(M バイト) または G
(G バイト) のどちらかの文字です。 (Bug #13116514、Bug #16104705、Bug #62858)
32 ビットシステム上では、INITIAL_SIZE
のサポートされる最大値は 4294967296 (4G バイト) です。 (Bug #29186)
INITIAL_SIZE
の許可される最小値は 1048576 (1M バイト) です。 (Bug #29574)
WAIT
は解析されますが、それ以外は無視されます。 このキーワードは現在何の効果もなく、将来の拡張のために用意されています。
ENGINE
パラメータ (必須) は、このログファイルグループによって使用されるストレージエンジンを決定します。ここで、engine_name
はそのストレージエンジンの名前です。 現在、engine_name
として受け入れられる値は「NDBCLUSTER
」と「NDB
」だけです。 この 2 つの値は同等です。
次の例では、ログファイルグループ lg_3
がすでに CREATE LOGFILE GROUP
を使用して作成されていることを前提にしています (セクション13.1.16「CREATE LOGFILE GROUP ステートメント」を参照してください)。
ALTER LOGFILE GROUP lg_3
ADD UNDOFILE 'undo_10.dat'
INITIAL_SIZE=32M
ENGINE=NDBCLUSTER;
ALTER LOGFILE GROUP
を ENGINE = NDBCLUSTER
(または ENGINE = NDB
) とともに使用すると、NDB Cluster データノードごとに UNDO
ログファイルが作成されます。 INFORMATION_SCHEMA.FILES
テーブルをクエリーすることによって、UNDO
ファイルが作成されたことを確認したり、それらに関する情報を取得したりできます。 例:
mysql> SELECT FILE_NAME, LOGFILE_GROUP_NUMBER, EXTRA
-> FROM INFORMATION_SCHEMA.FILES
-> WHERE LOGFILE_GROUP_NAME = 'lg_3';
+-------------+----------------------+----------------+
| FILE_NAME | LOGFILE_GROUP_NUMBER | EXTRA |
+-------------+----------------------+----------------+
| newdata.dat | 0 | CLUSTER_NODE=3 |
| newdata.dat | 0 | CLUSTER_NODE=4 |
| undo_10.dat | 11 | CLUSTER_NODE=3 |
| undo_10.dat | 11 | CLUSTER_NODE=4 |
+-------------+----------------------+----------------+
4 rows in set (0.01 sec)
(セクション26.15「INFORMATION_SCHEMA FILES テーブル」を参照してください。)
UNDO_BUFFER_SIZE
に使用されるメモリーは、サイズが SharedGlobalMemory
データノード構成パラメータの値によって決定されるグローバルプールから取得されます。 これには、InitialLogFileGroup
データノード構成パラメータの設定により、このオプションに暗黙的に指定されるデフォルト値もすべて含まれます。
ALTER LOGFILE GROUP
は NDB Cluster のディスクデータストレージでのみ役立ちます。 詳細は、セクション23.5.10「NDB Cluster ディスクデータテーブル」を参照してください。