配置 Berkeley DB 环境
优质
小牛编辑
119浏览
2023-12-01
一个 Berkeley DB 环境由一个或多个数据库, 日志文件, 区域文件和 配置文件封装而成. Berkeley DB 环境有一套自己的默认配置, 例如在任意 时刻允许持有的数据库锁的个数, 日志文件的最大大小等. Subversion 的 文件系统逻辑根据自己的需要, 为某些 Berkeley DB 配置选项额外选取了默认 值. 然而, 你的仓库可能存放的是非常独特的数据, 而且访问模式也很特殊, 这时候你可能需要一套不同的配置选项值.
Berkeley DB 的开发人员明白不同的应用程序和数据库环境具有不同的需求, 所以他们提供了一种机制, 支持在运行时修改 Berkeley DB 环境的众多配置选项. BDB 在环境目录 (也就是仓库内的 db
子目录) 内检查 文件 DB_CONFIG
是否存在, 如果存在则解析该文件内 的选项.
Subversion 在创建仓库时会去创建文件 DB_CONFIG
, 初始时, 文件包含了一些默认选项, 以及指向 Berkeley DB 在线文档的链接, 以便管理员了解选项的意义.
$ svnadmin create --fstype bdb /var/svn/repos $ ls /var/svn/repos/db changes __db.003 __db.register log.0000000001 revisions checksum-reps __db.004 format miscellaneous strings copies __db.005 fs-type node-origins transactions __db.001 __db.006 locks nodesuuids __db.002 DB_CONFIG lock-tokens representations $
当然, 管理员也可以往 DB_CONFIG
添加更多的 BDB 选项, 但要注意 Subversion 从来不会去读取或解释 DB_CONFIG
的内容, 更不会直接使用文件内的选项. 管理员需要避免的是配置上的变化可能会导致 Berkeley DB 表现出的行为 与 Subversion 所期待的不符. 另外, DB_CONFIG
的 变化只有在恢复数据库环境 (使用 svnadmin recover) 时才会生效.