Oprava poškozené databáze

Čas od času se stane, že se v Notesech poškodí nějaká databáze. Znáte to, ta nehezká hláška Database is corrupt... Může se tak stát po nečekaném pádu serveru, zhroucením díky své přílišné velikosti apod. Ještě, než sáhnou pro zálohu, zkouší administrátoři klasické triky s fixup a compact. Někdy to pomůže, ale spíše ne.

Při opravě souboru po jednom takovém pádu serveru jsem objevil jeden trik: vypnout automatický fixup. Domino totiž po naběhnutí kontroluje každou databázi před jejím otevřením, jestli nemá poškozenou strukturu. Když dojde po pádu serveru k jeho opětovnému spuštění, objeví se na začátku logu zprávy, kolik databází bylo shledáno invalidními a musí se na ně pustit fixup. Než je taková databáze zafixována, nemůžete ji otevřít, neběhají v ní agenti, prostě nic. Tohle by se dalo celkem i čekat, horší je, že když se tento fixup nezdaří, Domino si pamatuje, že databáze je poškozená a nedovolí na ni pustit ani compact, místo toho vypíše hlášení, že soubor je poškozen a ať koukám nejdříve spustit fixup.

Špatné je to v tom, že v některých případech se může stát, že k opravě databáze pomůže compact místo fixup. Nejčastěji se jedná o databáze se čtverkovým formátem (ODS 20), které dosáhly limitu 1GB (obligátní load compact database.nsf -M). Nebo může pomoci odstranění všech pohledů a vybudování nových. Či použití copy-style kompaktu, který udělá novou databázi.

V takovém případě můžete zkusit přidat do notes.ini parametr

SKIP_FIXUP=1

který zabrání spuštění kontroly databází po startu serveru. Poté poškozenou databázi kompaktujte, fixujte, zkoušejte, jestli něco zabere. Po skončení oživování doporučuji parametr smazat a opět restartovat server - ten automatický fixup se totiž ve většině případů hodí.

Poznámka: Tento postup by měl jít použít i na klientu LN. Pokud tedy nechcete restartovat server, zkopírujte si k sobě na počítač jenom poškozenou databázi a můžete si v klidu zkoušet...

Předchozí: Lotus Notes a chyba ve WMF
Následující: Špatné vysypávání koše