13.1.5 Оператор ALTER LOGFILE GROUP
ALTER LOGFILE GROUP logfile_group
ADD UNDOFILE 'file_name'
[INITIAL_SIZE [=] size]
[WAIT]
ENGINE [=] engine_name
Этот оператор добавляет файл UNDO с именем 'file_name' в существующую группу файлов журнала logfile_group. Оператор ALTER LOGFILE GROUP содержит только один ADD UNDOFILE-оператор. Пока не поддерживается DROP UNDOFILE-оператор.
Все объекты данных на дисках NDB Cluster используют один и тот же пространство имён. Это означает, что каждый объект данных на диске должен иметь уникальное имя (а не только каждый объект данных заданного типа). Например, вы не можете иметь табличное пространство и файл журнала отката с одинаковым именем, или файл журнала отката и файл данных с одинаковым именем.
Необязательный параметр INITIAL_SIZE устанавливает начальный размер файла UNDO в байтах; если не указано, начальный размер по умолчанию составляет 134217728 (128 МБ). Вы можете дополнительно к size добавить однобуквенное сокращение для порядка величины, аналогичное тем, что используются в my.cnf. Обычно это одна из букв M (мегабайты) или G (гигабайты). (Ошибка #13116514, Ошибка #16104705, Ошибка #62858)
В 32-разрядных системах максимальное значение для INITIAL_SIZE составляет 4294967296 (4 ГБ). (Ошибка #29186)
Минимально допустимое значение для INITIAL_SIZE составляет 1048576 (1 МБ). (Ошибка #29574)
WAIT анализируется, но в остальном игнорируется. В настоящее время этот ключевой параметр не оказывает никакого влияния и предназначен для будущего расширения.
Параметр ENGINE (обязательный) определяет движок хранения, который используется этой группой файлов журнала, при этом engine_name является именем движка хранения. В настоящее время единственно допустимые значения для engine_name — это “NDBCLUSTER” и “NDB”. Эти два значения эквивалентны.
Вот пример, предполагающий, что группа файлов журнала lg_3 уже была создана с помощью CREATE LOGFILE GROUP (см. Раздел 13.1.15, «Оператор 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. Вы можете проверить, что файлы UNDO были созданы, и получить информацию о них, обратившись к таблице схемы информации 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)
(См. Раздел 24.3.9, «Таблица INFORMATION_SCHEMA FILES».)
Память, используемая для UNDO_BUFFER_SIZE, берётся из глобального пула, размер которого определяется значением параметра конфигурации узла данных SharedGlobalMemory. Это включает в себя любое значение по умолчанию, подразумеваемое для этого параметра установкой параметра конфигурации узла данных InitialLogFileGroup.
ALTER LOGFILE GROUP полезно только с хранилищем Disk Data для NDB Cluster. Дополнительную информацию см. в Разделе 21.6.11, «Таблицы данных на дисках NDB Cluster».
© 2025 Oracle
Licensed under the GPLv2 License.