Berkeley DB 配置与维护
一、 配置部份
在基本配置完成之后,可以在slapd.conf设置一些提高安全和效率的选项
cachesize 5000
checkpoint 1024 5
cachesize是ldap在内存中缓存的记录条数。这个缓存是openldap自己维护的,与bdb库无关。
为了提高效率bdb在修改数据库时,是先修改内存里面的,然后分批回写到数据库文件里面。Checkpoint操作就是把内存中的数据回写数据库文件的操作。
checkpoint 1024 5表示每写1024kb数据,或者是每隔5分钟,bdb会执行一次checkpoint的操作。
在bdb库中提拱了一个命令db_checkpoint,用来给用户执行checkpoint用。比如,当用户需要删除日志的时候,他需要先执行一下db_checkpoint,来确保数据已经回写到数据库文件中了,这时才能放心地删掉日志。
还有一些设置bdb环境的选项设置,这些选项存在于DB_CONFIG。这个文件放在openldap-data/下
set_cachesize是bdb库自己的cache,这个选项用来设置cache的大小。这个选项的格式
set_cachesize
: cache 的 GB 大小
: cache 的 Bytes
: cache 段的数目, 如果配置为 0 or 1, 那么是一段连续的 cache.
set_cachesize一旦设定,就不能更改,除非你再用db_recover重建库。
set_lg_dir 设置操作日志存放的目录。
set_lg_bsize 设置操作日志的缓存
set_lg_max 设置操作日志文件大小
set_flags 配置数据库启动参数, 可以配置多个选项标志,比如 DB_TXN_NOSYNC 告诉数据库不要立即刷新事务缓冲, 设置该值可以提高数据库写性能, 但伴随的是数据丢失的风险(无法通过操作日志恢复). 因此并不推荐使用该选项。
二、维护
1) 数据库和日志的归档(或者叫备份)
有两种备份方法
a)标准备份
这种备份方法,要求是在备份的时候停止对数据库的写操作。方法是,
1)停止对数据库的写
2)执行一次checkpoint
3)在数据库文件的目录下,执行db_archive –s标识出数据库文件,把它们拷到要备份的目录下。
4)在日志目录下,执行db_archive,列出的是不活动的日志文件,再用db_archive –l列出所有
的日志文件,由些来判断哪个是活动日志文件。一般是日志文件编号最大的一个。把这个日志文件拷到
备份的目录下。
这种备份不需要recover,直接就能用。
b)热备份
这种备份方法,可以在任何时候用。方法如下
1)在数据库文件的目录下,执行db_archive –s标识出数据库文件,把它们都拷到备份目录下。
2)在日志目录下,执行db_archive –l标识出所有的日志文件。把它们拷到备份目录下。
为了节省备份目录的空间,可以在热备份之前,在备份目录执行db_archive列出不再需要的日志文件
的列表,可以不把这些日志文件拷到备份目录下。
2)数据恢复
数据恢复有两种,一种是正常恢复,一种是热恢复。
正常恢复是,当数据库文件和日志文件都没有被损坏时,执行db_recover,不要带参数。当采用热备份的方法所做的备份,必段要用热恢复的方法来恢复
热恢复是,当数据库文件或者日志文件损坏时,在热备份的备份目录下,执行db_recover -c 来恢复数据。
几个工具的简介
db_archive 用来确定归档文件的工具,常用的用法
在数据文件目录下,运行db_archive –s 用来确定哪些是数据库文件
db_archive 不带任保参数,列出不再需要的日志文件名。db_archive –l 列出所有日志文件名
db_checkpoint 用来手工checkpoint的工具,比如,在数据文件目录下,运行db_checkpoint –1 执行一次checkpoint的操作。
db_recover 用于恢复数据库,常用的用法,db_recover 不带任务参数,表示用正常恢复方法恢复数据库。db_recover –c 用于热恢复用的,db_reover –t 可以把数据库恢复到指定时间的状态。
db_upgrade 升级数据版本,使用此命令之前需要用db_recover -e 恢复一下,否则会出现版本不匹配的错误
来源:http://blog.csdn.net/simbi/archive/2009/06/17/4277193.aspx
分享到:
相关推荐
Berkeley DB4.8以上各版本,已经亲测过哪些版本可与redhat6.5兼容,见附件名称备注。
Oracle Berkeley DB Java 版是一个开源的、可嵌入的事务存储引擎,是完全用 Java 编写的。与 Oracle Berkeley DB 类似,Oracle Berkeley DB Java 版在应用程序的地址空间中执行,没有客户端/服务器通信的开销,从而...
嵌入式数据库Berkeley DB Java Edition Berkeley DB的使用 使用Berkeley DB的一般步骤 创建、打开、操作、关闭数据库环境Environment
Berkeley DB(BDB)是OpenLDAP后台数据库的默认配置,因此在安装OpenLDAP之前应先安装BDB。
Berkeley DB 6.2.32_64.msi Windows 64-bit binary installer Berkeley DB是一个嵌入式数据库,为应用程序提供可伸缩的、高性能的、有事务保护功能的数据管理服务。 主要特点: 嵌入式:直接链接到应用程序中,与...
BerkeleyDB测试程序 包含散列文件入库,和读取的速度的测试
Berkeley DB 5.3.21.tar,你也可以去http://www.oracle.com/technetwork/products/berkeleydb/downloads/index.html下载最新版
Berkeley DB文章集合
BerkeleyDB的java应用jar包
Berkeley DB6.0.20 Berkeley DB BDB Berkeley DB数据库
介绍DB API的设置与使用的快速入门手册,目标是提供一个快速有效地机制,能让你进入Berkeley DB研发的世界。在本文中侧重于C++语言的研发人员,以及研究进城内数据管理解决方案的资深架构师。
berkeley db 使用手册
sqlite 和Berkeley db各方面 的比较
Java版本的Berkeley DB用户手册,找了好久
本文描述了如何在Berkeley DB中使用事务(Transaction)。它简要介绍了事务是如何保护你的应用的数据的...本书假设你已经了解BerkeleyDB的基本架构知识(这些知识在<Getting Started with Berkeley DB Guide>一书中。)
BerkeleyDB和Sqlite是当前最流行的嵌入式开源数据库。
Berkeley DB 批量插入更新与删除用法示例 Berkeley 函数接口 Berkeley DB 由浅入深 SQL 开发人员 Oracle Berkeley DB 指南 Berkeley DB参考手册
不是所有的 SQL 应用程序都应该在 Oracle Berkeley DB 实施( Oracle Berkeley DB 是一个开放源的嵌入式数据库引擎,提供了快速、可靠、本地的持久性,无需管理),但如果您有一系列相对固定的查询且很关心性能,...
Oracle BerkeleyDB-JE je-6.0.11