home contents changes options help subscribe edit (external edit)

The Zope Object DataBase provides simple, transparent persistence for Python objects; it is used by Zope to store everything from content to scripts to service configurations. Application data may be stored here or in a RDBMS. The ZODB may also be used standalone, without Zope.

The ZMI (Zope Management Interface) is a web interface for managing ZODB content. The ZODB is usually a single file, Data.fs, in INSTANCE_HOME/var or STORAGE_HOME/var. It may also be stored as individual files (using DirectoryStorage), in a RDBMS (using APE), etc.

http://wiki.zope.org/ZODB
ZODB developer's wiki

Further resources:

Examples for ZODBstandalone? built sites:

ZODB topics

Recovering ZODB / truncate Data.fs

german:


comments:

ZODB error debugging tip --Simon Michael, Mon, 03 Jul 2006 13:39:24 -0700 reply
Dieter Maurer wrote:

2006-06-28T17:18:38 INFO ZODB.Conflict database conflict error (oid 0x0300bc, class BTrees?._OOBTree?.OOBTree?, serial this txn started with 0x036671be9feda500 2006-06-28 21:18:37.483195, serial currently committed 0x036671bea30a9dee 2006-06-28 21:18:38.212845) at /VirtualHostBase?/http/host:80/ploneSite/VirtualHostRoot?/ (33 conflicts, of which 0 were unresolved, since startup at Wed Jun 28 16:34:26 2006)

You see here that a "BTrees?._OOBTree?.OOBTree?" instance causes the conflict.

When I am faced with such a situation, I fetch the object from the ZODB ("from ZODB.utils import p64; obj._p_jar[p64(0x...)]?") and look into it. This may tell you from where the object comes.

Serving up a ZODB on demand from a repozo backup --simon, Fri, 18 Jan 2008 02:20:29 +0000 reply
http://reedobrien.blogspot.com/2008/01/serving-up-zodb-on-demand-from-repozo.html

monitor zodb activity from command line --simon, Fri, 25 Jan 2008 21:04:02 +0000 reply
In the style of vmstat, iostat etc.:

 alias zodbstat='while true; do export T=`date +%s` && w3m -dump "http://user:pass@host/Control_Panel/Database/main/manage_activity?chart_start=$T&chart_divisions=1&chart_end=`expr $T + 1`" |grep Object; echo; sleep 1; done'



subject:
  ( 24 subscribers )