Моя база данных составляет около 25 МБ, и я подтвердил, что имя пользователя, получающее доступ к нему, а также разрешения на доступ к файлам не изменились в течение нескольких месяцев. У меня возникла проблема, когда запросы терпят неудачу из-за того, что "база данных или диск заполнена", а затем "проблема с диском на диске диска повреждена".
Если я не читаю это неправильно, мой диск не находится где-нибудь рядом (это сервер Ubuntu, 9.10, если это имеет значение)
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda1 19610300 2389596 16224560 13% /
udev 10240 128 10112 2% /dev
none 254136 0 254136 0% /dev/shm
none 254136 36 254100 1% /var/run
none 254136 0 254136 0% /var/lock
none 254136 0 254136 0% /lib/init/rw
В качестве теста я только что сделал действие, которое добавило новую запись, и это нормально. Я пытаюсь определить, есть ли определенный набор действий, которые не работают. Однако после вставки (и проверки ее там) количество байтов на диске для базы данных не изменилось (ни вверх, ни вниз).
Использование утилиты командной строки приводит к следующему, что неэффективно:)
SQLite version 3.6.12
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> pragma integrity_check;
*** in database main ***
On tree page 2 cell 0: 2nd reference to page 26416
On tree page 2 cell 1: 2nd reference to page 26417
On tree page 2 cell 2: 2nd reference to page 26434
On tree page 2 cell 3: 2nd reference to page 26449
On tree page 2 cell 4: 2nd reference to page 26464
On tree page 2 cell 5: 2nd reference to page 26358
On tree page 2 cell 6: 2nd reference to page 26494
On tree page 2 cell 7: Child page depth differs
On tree page 2 cell 8: 2nd reference to page 26190
On tree page 2 cell 8: Child page depth differs
... etc., etc. ...
Любые идеи о том, где я должен смотреть дальше? Есть ли проблема с максимальным количеством строк в таблице или чем-то еще? Я прочитал несколько значений SQLite3 max, и ничто в моей базе данных не является чем-то близким к ним, насколько я могу судить.
Затем я просмотрел мои ежедневные резервные копии, и я вижу, что резервная копия базы данных не изменилась в размере файла в течение 3-4 дней - это очень странно. Я восстановил резервную копию базы данных до того, как она не изменилась в размере файла, и все еще вызывает странные проблемы.
Я думаю, что мне придется (1) восстановить из более старой резервной копии и (2) перезапустить мои миграции Rails для исправления.