文件 – SQLite3数据库或磁盘已满/数据库磁盘映像格式不正确
我的数据库大约是25 MB,我已经验证访问它的用户名以及文件权限在几个月内没有改变。我有一个问题,其中查询失败,由于“数据库或磁盘已满”,然后有时“数据库磁盘映像格式错误”的问题。
除非我读错了,我的磁盘不是接近满的(这是一个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的最大值做了一些阅读,我的数据库中没有什么是接近他们,只要我能告诉。 然后我看看我的每日备份,我看到数据库备份没有改变文件大小3-4天 – 很奇怪。我恢复了数据库的备份副本之前,它没有改变文件大小,仍然有奇怪的问题。 我想我必须(1)从较旧的备份还原,(2)重新运行我的Rails迁移修复。 需要考虑的几件事:> SQLite3数据库文件大约是DB页面大小的倍数,除非使用VACUUM,否则不会收缩。如果删除某些行,则会在内部标记释放的空间,并在以后的插入中重复使用。因此,插入操作通常不会导致后台DB文件的大小发生变化。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |