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

本文详细介绍了达梦数据库的归档模式,包括本地归档、实时归档、即时归档、异步归档和远程归档,以及通过dm.ini和dmarch.ini配置文件进行的相关参数设置,如ARCH_RESERVE_TIME的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

一 归档模式

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去规定归档日志的保留时间。

三 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

谨记:心存敬畏,行有所止。

<think>好的,用户问的是达梦数据库如何将数据库修改为PRIMARY模式。首先,我需要确认自己对这个概念的理解是否正确。达梦数据库的PRIMARY模式应该是指主库模式,也就是在数据守护(Data Guard)环境中作为主数据库运行的模式。 接下来,我应该回忆一下达梦数据库相关文档或操作步骤。可能涉及到几个方面:确认当前数据库状态、修改配置文件、重启数据库实例、验证模式变更。此外,可能还需要注意数据守护环境的配置,比如是否已经配置了守护进程和备库。 用户可能是在搭建高可用环境时遇到这个问题,所以需要详细的步骤指导。另外,用户可能对达梦数据库的操作不太熟悉,所以步骤需要具体,包括配置文件的路径、参数名称等。 需要确认是否需要先停止数据库服务再进行配置修改,或者是否支持在线修改。根据达梦的一般操作流程,通常需要修改配置文件后重启实例。此外,PRIMARY模式可能和dm.ini中的参数有关,比如INSTANCE_NAME、DW_TYPE等。 另外,可能需要检查归档配置是否正确,确保主库的归档日志能够传送到备库。还有守护进程dmwatcher.ini的配置,确保模式设置为AUTO,这样在故障时能自动切换。 还要考虑到可能的错误点,比如配置参数写错位置,或者忘记重启服务导致配置未生效。需要提醒用户修改后务必重启,并通过SQL语句查询当前模式是否成功变更。 最后,是否需要提供示例的配置代码块,比如修改dm.ini和dmwatcher.ini的具体内容,这样用户可以直接参考。同时,验证步骤可能需要执行SQL语句,比如SELECT NAME, STATUS$ FROM V$DATABASE,来确认模式是否变为PRIMARY。 总结下来,回答的结构应该是先介绍PRIMARY模式的作用,然后分步骤说明操作流程,包括配置文件修改、重启服务、验证步骤,以及注意事项,比如配置一致性、归档和守护进程的设置。这样用户能按照步骤一步步操作,避免遗漏关键点。</think>达梦数据库切换为PRIMARY模式的操作流程及注意事项如下: 一、模式说明 PRIMARY模式是达梦数据守护(DM DataWatch)环境中的主库角色,具有以下特点: 1. 提供读写服务 2. 自动向备库同步REDO日志 3. 在故障时可由守护进程自动切换为备库 二、前置检查 1. 确认当前数据库状态: ```sql SELECT NAME, STATUS$ FROM V$DATABASE; ``` 正常应显示为STOPEN或MOUNT状态 2. 检查数据守护环境: - 已配置至少一个备库(STANDBY模式) - 守护进程已正确配置 - 网络通信正常 三、配置步骤 1. 修改数据库配置文件(dm.ini): ```ini INSTANCE_NAME = PRIMARY01 # 主库实例名 DW_TYPE = 0 # 0表示普通实例,1表示守护实例 DW_MODE = PRIMARY # 明确指定为主库模式 ``` 2. 配置守护进程文件(dmwatcher.ini): ```ini [GRP1] DW_TYPE = GLOBAL # 全局守护类型 DW_MODE = AUTO # 自动切换模式 INST_ERROR_TIME = 10 # 故障认定时间(秒) INST_OGUID = 453331 # 守护组唯一标识,需与备库一致 ``` 3. 修改归档配置(dmarch.ini): ```ini [ARCHIVE_REALTIME] ARCH_TYPE = REALTIME # 实时归档 DEST = STANDBY01 # 备库实例名 ARCH_FILE_SIZE = 128 # 单个归档文件大小(MB) ``` 四、生效配置 1. 重启数据库服务: ```bash systemctl restart DmServicePRIMARY ``` 2. 启动守护进程: ```bash dmwatcher /opt/dmdbms/data/DAMENG/dmwatcher.ini ``` 五、验证方法 1. 查询数据库模式: ```sql SELECT NAME, STATUS$, MODE$ FROM V$DATABASE; ``` 正常应返回: ``` NAME | STATUS$ | MODE$ ---------+---------+--------- DAMENG | 4 | PRIMARY ``` 2. 检查守护状态: ```sql SELECT STAT_NAME, STAT_VAL FROM V$DW_STAT; ``` 六、注意事项 1. 主备库的OGUID必须完全一致 2. 确保归档配置能正常传输日志到备库 3. 修改配置前必须停止数据库服务 4. 主库模式不支持直接修改为备库,需先转为普通模式 5. 生产环境建议配置至少两个实时备库 七、常见问题处理 1. 模式切换失败检查: - 确认dm.ini和dmwatcher.ini权限为dmdba用户 - 检查防火墙是否开放端口(默认5266) - 验证网络延迟是否在允许范围内 2. 状态不同步处理: ```sql ALTER DATABASE RESET LOG; -- 重建日志 ALTER DATABASE MOUNT; -- 重新挂载 ``` 建议在正式环境操作前,先在测试环境验证配置有效性。复杂的高可用架构建议联系达梦原厂技术支持进行方案评审。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值