berkeley db 的常用维护

时间:2021-08-12 20:28:08

  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 可以把数据库恢复到指定时间的状态。