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