Am 12.11.2010 14:40, schrieb Pirmin Walthert:
> Am 12.11.2010 14:19, schrieb Black, Michael (IS):
>> Do a "sum" on the files to make sure they are identical.
>>
>> #1 Show all the files in the directorty
>> #2 How are you copying?
>>
>> Basically...show us ALL the commands and files you are using...
>>
>>
>> Michael D. Black
>> Senior Scientist
>> Advanced Analytics Directorate
>> Northrop Grumman Information Systems
>>
>>
>> ________________________________
>>
>> From: sqlite-users-boun...@sqlite.org on behalf of Pirmin Walthert
>> Sent: Fri 11/12/2010 6:42 AM
>> To: sqlite-users@sqlite.org
>> Subject: EXTERNAL:Re: [sqlite] Strange corruptions
>>
>>
>>
>> Am 12.11.2010 13:06, schrieb Simon Slavin:
>>> On 12 Nov 2010, at 7:55am, Pirmin Walthert wrote:
>>>
>>>> Some months ago we changed to uclibc-git (nptl support), kernel
>>>> 2.6.32.X, busybox>    1.16 and at the moment sqlite 3.7.2.
>>> Are you accessing your databases straight from a hard disk or across a 
>>> network mount ?
>>>
>>> Please tell us the filing system (either hard disk FS or network FS) you're 
>>> using.
>>>
>>> Simon.
>>> _______________________________________________
>>> sqlite-users mailing list
>>> sqlite-users@sqlite.org
>>> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>> Both (the one with the source and the one with the dst database) are
>> local (ext3 loopback fs). I doubt that it has to do with the FS because
>> if do the following, the same thing happens:
>>
>> - copy the corrupted DB to /tmp (tmpfs)
>> - checking the db with sqlite3 /tmp/baddb "PRAGMA integrity_check;" =>
>> this still shows me ok
>> - making a backup of /tmp/baddb to /tmp/backupdb (or whatever)
>> - checking the destionation db now gives me the same errors again
>>
>> Pirmin
>> _______________________________________________
>> sqlite-users mailing list
>> sqlite-users@sqlite.org
>> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>>
>>
>>
>>
>> _______________________________________________
>> sqlite-users mailing list~ # md5sum /mnt/sipbad.db
> here you have a sequence that works and one that doesn't work with
> exactly the same file. once without vacuum, once with vacuum
>
> a343370269988b912d1efdf02ffcbcd1  /mnt/sipbad.db
> ~ # cp /mnt/sipbad.db /tmp/copy.db
> ~ # md5sum /tmp/copy.db
> a343370269988b912d1efdf02ffcbcd1  /tmp/copy.db
> ~ # sqlite3 /tmp/copy.db "PRAGMA integrity_check;"
> ok
> ~ # sqlite3 /tmp/copy.db ".backup main /tmp/backup.db"
> ~ # sqlite3 /tmp/backup.db  "PRAGMA integrity_check;"
> *** in database main ***
> On page 26 at right child: invalid page number 954
> On tree page 21 cell 0: invalid page number 956
> ~ # ls -l /tmp/copy.db
> -rw-r--r--    1 root     root        984064 Nov 12 14:28 /tmp/copy.db
> ~ # ls -l /tmp/backup.db
> -rw-r--r--    1 root     root        984064 Nov 12 14:29 /tmp/backup.db
> ~ # sqlite3 /tmp/copy.db "PRAGMA integrity_check;"
> ok
> ~ # md5sum /tmp/copy.db
> a343370269988b912d1efdf02ffcbcd1  /tmp/copy.db
> ~ # md5sum /tmp/backup.db
> 1b0c6d02b5851e707267903da39a2d0c  /tmp/backup.db
>
>
> ~ # sqlite3 /tmp/copy.db "vacuum"
> ~ # md5sum /tmp/copy.db
> 716555badc876d4e4ae452c741c41bfd  /tmp/copy.db
> ~ # sqlite3  /tmp/copy.db "PRAGMA integrity_check;"
> ok
> ~ # sqlite3 /tmp/copy.db ".backup main /tmp/backup.db"
> ~ # sqlite3 /tmp/backup.db  "PRAGMA integrity_check;"
> ok
> ~ # md5sum /tmp/backup.db
> 9e65a7c2683083a5d36f3f58af587f1d  /tmp/backup.db
>
> oh well. You also want an output of all files in the directory ;) well I
> don't know how this could help, but here you have it ;)
>
> ~ # ls -l /tmp/
> -rw-r--r--    1 root     root          2925 Nov 12 09:27 Master.csv
> -rw-r--r--    1 root     root        968704 Nov 12 14:33 backup.db
> -rw-r--r--    1 root     root        968704 Nov 12 14:31 copy.db
> -rw-r--r--    1 root     root          5174 Nov 12 14:13 dbCheck
> -rw-r--r--    1 root     root            59 Nov  5 11:35 defRoute
> -rwxr-xr-x    1 root     root          7436 Nov  5 11:35 netScript.sh
> -rwxr-xr-x    1 root     root           252 Nov 12 14:35 tc.sh
> -rw-r--r--    1 root     root        509952 Nov 12 14:36 temp.db
> -rw-r--r--    1 root     root           455 Nov  5 11:35 udhcpc.lease
> -rw-r--r--    1 root     root             0 Nov 12 11:35 udhcpc.log
>
>
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


More info:

I copied the file to my notebook (Ubuntu 10.10, sqlite 3.7.2, 64bit, 
while the other system is a 32bit system). Here exactly the same thing 
happens like on the uclibc/busybox system. (integrity_check on the src 
db shows ok, the .backup command gives no error but the integrity_check 
on the backup-file shows errors).

No I copied exactly the same file to a CPE that still runs the old 
version (sqlite 3.6.23). Here everything works as expected:

~ # md5sum /tmp/bad.db
a343370269988b912d1efdf02ffcbcd1  /tmp/bad.db
~ # sqlite3 /tmp/bad.db "PRAGMA integrity_check;"
ok
~ # sqlite3 /tmp/bad.db ".backup /tmp/bad2.db"
~ # md5sum /tmp/bad2.db
a37095fe6a27e21c836c1342ec28bbe2  /tmp/bad2.db
~ # sqlite3 /tmp/bad2.db "PRAGMA integrity_check;"
ok

Pirmin
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to