Исходный код вики MariaDB - восстановление таблиц
Редактировал(а) Руслан Савельев 2025/08/07 04:31
Последние авторы
| author | version | line-number | content |
|---|---|---|---|
| 1 | (% class="box warningmessage" %) | ||
| 2 | ((( | ||
| 3 | **Перед восстановлением закройте все программы СНК-АЗС** | ||
| 4 | ))) | ||
| 5 | |||
| 6 | == **1. Первый уровень** == | ||
| 7 | |||
| 8 | (% class="box infomessage" %) | ||
| 9 | ((( | ||
| 10 | **Применяется если:** | ||
| 11 | Найдены поврежденные таблицы | ||
| 12 | Ошибки в данных в Бэк-Офисе | ||
| 13 | Ошибки при выполнении отчетов | ||
| 14 | Ошибки расчета скидки | ||
| 15 | Ошибки в лог-файлах - boapp.log, bolink.log, ReportBuilder.log:Table '.\oc\cashbox' is marked as crashed | ||
| 16 | ))) | ||
| 17 | |||
| 18 | Восстановление можно провести в ручном режиме (вкладка - "Ручной режим") или автоматическом режиме (вкладка - "Автоматический режим") | ||
| 19 | |||
| 20 | {{tabs idsToLabels="tabId1=Ручной режим, tabId2=Автоматический режим"/}} | ||
| 21 | |||
| 22 | (% id="tabId1" %) | ||
| 23 | ((( | ||
| 24 | (% class="box" %) | ||
| 25 | ((( | ||
| 26 | * Запустите **HeidiSQL** | ||
| 27 | |||
| 28 | {{code language="cmd"}} | ||
| 29 | C:\Program Files (x86)\Common Files\MariaDBShared\HeidiSQL\heidisql.exe | ||
| 30 | {{/code}} | ||
| 31 | |||
| 32 | * Создайте сеанс подключения к БД (или используйте существующий) | ||
| 33 | ** Нажмите на кнопку "**Создать**" | ||
| 34 | ** Имя хоста - **##127.0.0.1##** или **##localhost##** | ||
| 35 | ** Пользователь - **##root##** | ||
| 36 | ** Нажмите на кнопку "**Открыть**" | ||
| 37 | |||
| 38 | [[Подключение к HeidiSQL>>image:1754551301381-560.png||data-xwiki-image-style-alignment="center" height="432" width="700"]] | ||
| 39 | |||
| 40 | * Откроется окно программы | ||
| 41 | * Выберите схему ##**oc**## нажатием левой кнопки мыши | ||
| 42 | * Кликните по названию схемы ##**oc**## правой кнопкой мыши и в выпадающем меню выберите "**Обслуживание**" | ||
| 43 | |||
| 44 | [[Выбор схемы для обслуживания>>image:1754551750773-147.png||data-xwiki-image-style-alignment="center" height="534" width="700"]] | ||
| 45 | |||
| 46 | * Откроется окно "Массовый редактор таблиц", выберите следующие параметры для восстановления: | ||
| 47 | ** Убедитесь, что схема **oc** отмечена флажком //(на рисунке отмечено цифрой 1)// | ||
| 48 | ** На вкладке "**Обслуживание**" в строке "**Операция**" выберите Repair //(на рисунке отмечено цифрой 2)// | ||
| 49 | ** Отметьте флажком опции "**Extended**" и "**Use FRM file**" //(на рисунке отмечено цифрой 3)// | ||
| 50 | ** Нажмите - "**Выполнить**" //(на рисунке отмечено цифрой 4)// | ||
| 51 | |||
| 52 | [[Выбор параметров восстановления>>image:1754552205146-942.png||data-xwiki-image-style-alignment="center" height="268" width="500"]] | ||
| 53 | |||
| 54 | (% class="box warningmessage" %) | ||
| 55 | ((( | ||
| 56 | **Дождитесь восстановления таблиц. Процесс может занимать несколько часов!** | ||
| 57 | ))) | ||
| 58 | |||
| 59 | (% class="lead" %) | ||
| 60 | Если восстановление не работает | ||
| 61 | |||
| 62 | * Остановите службу **MariaDB** | ||
| 63 | * Отключите автоматическое восстановление таблиц в файле ##my.ini## | ||
| 64 | |||
| 65 | {{code language="cmd"}} | ||
| 66 | C:\SNC_AZS\MariaDB\data\my.ini | ||
| 67 | {{/code}} | ||
| 68 | |||
| 69 | {{code language="ini"}} | ||
| 70 | mysqld | ||
| 71 | aria_recover_options=OFF | ||
| 72 | {{/code}} | ||
| 73 | |||
| 74 | * Запустите службу MariaDB | ||
| 75 | * Снова запустите восстановление первого уровня | ||
| 76 | |||
| 77 | (% class="box infomessage" %) | ||
| 78 | ((( | ||
| 79 | Cсылка - "[[Управление службами Windows>>doc:Servisnye_operatsii.Nastroiki_v_Windows.Sluzhby_Windows.WebHome||target="_blank"]]" | ||
| 80 | ))) | ||
| 81 | ))) | ||
| 82 | ))) | ||
| 83 | |||
| 84 | (% id="tabId2" %) | ||
| 85 | ((( | ||
| 86 | (% class="box" %) | ||
| 87 | ((( | ||
| 88 | * Запустите скрипт ##**MariaLevel1.cmd**## | ||
| 89 | |||
| 90 | {{code language="cmd"}} | ||
| 91 | C:\SNC_AZS\software\dbase\MariaLevel1.cmd | ||
| 92 | {{/code}} | ||
| 93 | |||
| 94 | После выполнения скрипта в каталоге запуска появится файл ##**level1.log**## | ||
| 95 | |||
| 96 | {{code language="log"}} | ||
| 97 | 16:18 #Время запуска скрипта | ||
| 98 | "------Start checking tables------" | ||
| 99 | "------Bad tables list------" #Список поврежденных таблиц | ||
| 100 | oc.eventlog | ||
| 101 | "------Start recovery------" #Протокол восстановления таблиц | ||
| 102 | oc.eventlog | ||
| 103 | warning : Number of rows changed from 0 to 972 | ||
| 104 | status : OK | ||
| 105 | "------Recover complete, start new check------" | ||
| 106 | 16:18 #Время завершения восстановления | ||
| 107 | "------Bad tables list after recovery------" #Список невосстановленных таблиц (должен быть пуст) | ||
| 108 | {{/code}} | ||
| 109 | ))) | ||
| 110 | ))) | ||
| 111 | |||
| 112 | == **2. Второй уровень** == | ||
| 113 | |||
| 114 | (% class="box infomessage" %) | ||
| 115 | ((( | ||
| 116 | **Применяется если:** | ||
| 117 | Выполнение операции **Repair** не дало результата | ||
| 118 | ))) | ||
| 119 | |||
| 120 | Восстановление можно провести в ручном режиме (вкладка - "Ручной режим") или автоматическом режиме (вкладка - "Автоматический режим") | ||
| 121 | |||
| 122 | {{tabs idsToLabels="tabId3=Ручной режим, tabId4=Автоматический режим"/}} | ||
| 123 | |||
| 124 | (% id="tabId3" %) | ||
| 125 | ((( | ||
| 126 | (% class="box" %) | ||
| 127 | ((( | ||
| 128 | * Остановите службу MariaDB | ||
| 129 | * Запустите утилиту aria_chk со следующими параметрами: | ||
| 130 | |||
| 131 | {{code language="cmd"}} | ||
| 132 | C:\SNC_AZS_Maria\MariaDB\bin\aria_chk.exe --check --force oc\*.MAI | ||
| 133 | {{/code}} | ||
| 134 | |||
| 135 | * После выполнения команды, при отсутствии ошибок, запустите службу сервера MariaDB | ||
| 136 | |||
| 137 | (% class="box infomessage" %) | ||
| 138 | ((( | ||
| 139 | Cсылка - "[[Управление службами Windows>>doc:Servisnye_operatsii.Nastroiki_v_Windows.Sluzhby_Windows.WebHome||target="_blank"]]" | ||
| 140 | ))) | ||
| 141 | ))) | ||
| 142 | ))) | ||
| 143 | |||
| 144 | (% id="tabId4" %) | ||
| 145 | ((( | ||
| 146 | (% class="box" %) | ||
| 147 | ((( | ||
| 148 | * Запустите скрипт ##**MariaLevel2.cmd**## | ||
| 149 | |||
| 150 | {{code language="cmd"}} | ||
| 151 | C:\SNC_AZS\software\dbase\MariaLevel2.cmd | ||
| 152 | {{/code}} | ||
| 153 | |||
| 154 | * После выполнения скрипта в каталоге запуска появится файл ##**level2.log**## | ||
| 155 | |||
| 156 | {{code language="log"}} | ||
| 157 | 16:18 #Время запуска скрипта | ||
| 158 | "------Start checking tables------" | ||
| 159 | "------Bad tables list------" #Список поврежденных таблиц | ||
| 160 | oc.eventlog | ||
| 161 | "------Start recovery------" #Протокол восстановления таблиц | ||
| 162 | oc.eventlog | ||
| 163 | warning : Number of rows changed from 0 to 972 | ||
| 164 | status : OK | ||
| 165 | "------Recover complete, start new check------" | ||
| 166 | 16:18 #Время завершения восстановления | ||
| 167 | "------Bad tables list after recovery------" #Список невосстановленных таблиц (должен быть пуст) | ||
| 168 | {{/code}} | ||
| 169 | ))) | ||
| 170 | ))) | ||
| 171 | |||
| 172 | == **3. Третий уровень** == | ||
| 173 | |||
| 174 | (% class="box infomessage" %) | ||
| 175 | ((( | ||
| 176 | **Применяется если:** | ||
| 177 | Выполнение восстановления второго уровня не дало результата | ||
| 178 | ))) | ||
| 179 | |||
| 180 | * Остановите службу MariaDB | ||
| 181 | * Запустите утилиту aria_chk со следующими параметрами: | ||
| 182 | |||
| 183 | {{code language="cmd"}} | ||
| 184 | C:\SNC_AZS_Maria\MariaDB\bin\aria_chk.exe --safe-recover --zerofill oc\*.MAI | ||
| 185 | {{/code}} | ||
| 186 | |||
| 187 | * После выполнения команды, при отсутствии ошибок, запустите службу сервера MariaDB | ||
| 188 | |||
| 189 | (% class="box infomessage" %) | ||
| 190 | ((( | ||
| 191 | Cсылка - "[[Управление службами Windows>>doc:Servisnye_operatsii.Nastroiki_v_Windows.Sluzhby_Windows.WebHome||target="_blank"]]" | ||
| 192 | ))) | ||
| 193 | |||
| 194 | == **4. Четвертый уровень** == | ||
| 195 | |||
| 196 | (% class="box infomessage" %) | ||
| 197 | ((( | ||
| 198 | **Применяется если:** | ||
| 199 | БО не загружается, при запуске появляется сообщение «Невозможно подключиться к БД». | ||
| 200 | В ##bo_app.log, bo_link.log, ReportBuilder.log## сообщения: | ||
| 201 | «##Подключение к БД — ОШИБКА##» , «##server gone away##». | ||
| 202 | В логе работы сервера БД (в каталоге ##Data##) последние строки содержат сообщения: | ||
| 203 | [##ERROR] Failed to initialize plugins. | ||
| 204 | [ERROR] Aborting | ||
| 205 | [ERROR] Plugin 'Aria' registration as a STORAGE ENGINE failed.## | ||
| 206 | ))) | ||
| 207 | |||
| 208 | Восстановление можно провести в ручном режиме (вкладка - "Ручной режим") или автоматическом режиме (вкладка - "Автоматический режим") | ||
| 209 | |||
| 210 | {{tabs idsToLabels="tabId5=Ручной режим, tabId6=Автоматический режим"/}} | ||
| 211 | |||
| 212 | (% id="tabId5" %) | ||
| 213 | ((( | ||
| 214 | (% class="box" %) | ||
| 215 | ((( | ||
| 216 | * Остановите службу MariaDB | ||
| 217 | * Удалите файлы логирования СУБД **##aria_log.*##** в каталоге ##Data##: | ||
| 218 | |||
| 219 | {{code language="cmd"}} | ||
| 220 | C:\SNC_AZS\MariaDB\data\ | ||
| 221 | {{/code}} | ||
| 222 | |||
| 223 | * После выполнения команды, при отсутствии ошибок, запустите службу сервера MariaDB | ||
| 224 | |||
| 225 | (% class="box infomessage" %) | ||
| 226 | ((( | ||
| 227 | Cсылка - "[[Управление службами Windows>>doc:Servisnye_operatsii.Nastroiki_v_Windows.Sluzhby_Windows.WebHome||target="_blank"]]" | ||
| 228 | ))) | ||
| 229 | ))) | ||
| 230 | ))) | ||
| 231 | |||
| 232 | (% id="tabId6" %) | ||
| 233 | ((( | ||
| 234 | (% class="box" %) | ||
| 235 | ((( | ||
| 236 | * Запустите скрипт ##**MariaLevel0.cmd**## | ||
| 237 | |||
| 238 | {{code language="cmd"}} | ||
| 239 | C:\SNC_AZS\software\dbase\MariaLevel0.cmd | ||
| 240 | {{/code}} | ||
| 241 | |||
| 242 | * После выполнения скрипта в каталоге запуска появится файл ##**level2.log**## | ||
| 243 | |||
| 244 | {{code language="log"}} | ||
| 245 | 18:04 | ||
| 246 | "------Checking MariaDB state------" | ||
| 247 | "------MariaDB OK------" | ||
| 248 | |||
| 249 | Имя_службы: MariaDB | ||
| 250 | Тип : 10 WIN32_OWN_PROCESS | ||
| 251 | Состояние : 4 RUNNING #Состояние службы | ||
| 252 | (STOPPABLE, PAUSABLE, ACCEPTS_SHUTDOWN) | ||
| 253 | Код_выхода_Win32 : 0 (0x0) | ||
| 254 | Код_выхода_службы : 0 (0x0) | ||
| 255 | Контрольная_точка : 0x0 | ||
| 256 | Ожидание : 0x0 | ||
| 257 | {{/code}} | ||
| 258 | ))) | ||
| 259 | ))) | ||
| 260 | |||
| 261 | == **5. Если не удалось восстановить** == | ||
| 262 | |||
| 263 | Если операции по восстановлению не дали результата, то необходимо файловый слепок хранилища БД передать разработчикам для детального анализа сбойной ситуации. | ||
| 264 | |||
| 265 |