ALTER LOGFILE GROUP语句
ALTER LOGFILE GROUP logfile_groupADD UNDOFILE 'file_name' [INITIAL_SIZE [=] size] [WAIT ]ENGINE [=] engine_name
该语句将UNDO名为“file_name'的文件添加到现有的日志文件组中logfile_group。一条ALTER LOGFILE GROUP语句只有一个ADD UNDOFILE子句。DROP UNDOFILE当前不支持任何子句。
注意所有NDB群集磁盘数据对象共享相同的名称空间。这意味着每个磁盘数据对象必须唯一地命名(而不仅仅是给定类型的每个磁盘数据对象)。例如,您不能具有相同名称的表空间和撤消日志文件,或具有相同名称的撤消日志文件和数据文件。
可选INITIAL_SIZE参数设置UNDO文件的初始大小(以字节为单位)。如果未指定,则初始大小默认为134217728(128 MB)。您可以选择后面size跟一个字母缩写,代表一个数量级,类似于中使用的缩写my.cnf。通常,这是字母M(兆字节)或G(千兆字节)之一。(缺陷#13116514,错误#16104705,错误#62858)
在32位系统上,最大支持值为INITIAL_SIZE4294967296(4 GB)。(缺陷号29186)
最小允许值为INITIAL_SIZE1048576(1 MB)。错误29574)
注意
WAIT被解析,但被忽略。此关键字当前无效,并且打算将来扩展。
ENGINE参数(必需)确定这是由该日志文件组所使用的,与存储引擎engine_name是所述存储引擎的名称。目前,唯一接受的值engine_name是“NDBCLUSTER”和“NDB”。这两个值相等。
这是一个示例,假定lg_3已使用创建日志文件组CREATE LOGFILE GROUP(请参见“ CREATE LOGFILE GROUP语句”):
ALTER LOGFILE GROUP lg_3ADD UNDOFILE 'undo_10.dat'INITIAL_SIZE =32MENGINE =NDBCLUSTER ;
当ALTER LOGFILE GROUP与用于ENGINE = NDBCLUSTER(可替换地,ENGINE = NDB),一个UNDO在每个NDB簇数据节点上创建日志文件。您可以验证UNDO文件是否已创建并通过查询INFORMATION_SCHEMA.FILES表来获取有关文件的信息。例如:
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)
(请参见“ INFORMATION_SCHEMA FILES表”。)
用于的内存UNDO_BUFFER_SIZE来自全局池,该全局池的大小由SharedGlobalMemory数据节点配置参数的值确定。这包括设置InitialLogFileGroup数据节点配置参数对此选项隐含的任何默认值。
ALTER LOGFILE GROUP仅对NDB群集的磁盘数据存储有用。有关更多信息,请参见“ NDB群集磁盘数据表”。
