Исходный код вики MariaDB - восстановление таблиц
Редактировал(а) Руслан Савельев 2025/08/07 04:31
Скрыть последних авторов
| author | version | line-number | content |
|---|---|---|---|
| |
3.1 | 1 | (% class="box warningmessage" %) |
| 2 | ((( | ||
| 3 | **Перед восстановлением закройте все программы СНК-АЗС** | ||
| 4 | ))) | ||
| |
1.1 | 5 | |
| |
3.1 | 6 | == **1. Первый уровень** == |
| |
1.1 | 7 | |
| |
3.1 | 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 | ))) | ||
| |
1.1 | 17 | |
| |
3.1 | 18 | Восстановление можно провести в ручном режиме (вкладка - "Ручной режим") или автоматическом режиме (вкладка - "Автоматический режим") |
| |
1.1 | 19 | |
| |
3.1 | 20 | {{tabs idsToLabels="tabId1=Ручной режим, tabId2=Автоматический режим"/}} |
| |
1.1 | 21 | |
| |
3.1 | 22 | (% id="tabId1" %) |
| 23 | ((( | ||
| 24 | (% class="box" %) | ||
| 25 | ((( | ||
| 26 | * Запустите **HeidiSQL** | ||
| |
1.1 | 27 | |
| |
3.1 | 28 | {{code language="cmd"}} |
| 29 | C:\Program Files (x86)\Common Files\MariaDBShared\HeidiSQL\heidisql.exe | ||
| 30 | {{/code}} | ||
| |
1.1 | 31 | |
| |
3.1 | 32 | * Создайте сеанс подключения к БД (или используйте существующий) |
| 33 | ** Нажмите на кнопку "**Создать**" | ||
| 34 | ** Имя хоста - **##127.0.0.1##** или **##localhost##** | ||
| 35 | ** Пользователь - **##root##** | ||
| 36 | ** Нажмите на кнопку "**Открыть**" | ||
| |
1.1 | 37 | |
| |
6.1 | 38 | [[Подключение к HeidiSQL>>image:1754551301381-560.png||data-xwiki-image-style-alignment="center" height="432" width="700"]] |
| |
1.1 | 39 | |
| |
6.1 | 40 | * Откроется окно программы |
| 41 | * Выберите схему ##**oc**## нажатием левой кнопки мыши | ||
| 42 | * Кликните по названию схемы ##**oc**## правой кнопкой мыши и в выпадающем меню выберите "**Обслуживание**" | ||
| |
1.1 | 43 | |
| |
6.1 | 44 | [[Выбор схемы для обслуживания>>image:1754551750773-147.png||data-xwiki-image-style-alignment="center" height="534" width="700"]] |
| |
1.1 | 45 | |
| |
6.1 | 46 | * Откроется окно "Массовый редактор таблиц", выберите следующие параметры для восстановления: |
| 47 | ** Убедитесь, что схема **oc** отмечена флажком //(на рисунке отмечено цифрой 1)// | ||
| 48 | ** На вкладке "**Обслуживание**" в строке "**Операция**" выберите Repair //(на рисунке отмечено цифрой 2)// | ||
| 49 | ** Отметьте флажком опции "**Extended**" и "**Use FRM file**" //(на рисунке отмечено цифрой 3)// | ||
| 50 | ** Нажмите - "**Выполнить**" //(на рисунке отмечено цифрой 4)// | ||
| |
1.1 | 51 | |
| |
6.1 | 52 | [[Выбор параметров восстановления>>image:1754552205146-942.png||data-xwiki-image-style-alignment="center" height="268" width="500"]] |
| |
1.1 | 53 | |
| |
6.1 | 54 | (% class="box warningmessage" %) |
| 55 | ((( | ||
| 56 | **Дождитесь восстановления таблиц. Процесс может занимать несколько часов!** | ||
| 57 | ))) | ||
| |
1.1 | 58 | |
| |
6.1 | 59 | (% class="lead" %) |
| 60 | Если восстановление не работает | ||
| |
1.1 | 61 | |
| |
6.1 | 62 | * Остановите службу **MariaDB** |
| 63 | * Отключите автоматическое восстановление таблиц в файле ##my.ini## | ||
| |
1.1 | 64 | |
| |
6.1 | 65 | {{code language="cmd"}} |
| 66 | C:\SNC_AZS\MariaDB\data\my.ini | ||
| 67 | {{/code}} | ||
| |
1.1 | 68 | |
| |
6.1 | 69 | {{code language="ini"}} |
| 70 | mysqld | ||
| 71 | aria_recover_options=OFF | ||
| 72 | {{/code}} | ||
| 73 | |||
| |
9.1 | 74 | * Запустите службу MariaDB |
| 75 | * Снова запустите восстановление первого уровня | ||
| |
6.1 | 76 | |
| 77 | (% class="box infomessage" %) | ||
| 78 | ((( | ||
| 79 | Cсылка - "[[Управление службами Windows>>doc:Servisnye_operatsii.Nastroiki_v_Windows.Sluzhby_Windows.WebHome||target="_blank"]]" | ||
| |
3.1 | 80 | ))) |
| 81 | ))) | ||
| |
6.1 | 82 | ))) |
| |
1.1 | 83 | |
| |
3.1 | 84 | (% id="tabId2" %) |
| 85 | ((( | ||
| 86 | (% class="box" %) | ||
| 87 | ((( | ||
| |
6.1 | 88 | * Запустите скрипт ##**MariaLevel1.cmd**## |
| |
1.1 | 89 | |
| |
6.1 | 90 | {{code language="cmd"}} |
| 91 | C:\SNC_AZS\software\dbase\MariaLevel1.cmd | ||
| 92 | {{/code}} | ||
| |
1.1 | 93 | |
| |
6.1 | 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}} | ||
| |
3.1 | 109 | ))) |
| 110 | ))) | ||
| |
1.1 | 111 | |
| |
6.2 | 112 | == **2. Второй уровень** == |
| |
1.1 | 113 | |
| |
6.2 | 114 | (% class="box infomessage" %) |
| 115 | ((( | ||
| 116 | **Применяется если:** | ||
| 117 | Выполнение операции **Repair** не дало результата | ||
| 118 | ))) | ||
| |
1.1 | 119 | |
| |
6.2 | 120 | Восстановление можно провести в ручном режиме (вкладка - "Ручной режим") или автоматическом режиме (вкладка - "Автоматический режим") |
| |
1.1 | 121 | |
| |
8.1 | 122 | {{tabs idsToLabels="tabId3=Ручной режим, tabId4=Автоматический режим"/}} |
| |
1.1 | 123 | |
| |
8.1 | 124 | (% id="tabId3" %) |
| |
6.2 | 125 | ((( |
| 126 | (% class="box" %) | ||
| 127 | ((( | ||
| |
7.1 | 128 | * Остановите службу MariaDB |
| 129 | * Запустите утилиту aria_chk со следующими параметрами: | ||
| |
1.1 | 130 | |
| |
7.1 | 131 | {{code language="cmd"}} |
| 132 | C:\SNC_AZS_Maria\MariaDB\bin\aria_chk.exe --check --force oc\*.MAI | ||
| 133 | {{/code}} | ||
| |
1.1 | 134 | |
| |
7.1 | 135 | * После выполнения команды, при отсутствии ошибок, запустите службу сервера MariaDB |
| |
10.1 | 136 | |
| 137 | (% class="box infomessage" %) | ||
| 138 | ((( | ||
| 139 | Cсылка - "[[Управление службами Windows>>doc:Servisnye_operatsii.Nastroiki_v_Windows.Sluzhby_Windows.WebHome||target="_blank"]]" | ||
| |
6.2 | 140 | ))) |
| 141 | ))) | ||
| |
10.1 | 142 | ))) |
| |
1.1 | 143 | |
| |
8.1 | 144 | (% id="tabId4" %) |
| |
6.2 | 145 | ((( |
| 146 | (% class="box" %) | ||
| 147 | ((( | ||
| |
7.1 | 148 | * Запустите скрипт ##**MariaLevel2.cmd**## |
| |
1.1 | 149 | |
| |
7.1 | 150 | {{code language="cmd"}} |
| 151 | C:\SNC_AZS\software\dbase\MariaLevel2.cmd | ||
| 152 | {{/code}} | ||
| |
1.1 | 153 | |
| |
7.1 | 154 | * После выполнения скрипта в каталоге запуска появится файл ##**level2.log**## |
| |
6.3 | 155 | |
| |
7.1 | 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}} | ||
| |
6.2 | 169 | ))) |
| 170 | ))) | ||
| |
1.1 | 171 | |
| |
11.1 | 172 | == **3. Третий уровень** == |
| |
1.1 | 173 | |
| |
11.1 | 174 | (% class="box infomessage" %) |
| 175 | ((( | ||
| 176 | **Применяется если:** | ||
| 177 | Выполнение восстановления второго уровня не дало результата | ||
| 178 | ))) | ||
| |
1.1 | 179 | |
| |
11.1 | 180 | * Остановите службу MariaDB |
| 181 | * Запустите утилиту aria_chk со следующими параметрами: | ||
| |
1.1 | 182 | |
| |
11.1 | 183 | {{code language="cmd"}} |
| 184 | C:\SNC_AZS_Maria\MariaDB\bin\aria_chk.exe --safe-recover --zerofill oc\*.MAI | ||
| 185 | {{/code}} | ||
| |
1.1 | 186 | |
| |
11.1 | 187 | * После выполнения команды, при отсутствии ошибок, запустите службу сервера MariaDB |
| |
1.1 | 188 | |
| |
11.1 | 189 | (% class="box infomessage" %) |
| 190 | ((( | ||
| 191 | Cсылка - "[[Управление службами Windows>>doc:Servisnye_operatsii.Nastroiki_v_Windows.Sluzhby_Windows.WebHome||target="_blank"]]" | ||
| 192 | ))) | ||
| |
1.1 | 193 | |
| |
12.1 | 194 | == **4. Четвертый уровень** == |
| |
1.1 | 195 | |
| |
12.1 | 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 | ))) | ||
| |
1.1 | 207 | |
| |
12.1 | 208 | Восстановление можно провести в ручном режиме (вкладка - "Ручной режим") или автоматическом режиме (вкладка - "Автоматический режим") |
| |
1.1 | 209 | |
| |
12.1 | 210 | {{tabs idsToLabels="tabId5=Ручной режим, tabId6=Автоматический режим"/}} |
| |
1.1 | 211 | |
| |
12.1 | 212 | (% id="tabId5" %) |
| 213 | ((( | ||
| 214 | (% class="box" %) | ||
| 215 | ((( | ||
| 216 | * Остановите службу MariaDB | ||
| 217 | * Удалите файлы логирования СУБД **##aria_log.*##** в каталоге ##Data##: | ||
| |
1.1 | 218 | |
| |
12.1 | 219 | {{code language="cmd"}} |
| 220 | C:\SNC_AZS\MariaDB\data\ | ||
| 221 | {{/code}} | ||
| |
3.1 | 222 | |
| |
12.1 | 223 | * После выполнения команды, при отсутствии ошибок, запустите службу сервера MariaDB |
| |
3.1 | 224 | |
| |
12.1 | 225 | (% class="box infomessage" %) |
| 226 | ((( | ||
| 227 | Cсылка - "[[Управление службами Windows>>doc:Servisnye_operatsii.Nastroiki_v_Windows.Sluzhby_Windows.WebHome||target="_blank"]]" | ||
| 228 | ))) | ||
| 229 | ))) | ||
| 230 | ))) | ||
| |
3.1 | 231 | |
| |
12.1 | 232 | (% id="tabId6" %) |
| 233 | ((( | ||
| 234 | (% class="box" %) | ||
| 235 | ((( | ||
| 236 | * Запустите скрипт ##**MariaLevel0.cmd**## | ||
| |
3.1 | 237 | |
| |
12.1 | 238 | {{code language="cmd"}} |
| 239 | C:\SNC_AZS\software\dbase\MariaLevel0.cmd | ||
| 240 | {{/code}} | ||
| |
3.1 | 241 | |
| |
12.1 | 242 | * После выполнения скрипта в каталоге запуска появится файл ##**level2.log**## |
| |
3.1 | 243 | |
| |
12.1 | 244 | {{code language="log"}} |
| 245 | 18:04 | ||
| 246 | "------Checking MariaDB state------" | ||
| 247 | "------MariaDB OK------" | ||
| |
3.1 | 248 | |
| |
12.1 | 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 | ))) | ||
| |
3.1 | 260 | |
| |
12.1 | 261 | == **5. Если не удалось восстановить** == |
| |
3.1 | 262 | |
| |
12.1 | 263 | Если операции по восстановлению не дали результата, то необходимо файловый слепок хранилища БД передать разработчикам для детального анализа сбойной ситуации. |
| |
3.1 | 264 | |
| |
1.1 | 265 |