Corrupt DB database

Sampo Niskanen <[email protected]>
Newsgroups gmane.comp.web.wiki.phpwiki.talk
Message-ID <[email protected]>
Hi,


I have phpwiki installed and configured to run several wikis on a single 
machine using the DB4 database handler.  Today, I was editing the homepage 
of one wiki (the homepage in this case named "Etusivu"), but when saving 
the page I got an error message, and it corrupted the database.

Now, when I go to the front page a get the message "Loading up virgin 
wiki", and a list of pages added, which then fails with the error messages

/usr/share/phpwiki/lib/DbaDatabase.php:162: Error: 
/home/phpwiki/phpwiki_linnea_pagedb.db4: dba error: 
store[replace](liPhpWikiDocumentation)

/usr/share/phpwiki/lib/DbaDatabase.php:134: Notice: dba_replace() [<a 
href='function.dba-replace'>function.dba-replace</a>]: à}6·(null)

Attempting to edit the homepage seems to work until saving, whence it 
again fails.  All the other pages in the wiki are intact, and can be 
accessed by the appropriate URL.


I have tried to fix the databases using the db-utilities, but with no 
luck.  The verifier reports the following errors in the databases:

# db4.3_verify phpwiki_linnea_pagedb.db4
db_verify: Page 1141: invalid next_pgno 1142
db_verify: phpwiki_linnea_pagedb.db4: DB_VERIFY_BAD: Database verification 
failed
# db4.3_verify phpwiki_linnea_session.db4
db_verify: Page 20790: item 0 of unrecognizable type
db_verify: Page 20790: item 1 of unrecognizable type
db_verify: Page 20790: gap between items at offset 4072
db_verify: Page 20790: item order check unsafe: skipping
db_verify: Page 53950: item 62 of unrecognizable type
db_verify: Page 53950: item 63 of unrecognizable type
db_verify: Page 53950: gap between items at offset 3112
db_verify: Page 53950: item order check unsafe: skipping
db_verify: phpwiki_linnea_session.db4: DB_VERIFY_BAD: Database 
verification failed


I have tried dumping and reconstructing the databases using db4.3_dump and 
db4.3_load, but this results in a wiki where all pages are intact, but all 
links are to creating a non-existing pages (even though the pages are 
visible by typing the URL).  I can't figure out how to use db4.3_recover, 
as it doesn't accept the database file on the command line.


I have also attempted to rewrite the home page using the Load File admin 
option, but it again fails with the message

/usr/share/phpwiki/lib/DbaDatabase.php:162: Error: 
/home/phpwiki/phpwiki_linnea_pagedb.db4: dba error: 
store[insert](v129:Etusivu)

/usr/share/phpwiki/lib/DbaDatabase.php:143: Notice: dba_insert() [<a 
href='function.dba-insert'>function.dba-insert</a>]: à}6·(null)


I hope someone could help me fix the database and get the wiki working 
again.  The dysfunctional wiki can be accessed at http://linnea.dy.fi/


Thanks for any help.

-- 
   __________________________________________________
  /____\   Sampo Niskanen <=> [email protected]  \
        \       http://www.iki.fi/sampo.niskanen/     \
         \     ________________________________________\___
          \___/___________________________________________/

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.