bdb的一些配置和维护的问题

2023-12-16 21:32
文章标签 配置 问题 维护 bdb

本文主要是介绍bdb的一些配置和维护的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、 配置部份
在基本配置完成之后,可以在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 可以把数据库恢复到指定时间的状态。

这篇关于bdb的一些配置和维护的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/501961

相关文章

JAVA Calendar设置上个月时,日期不存在或错误提示问题及解决

《JAVACalendar设置上个月时,日期不存在或错误提示问题及解决》在使用Java的Calendar类设置上个月的日期时,如果遇到不存在的日期(如4月31日),默认会自动调整到下个月的相应日期(... 目录Java Calendar设置上个月时,日期不存在或错误提示java进行日期计算时如果出现不存在的

Mybatis对MySQL if 函数的不支持问题解读

《Mybatis对MySQLif函数的不支持问题解读》接手项目后,为了实现多租户功能,引入了Mybatis-plus,发现之前运行正常的SQL语句报错,原因是Mybatis不支持MySQL的if函... 目录MyBATis对mysql if 函数的不支持问题描述经过查询网上搜索资料找到原因解决方案总结Myb

Nginx错误拦截转发 error_page的问题解决

《Nginx错误拦截转发error_page的问题解决》Nginx通过配置错误页面和请求处理机制,可以在请求失败时展示自定义错误页面,提升用户体验,下面就来介绍一下Nginx错误拦截转发error_... 目录1. 准备自定义错误页面2. 配置 Nginx 错误页面基础配置示例:3. 关键配置说明4. 生效

Nginx之https证书配置实现

《Nginx之https证书配置实现》本文主要介绍了Nginx之https证书配置的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起... 目录背景介绍为什么不能部署在 IIS 或 NAT 设备上?具体实现证书获取nginx配置扩展结果验证

springboot3.x使用@NacosValue无法获取配置信息的解决过程

《springboot3.x使用@NacosValue无法获取配置信息的解决过程》在SpringBoot3.x中升级Nacos依赖后,使用@NacosValue无法动态获取配置,通过引入SpringC... 目录一、python问题描述二、解决方案总结一、问题描述springboot从2android.x

nginx跨域访问配置的几种方法实现

《nginx跨域访问配置的几种方法实现》本文详细介绍了Nginx跨域配置方法,包括基本配置、只允许指定域名、携带Cookie的跨域、动态设置允许的Origin、支持不同路径的跨域控制、静态资源跨域以及... 目录一、基本跨域配置二、只允许指定域名跨域三、完整示例四、配置后重载 nginx五、注意事项六、支持

Spring配置扩展之JavaConfig的使用小结

《Spring配置扩展之JavaConfig的使用小结》JavaConfig是Spring框架中基于纯Java代码的配置方式,用于替代传统的XML配置,通过注解(如@Bean)定义Spring容器的组... 目录JavaConfig 的概念什么是JavaConfig?为什么使用 JavaConfig?Jav

Spring Boot Interceptor的原理、配置、顺序控制及与Filter的关键区别对比分析

《SpringBootInterceptor的原理、配置、顺序控制及与Filter的关键区别对比分析》本文主要介绍了SpringBoot中的拦截器(Interceptor)及其与过滤器(Filt... 目录前言一、核心功能二、拦截器的实现2.1 定义自定义拦截器2.2 注册拦截器三、多拦截器的执行顺序四、过

Springboot3统一返回类设计全过程(从问题到实现)

《Springboot3统一返回类设计全过程(从问题到实现)》文章介绍了如何在SpringBoot3中设计一个统一返回类,以实现前后端接口返回格式的一致性,该类包含状态码、描述信息、业务数据和时间戳,... 目录Spring Boot 3 统一返回类设计:从问题到实现一、核心需求:统一返回类要解决什么问题?

springboot的controller中如何获取applicatim.yml的配置值

《springboot的controller中如何获取applicatim.yml的配置值》本文介绍了在SpringBoot的Controller中获取application.yml配置值的四种方式,... 目录1. 使用@Value注解(最常用)application.yml 配置Controller 中