Spec-Zone.ru › MariaDB

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]

Параметры и переменные

Глобальные параметры

Следующие параметры для обработки файлов параметров могут быть указаны в качестве первого аргумента:

Параметр Описание
--print-defaults Вывести список аргументов программы и завершить работу.
--no-defaults Не читать параметры по умолчанию из файла параметров.
--defaults-file=# Считать параметры по умолчанию только из данного файла №.
--defaults-extra-file=# Прочитать этот файл после чтения глобальных файлов.

Основные аргументы

Параметр Описание
-#, --debug=... Вывести журнал отладки. Часто это 'd:t:o,имя_файла'.
-H, --HELP Показать это справку и завершить работу.
-?, --help Показать эту справку и завершить работу.
--datadir=path Путь к файлу управления (и журналы, если --logdir не используется).
--ignore-control-file Не открывать файл управления. Используйте только в том случае, если вы уверены, что к таблицам не обращается другая программа.
--logdir=path Путь к файлам журнала.
--require-control-file Прервать выполнение, если не удалось найти/прочитать файл maria_log_control.
-s, --silent Выводить только ошибки. Можно использовать два параметра -s, чтобы сделать aria_chk очень тихим.
-t, --tmpdir=path Путь к временным файлам. Можно указать несколько путей, разделенных двоеточием (:) в Unix или точкой с запятой (;) в Windows. Они будут использоваться в циклическом порядке.
-v, --verbose Вывести больше информации. Это можно использовать с --description и --check. Используйте несколько параметров -v для большей подробности.
-V, --version Вывести версию и завершить работу.
-w, --wait Ожидать, если таблица заблокирована.

Параметры проверки (--check — это действие по умолчанию для aria_chk):

Параметр Описание
-c, --check Проверить таблицу на наличие ошибок.
-e, --extend-check Очень тщательно проверить таблицу. Используйте только в крайних случаях, так как aria_chk обычно должен определять, является ли таблица корректной, даже без этого переключателя.
-F, --fast Проверить только таблицы, которые не были должным образом закрыты.
-C, --check-only-changed Проверить только таблицы, которые изменились с момента последней проверки.
-f, --force Перезапустить с '-r', если в таблице есть ошибки. Состояния будут обновляться так же, как и при '--update-state'.
-i, --information Вывести статистическую информацию о проверяемой таблице.
-m, --medium-check Быстрее, чем extend-check, и находит 99,99% всех ошибок. Должно быть достаточно для большинства случаев.
-U, --update-state Отметить таблицы как аварийные, если были обнаружены ошибки, и очистить, если проверка не нашла ошибок, но таблица была помечена как «не чистая» ранее. Это позволяет избавиться от предупреждений, таких как «таблица не закрыта должным образом». Если таблица была обновлена, также обновите метку времени последней проверки. Этот параметр включен по умолчанию! Используйте --skip-update-state для отключения.
-T, --read-only Не отмечать таблицу как проверенную.

Параметры восстановления (при использовании '--recover' или '--safe-recover'):

Параметр Описание
-B, --backup Создать резервную копию файла .MAD как 'имя_файла-время.BAK'.
--correct-checksum Исправить информацию о контрольной сумме таблицы.
-D, --data-file-length=# Максимальная длина файла данных (при повторном создании файла данных, если он заполнен).
-e, --extend-check Попытаться восстановить каждую возможную строку из файла данных. Обычно это также найдет много мусорных строк; Не используйте этот параметр, если вы не в отчаянии.
-f, --force Перезаписать старые временные файлы.
-k, --keys-used=# Указать MARIA обновить только некоторые конкретные ключи. # — битовая маска используемых ключей. Это можно использовать для ускорения вставки.
--max-record-length=# Пропустить строки, превышающие этот размер, если aria_chk не может выделить память для их хранения.
-r, --recover Может исправить почти все, кроме уникальных ключей, которые не уникальны.
-n, --sort-recover Принудительно восстановить с сортировкой, даже если временный файл будет очень большим.
-p, --parallel-recover Использует ту же технику, что и '-r' и '-n', но создает все ключи параллельно, в разных потоках.
-o, --safe-recover Использует старый метод восстановления; Медленнее, чем '-r', но может обрабатывать несколько случаев, когда '-r' сообщает, что не может исправить файл данных.
--transaction-log Записать команду восстановления в журнал транзакций. Это необходимо, если вы хотите использовать maria_read_log для повторения восстановления.
--character-sets-dir=... Директория, в которой находятся наборы символов.
--set-collation=name Изменить кодировку, используемую индексом.
-q, --quick Более быстрое восстановление, не изменяя файл данных. Можно указать второй '-q' для принудительного изменения исходного файла данных в случае дублирующихся ключей. ПРИМЕЧАНИЕ: Таблицы, где поврежден файл данных, с этим параметром исправить нельзя.
-u, --unpack Распаковать файл, упакованный с помощью aria_pack.

Другие параметры

Параметр Описание
-a, --analyze Анализировать распределение ключей. Это ускорит некоторые соединения в MariaDB. Вы можете проверить рассчитанное распределение, используя '--description --verbose table_name'.
--stats_method=name Определяет, как код сбора статистики индексов должен обрабатывать значения NULL. Возможные значения имени: «nulls_unequal» (по умолчанию для 4.1/5.0), «nulls_equal» (эмулировать 4.0) и «nulls_ignored».
-d, --description Вывести некоторую информацию о таблице.
-A, --set-auto-increment[=value] Принудительно установить auto_increment с этого или большего значения. Если значение не задано, то устанавливает следующее значение auto_increment до наибольшего использованного значения для автоключа + 1.
-S, --sort-index Сортировать блоки индекса. Это ускоряет «чтение следующего» в приложениях.
-R, --sort-records=# Сортировать записи в соответствии с индексом. Это делает данные намного более локализованными и может ускорить выполнение операций (первая сортировка может быть очень медленной!).
-b, --block-search=# Найти запись, блок по заданному смещению принадлежит.
-z, --zerofill Удалить идентификаторы транзакций из файлов данных и индексов и заполнить пустое пространство в файлах данных и индексов нулями. Нулевая загрузка позволяет перемещать таблицу из одной системы в другую, без необходимости автоматической нулевой загрузки сервером. Это также позволяет лучше сжимать таблицы, если вы хотите их архивировать.
--zerofill-keep-lsn Как --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
Содержимое, воспроизведенное на этом сайте, является собственностью соответствующих владельцев, и это содержимое не проверяется заранее компанией MariaDB. Мнения, информация и мнения, выраженные в этом содержимом, не обязательно отражают мнения MariaDB или любой другой стороны.

© 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/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API