Thanks a lot, I'll keep my eye on it.

Kari


On 4/3/2012 12:25 PM, Richard Hipp wrote:
On Tue, Apr 3, 2012 at 1:05 PM, Kari Hoijarvi<[email protected]>wrote:

Hello,

running PRAGMA integrity_check from command line works for a 300 GB
database, but I seem to have hit some kind of limit with 832 GB sqlite DB.

I running on Windows server 2008 R2 standard (64bit of course). Is this a
Windows or sqlite problem?

Any good ideas for workarounds?

As part of PRAGMA integrity_check, SQLite allocates counters for every page
in the database file, and counts the number of references to each page.
There should be either zero or one references to each page, depending on
the role that page is serving. The integrity_check pragma prints error
messages if this is not the case.

Unfortunately, when you get really big database files (in your case on the
order of 800 million pages worth) and you allocate a 32-bit integer for
each page, that can blow out available memory.

We are working on a patch now in which we only allocate a single bit per
page, which is all we really need to determine that each page is referenced
zero or one times.  That should reduce the memory requirements 32-fold.
You'll still need a 120 MB allocation to check a 800 GB database, but most
system can handle that these days.

Watch the timeline<http://www.sqlite.org/src/timeline>  for availability of
this patch.


Kari

______________________________**_________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-**bin/mailman/listinfo/sqlite-**users<http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users>




_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to