Google

Berkeley DB Reference Guide:
Environment

PrevRefNext

Introduction

A Berkeley DB environment is an encapsulation of one or more databases, log files and region files. Region files are the shared memory areas that contain information about the database environment such as memory pool cache pages. Only databases are byte-order independent and only database files can be moved between machines of different byte orders. Log files can be moved between machines of the same byte order. Region files are usually unique to a specific machine and potentially to a specific operating system release.

The simplest way to administer a Berkeley DB application environment is to create a single home directory that stores the files for the applications that will share the environment. The environment home directory must be created before any Berkeley DB applications are run. Berkeley DB itself never creates the environment home directory. The environment can then be identified by the name of that directory.

An environment may be shared by any number of processes, as well as by any number of threads within those processes. It is possible for an environment to include resources from other directories on the system, and applications often choose to distribute resources to other directories or disks for performance or other reasons. However, by default, the databases, shared regions (the locking, logging, memory pool, and transaction shared memory areas) and log files will be stored in a single directory hierarchy.

It is important to realize that all applications sharing a database environment implicitly trust each other. They have access to each other's data as it resides in the shared regions, and they will share resources such as buffer space and locks. At the same time, any applications using the same databases must share an environment if consistency is to be maintained between them.

Database Environments and Related MethodsDescription
DB_ENV->closeClose an environment
DB_ENV->dbremoveRemove a database
DB_ENV->dbrenameRename a database
DB_ENV->errError message with error string
DB_ENV->errxError message
DB_ENV->lock_detectPerform deadlock detection
DB_ENV->lock_getAcquire a lock
DB_ENV->lock_idAcquire a locker ID
DB_ENV->lock_id_freeRelease a locker ID
DB_ENV->lock_putRelease a lock
DB_ENV->lock_statReturn lock subsystem statistics
DB_ENV->lock_vecAcquire/release locks
DB_ENV->log_archiveList log and database files
DB_ENV->log_fileMap Log Sequence Numbers to log files
DB_ENV->log_flushFlush log records
DB_ENV->log_putWrite a log record
DB_ENV->log_statReturn log subsystem statistics
DB_ENV->memp_registerRegister input/output functions for a file in a memory pool
DB_ENV->memp_statReturn memory pool statistics
DB_ENV->memp_syncFlush pages from a memory pool
DB_ENV->memp_trickleTrickle flush pages from a memory pool
DB_ENV->openOpen an environment
DB_ENV->removeRemove an environment
DB_ENV->rep_electHold a replication election
DB_ENV->rep_process_messageProcess a replication message
DB_ENV->rep_startConfigure an environment for replication
DB_ENV->rep_statReplication statistics
DB_ENV->set_allocSet local space allocation functions
DB_ENV->set_app_dispatchConfigure application recovery interface
DB_ENV->set_cachesizeSet the environment cache size
DB_ENV->set_data_dirSet the environment data directory
DB_ENV->set_encryptSet the environment cryptographic key
DB_ENV->set_errcallSet error message callback
DB_ENV->set_errfileSet error message FILE
DbEnv::set_error_streamSet error message output stream
DB_ENV->set_errpfxSet error message prefix
DB_ENV->set_feedbackSet feedback callback
DB_ENV->set_flagsEnvironment configuration
DB_ENV->set_lg_bsizeSet log buffer size
DB_ENV->set_lg_dirSet the environment logging directory
DB_ENV->set_lg_maxSet log file size
DB_ENV->set_lg_regionmaxSet logging region size
DB_ENV->set_lk_conflictsSet lock conflicts matrix
DB_ENV->set_lk_detectSet automatic deadlock detection
DB_ENV->set_lk_max_lockersSet maximum number of lockers
DB_ENV->set_lk_max_locksSet maximum number of locks
DB_ENV->set_lk_max_objectsSet maximum number of lock objects
DB_ENV->set_mp_mmapsizeSet maximum mapped-in database file size
DB_ENV->set_paniccallSet panic callback
DB_ENV->set_rep_limitLimit data sent in response to a single message
DB_ENV->set_rep_transportConfigure replication transport
DB_ENV->set_rpc_serverEstablish an RPC server connection
DB_ENV->set_shm_keySet system memory shared segment ID
DB_ENV->set_tas_spinsSet the number of test-and-set spins
DB_ENV->set_timeoutSet lock and transaction timeout
DB_ENV->set_tmp_dirSet the environment temporary file directory
DB_ENV->set_tx_maxSet maximum number of transactions
DB_ENV->set_tx_timestampSet recovery timestamp
DB_ENV->set_verboseSet verbose messages
DB_ENV->txn_beginBegin a transaction
DB_ENV->txn_checkpointCheckpoint the transaction subsystem
DB_ENV->txn_recoverDistributed transaction recovery
DB_ENV->txn_statReturn transaction subsystem statistics

PrevRefNext

Copyright Sleepycat Software