http://www.perlmonks.org?node_id=934587


in reply to Re: Change in Berkeley DB in Perl 5.12?
in thread Change in Berkeley DB in Perl 5.12?

Dave

I'm very sorry I've not replied until now - had been expecting emails with the replies.

I have come across this problem in another situation, and can give more information. A website I was involved with was running a BB that used DB_File to produce Berkeley DB files. It has recently upgraded its software and these files can't now be read. I've been investigating this and find that previously it had Perl 5.8.8 with DB_FIle 1.814 using the DB engine version 4.4 but now it has Perl 5.10.1 with DB_File 1.82 and DB engine version 4.7. I suspected that the problem lay with the DB engine upgrade and you've confirmed that this is the case. I did check with Oracle but they couldn't definitely confirm that an upgrade in version 4 would cause a problem.

I was fortunate in that I had enough information to rebuild the database files. Others could have problems if they didn't have another source for the database information as they wouldn't be able to dump the database if they couldn't now read it? Can you point me to where it's mentioned that the DB engine upgrades can cause problems. I see that ActiveState still use version 1 of the DB engine even with the DB_File they issue with Perl 5.12.

Eric

  • Comment on Re^2: Change in Berkeley DB in Perl 5.12?

Replies are listed 'Best First'.
Re^3: Change in Berkeley DB in Perl 5.12?
by Anonymous Monk on Oct 30, 2011 at 02:19 UTC
      I saw your reply but I didn't now what you were suggesting. Can you please explain?

        I saw your reply but I didn't now what you were suggesting. Can you please explain

        I didn't make a suggestion :)

        I told you why your problem happens (Its the nature of the beast )

        and how to solve it ( You need to use db_stat db_verify db_dump db_upgrade)

        So when you encounter a problem after transferring a .db between machines, or upgrading ...

        The solution is to use one of the utilities provided for this purpose, db_stat, db_verify, db_dump, db_upgrade, ...