概述

达梦数据库可以运行在归档状态或者非归档状态下;

如果运行在归档模式,那么联机日志中的内容会以归档日志的形式保存在硬盘中;

如果运行在非归档模式,那么联机日志文件中的内容不会在日志切换的时候形成归档日志,而是会因为联机日志的循环写,而丢失。


采用归档模式会对系统的性能造成些许的影响,但是数据库运行在归档模式下,数据会更加安全。
当出现故障的时候,数据丢失的可能性会更小,因为一旦出现介质故障(如:磁盘损坏)时,可以利用归档日志,将数据库恢复到发生故障的前一刻,也可以指定时间点还原;而如果没有昂日志,则只能利用备份文件进行还原。


需要配置归档的场景:

当你需要联机备份数据库的时候,你必须要将数据库设置为归档模式;

联机备份的时候,大量的事务处于活动状态,为了确保备份数据的一致性:

  1. 备份数据库
  2. 备份数据库过程中,还会产生一系列的REDO日志;这段时间内的REDO日志产生的归档也需要备份

因此,数据库必须配置为:

  1. 本地归档
  2. 归档状态:开启

属于联机备份的:

  1. 备份表空间
  2. 备份表(虽然这个也属于联机完全备份,但是不需要配置归档;因为表在还原之后,不需要再进行恢复操作,所以用不到归档日志,也就不需要配置归档模式)
  3. 备份归档日志(必须配置归档)

脱机备份的时候,数据库可以配置为归档模式,也可以不用配置归档模式;

正常退出库的备份不需要考虑本地归档日志的完整性,因此不需要配置归档模式;

对于由于故障退出的库的备份,则由于要求备份,因故障导致没有来得及刷盘的REDO日志,所以必须要配制归档;


如果本地归档缺失,则需要:

  1. 修复归档
  2. 再备份

查看数据库的归档状态

首先,检查当前达梦数据库的归档状态

可以看到,当前达梦数据库是处于:非归档状态的

配置归档

在达梦数据库中,与归档模式相关的配置文件有两个:

  1. dm.ini
  2. dmarch.ini

归档配置有两种方式:

  1. 联机归档配置
  2. 手动配置归档

联机归档配置

在数据库实例启动的情况下,使用SQL语句完成配置:

  1. 对dm.ini中的ARCH_INI的配置
  2. 对dmarch.ini的配置

开始配置:

将数据库修改为MOUNT状态:

然后,配置数据库:本地归档

看看数据库的数据目录中的变化:

可以从结果看到,数据库实例已经被设置为了:本地归档。
并且,自动创建了一个归档的配置文件:dmarch.ini。


手动归档配置

在数据库实例没有启动的情况下,手动完成配置:

  1. 对dm.ini的ARCH_INI的配置
  2. 对dmarch.ini的配置

dm.ini中需要打开归档参数:ARCH_INI,设置为1

首先,停掉达梦数据库实例:

可以看到,达梦数据库的实例已经停止了。

修改文件:dm.ini中的参数:ARCH_INI

查看:

可以看到,当前的配置是:0

修改后:

然后,准备配置归档配置文件:dmarch.ini
需要注意的是,文件【dmarch.ini】需要在【dm.ini】所在的目录中创建

配置好了上面的之后,然后重启启动数据库实例即可:

启动后,查看数据库状态:

可以看到,现在已经是归档模式了。

验证归档

查看一下归档目录的状态:

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

隐藏
变装