aria_chk
aria_chk используется для проверки, ремонта, оптимизации, сортировки и получения информации о таблицах Aria.
С сервером MariaDB можно использовать CHECK TABLE, REPAIR TABLE и OPTIMIZE TABLE для выполнения аналогичных задач.
Примечание: aria_chk не следует использовать, когда работает MariaDB. MariaDB предполагает, что никто не изменяет используемые им таблицы!
Использование:
aria_chk [OPTIONS] aria_tables[.MAI]
Информация о таблице Aria хранится в 2 файлах: файл .MAI содержит информацию о базовой таблице, индексах и файл .MAD содержит данные. aria_chk принимает один или несколько файлов .MAI в качестве аргументов.
Следующие группы считываются из файлов my.cnf:
-
[maria_chk] -
[aria_chk]
Параметры и переменные
Глобальные параметры
Следующие параметры для обработки файлов параметров могут быть указаны в качестве первого аргумента:
| Параметр | Описание |
|---|---|
|
Вывести список аргументов программы и завершить работу. |
|
Не читать параметры по умолчанию из файла параметров. |
|
Считать параметры по умолчанию только из данного файла №. |
|
Прочитать этот файл после чтения глобальных файлов. |
Основные аргументы
| Параметр | Описание |
|---|---|
-,
|
Вывести журнал отладки. Часто это 'd:t:o,имя_файла'. |
-H,
|
Показать это справку и завершить работу. |
-?,
|
Показать эту справку и завершить работу. |
|
Путь к файлу управления (и журналы, если --logdir не используется). |
|
Не открывать файл управления. Используйте только в том случае, если вы уверены, что к таблицам не обращается другая программа. |
|
Путь к файлам журнала. |
|
Прервать выполнение, если не удалось найти/прочитать файл maria_log_control. |
-s,
|
Выводить только ошибки. Можно использовать два параметра -s, чтобы сделать aria_chk очень тихим. |
-t,
|
Путь к временным файлам. Можно указать несколько путей, разделенных двоеточием (:) в Unix или точкой с запятой (;) в Windows. Они будут использоваться в циклическом порядке. |
-v,
|
Вывести больше информации. Это можно использовать с --description и --check. Используйте несколько параметров -v для большей подробности. |
-V,
|
Вывести версию и завершить работу. |
-w,
|
Ожидать, если таблица заблокирована. |
Параметры проверки (--check — это действие по умолчанию для aria_chk):
| Параметр | Описание |
|---|---|
-c,
|
Проверить таблицу на наличие ошибок. |
-e,
|
Очень тщательно проверить таблицу. Используйте только в крайних случаях, так как aria_chk обычно должен определять, является ли таблица корректной, даже без этого переключателя. |
-F,
|
Проверить только таблицы, которые не были должным образом закрыты. |
-C,
|
Проверить только таблицы, которые изменились с момента последней проверки. |
-f,
|
Перезапустить с '-r', если в таблице есть ошибки. Состояния будут обновляться так же, как и при '--update-state'. |
-i,
|
Вывести статистическую информацию о проверяемой таблице. |
-m,
|
Быстрее, чем extend-check, и находит 99,99% всех ошибок. Должно быть достаточно для большинства случаев. |
-U,
|
Отметить таблицы как аварийные, если были обнаружены ошибки, и очистить, если проверка не нашла ошибок, но таблица была помечена как «не чистая» ранее. Это позволяет избавиться от предупреждений, таких как «таблица не закрыта должным образом». Если таблица была обновлена, также обновите метку времени последней проверки. Этот параметр включен по умолчанию! Используйте --skip-update-state для отключения. |
-T,
|
Не отмечать таблицу как проверенную. |
Параметры восстановления (при использовании '--recover' или '--safe-recover'):
| Параметр | Описание |
|---|---|
-B,
|
Создать резервную копию файла .MAD как 'имя_файла-время.BAK'. |
|
Исправить информацию о контрольной сумме таблицы. |
-D,
|
Максимальная длина файла данных (при повторном создании файла данных, если он заполнен). |
-e,
|
Попытаться восстановить каждую возможную строку из файла данных. Обычно это также найдет много мусорных строк; Не используйте этот параметр, если вы не в отчаянии. |
-f,
|
Перезаписать старые временные файлы. |
-k,
|
Указать MARIA обновить только некоторые конкретные ключи. # — битовая маска используемых ключей. Это можно использовать для ускорения вставки. |
|
Пропустить строки, превышающие этот размер, если aria_chk не может выделить память для их хранения. |
-r,
|
Может исправить почти все, кроме уникальных ключей, которые не уникальны. |
-n,
|
Принудительно восстановить с сортировкой, даже если временный файл будет очень большим. |
-p,
|
Использует ту же технику, что и '-r' и '-n', но создает все ключи параллельно, в разных потоках. |
-o,
|
Использует старый метод восстановления; Медленнее, чем '-r', но может обрабатывать несколько случаев, когда '-r' сообщает, что не может исправить файл данных. |
|
Записать команду восстановления в журнал транзакций. Это необходимо, если вы хотите использовать maria_read_log для повторения восстановления. |
|
Директория, в которой находятся наборы символов. |
|
Изменить кодировку, используемую индексом. |
-q,
|
Более быстрое восстановление, не изменяя файл данных. Можно указать второй '-q' для принудительного изменения исходного файла данных в случае дублирующихся ключей. ПРИМЕЧАНИЕ: Таблицы, где поврежден файл данных, с этим параметром исправить нельзя. |
-u,
|
Распаковать файл, упакованный с помощью aria_pack. |
Другие параметры
| Параметр | Описание |
|---|---|
-a,
|
Анализировать распределение ключей. Это ускорит некоторые соединения в MariaDB. Вы можете проверить рассчитанное распределение, используя '--description --verbose table_name'. |
|
Определяет, как код сбора статистики индексов должен обрабатывать значения NULL. Возможные значения имени: «nulls_unequal» (по умолчанию для 4.1/5.0), «nulls_equal» (эмулировать 4.0) и «nulls_ignored». |
-d,
|
Вывести некоторую информацию о таблице. |
-A,
|
Принудительно установить auto_increment с этого или большего значения. Если значение не задано, то устанавливает следующее значение auto_increment до наибольшего использованного значения для автоключа + 1. |
-S,
|
Сортировать блоки индекса. Это ускоряет «чтение следующего» в приложениях. |
-R,
|
Сортировать записи в соответствии с индексом. Это делает данные намного более локализованными и может ускорить выполнение операций (первая сортировка может быть очень медленной!). |
-b,
|
Найти запись, блок по заданному смещению принадлежит. |
-z,
|
Удалить идентификаторы транзакций из файлов данных и индексов и заполнить пустое пространство в файлах данных и индексов нулями. Нулевая загрузка позволяет перемещать таблицу из одной системы в другую, без необходимости автоматической нулевой загрузки сервером. Это также позволяет лучше сжимать таблицы, если вы хотите их архивировать. |
|
Как --zerofill, но не обнуляет LSN страниц данных/индексов. |
Переменные
| Параметр | Описание |
|---|---|
page_buffer_size |
Размер буфера страниц. Используется --safe-repair
|
read_buffer_size |
Размер буфера чтения для последовательных чтений во время сканирования |
write_buffer_size |
Размер буфера записи для последовательных записей во время ремонта строк фиксированного или динамического размера |
sort_buffer_size |
Размер буфера сортировки. Используется --recover
|
sort_key_blocks |
Внутренний буфер для сортировки ключей; Не трогайте :) |
Использование
Основное использование aria_chk — когда требуется быстро проверить все таблицы Aria в вашей системе. Это быстрее, чем делать это в MariaDB, так как вы можете выделить всю свободную память для буферов.
Предполагается, что у вас есть немного больше 2 Гб свободной памяти.
Следующие команды, запущенные в каталоге данных MariaDB, проверяют все ваши таблицы и выполняют ремонт только тех, которые содержат ошибку:
aria_chk --check --sort_order --force --sort_buffer_size=1G */*.MAI
Если вы хотите оптимизировать все ваши таблицы: (Здесь используется --zerofill для заполнения пустого места \0, что может ускорить сжатые резервные копии).
aria_chk --analyze --sort-index --page_buffer_size=1G --zerofill */*.MAI
В случае серьезной проблемы и необходимости использования --safe-recover:
aria_chk --safe-recover --zerofill --page_buffer_size=2G */*.MAI
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/aria_chk/