达梦数据库归档模式相关参数

发布于:2024-04-05 ⋅ 阅读:(27) ⋅ 点赞:(0)

达梦数据库归档模式相关参数

一 归档模式

DM 服务器可以运行在两种模式下,即归档模式和非归档模式,这两种模式可以由用户进行设置,系统在归档模式下运行时,会产生归档日志文件, 此时系统管理员应该事先预留出足够的磁盘空间以便存储归档日志文件。通过 dm.ini 和 dmarch.ini 可以配置归档,参见第 2 章。归档日志包括以下五种类型:

1) 本地归档

本地归档就是将 REDO 日志写入到本地归档文件。本地归档在 REDO 日志写入联机日志文件后触发,由归档线程完成本地归档动作,最多可以设置 8 个本地归档。与联机 Redo 日志文件可以被覆盖重用不同,本地归档日志文件不能被覆盖,写入其中的 Redo 日志信息会一直保留,直到用户主动删除;如果配置了归档日志空间上限,系统会自动删除最早生成的归档 Redo 日志文件,腾出空间。为了最大限度地保护数据,当磁盘空间不足导致归档写入失败,系统将自动挂起等待,直到用户主动释放出足够的空间后继续运行。在设置多路本地归档的情况下,如果第一路本地归档若磁盘空间不足,则系统会被强制挂起,直到磁盘空间释放后继续运行。其它本地归档可以通过在dmarch.ini中设ARCH_HANG_FLAG参数表示本地归档写入失败系统是否挂起,缺省值为 1 表示本地归档写入失败系统挂起。此外,系统会定期尝试恢INVALID
的本地归档状态为 VALID。恢复 VALID 状态之后,如果正好剩余磁盘空间充足,那么可以继续归档。但是其它路(第一路归档之外的)本地归档中缺失的归档就需要人工手动进行修
复了。当磁盘损坏导致归档日志写入失败时,系统会强制 HALT。

2) 实时归档

在写入 REDO 日志到日志文件之前,通过 MAL 系统发送 REDO 日志到远程服务器,远程服务器收到 REDO 日志后,返回确认消息。收到确认消息后,执行后续操作,发送 REDO 日志失败,或从备库返回的数据库模式不是 STANDBY,将数据库切换为 SUSPEND 状态,阻塞所有 REDO 日志的写入操作。 一个主库可以配置 1~8 个实时备库。

3) 即时归档

即时归档在主库将 Redo 日志写入联机 Redo 日志文件后,再通过 MAL 系统将 Redo 日志发送到备库。即时归档是读写分离集群的实现基础,与实时归档的主要区别是发送 Redo日志的时机不同。一个主库可以配置 1~8 个即时备库。

4) 异步归档

在设定的时间点或者每隔设定时间,启动归档 REDO 日志发送。设置定时归档,必须确保至少有一个本地归档。系统调度线程根据设定,触发归档 REDO 日志发送事件。通过 MAL系统,获取远程服务器的当前 LSN,生成发送归档 REDO 日志任务,加入任务队列。归档任务线程获取任务,通过 MAL 系统,发送到远程服务器。最多可以设置 8 个异步归档。

5) 远程归档

远程归档就(REMOTE ARCHIVE) 就是将归档目录配置在远程节点上。远程归档与本地归档的主要区别是 REDO 日志写入的位置不同,本地归档将 REDO 日志写入数据库实例所在节点的磁盘,而远程归档则将 REDO 日志写入到其他数据库实例所在节点的指定归档目录。远程归档日志文件的命名规范和本地归档日志文件保持一致,都是以归档名+归档文件的创建时间进行组合命名。 最多可以配置 8 个远程归档。

二 归档模式相关参数

通过查看视图V$DM_ARCH_INI 可知归档参数信息。官方文档的各个字段解析如下:
在这里插入图片描述在这里插入图片描述
和oracle相比,有个参数比较特别,可以通过设置ARCH_RESERVE_TIME去规定归档日志的保留时间。

3 dm.ini和dmarch.ini配置文件

3.1 dm.ini配置文件

在这里插入图片描述查看dm.ini文件,ARCH相关的参数只有DW_ARCH_SPACE_CHECK和ARCH_INI。

3.2 dmarch.ini配置文件

这个是我当前环境的归档配置。

[dmdba@test DAMENG]$ cat dmarch.ini 
#DaMeng Database Archive Configuration file
#this is comments

        ARCH_WAIT_APPLY      = 0        

[ARCHIVE_LOCAL1]
        ARCH_TYPE            = LOCAL        
        ARCH_DEST            = /dm8/arch        
        ARCH_FILE_SIZE       = 64        
        ARCH_SPACE_LIMIT     = 4096
        ARCH_FLUSH_BUF_SIZE  = 0        
        ARCH_HANG_FLAG       = 1        
        ARCH_RESERVE_TIME    =60