当前位置: 首页 > news >正文

DSC 归档配置相关

1 归档查询

一般建议DMDSC集群中的节点,除了配置本地归档以外,再双向配置集群中所有其他节点的远程归档。

在DMDSC中,每个节点都可以进行事务操作,也就是说每个节点都会产生归档数据。
达梦数据库中表的备份不依赖归档数据,但对于表空间和数据库备份,在恢复时为了保证一致性,必须依赖归档文件。
在DMDSC中的每个节点都有事务日志,所以在DMDSC中,在备份节点上需要能够访问到所有节点的归档日志。远程归档就是解决这个问题的方法

配置远程归档后可以将写入本地归档的REDO日志信息发送到远程节点的指定归档目录中。
注意,这里是在写入本地归档日志文件的同时,通过MAL系统将REDO日志发送给指定的数据库实例,没有先后顺序。
配置完成后就可以保证在任意一个节点的本地磁盘中都能够找到DMDSC所有节点产生的完整的归档日志文件。

达梦数据库在本地归档失败与远程归档失败时的处理策略是不同的:
(1)当本地归档失败,比如磁盘空间不足时,系统将会挂起。
(2)当远程归档失败时,远程归档将失效,不再发送REDO日志到指定数据库实例。当节点间网络恢复或者远程节点重启成功后,系统会自动检测并恢复远程归档,继续发送新写入的REDO日志,但不会主动补齐故障期间的REDO日志。此时需要手工从远程节点的本地归档复制缺失的归档到本地节点。

可通过查询以下视图获取归档配置以及归档状态等信息

-- V$DM_ARCH_INI,关于归档的详尽信息
SQL>  select ARCH_NAME,ARCH_TYPE,ARCH_DEST from V$DM_ARCH_INI;行号     ARCH_NAME       ARCH_TYPE ARCH_DEST             
---------- --------------- --------- ----------------------
1          ARCHIVE_LOCAL1  LOCAL     +DMARCH/ARCH/DSC0/arch
2          ARCHIVE_REMOTE1 REMOTE    DSC1
3          ARCHIVE_LOCAL2  LOCAL     /dmarch-- V$ARCH_STATUS,关于归档的状态信息
SQL> select * from v$arch_status;行号     ARCH_TYPE ARCH_DEST              ARCH_STATUS ARCH_SRC
---------- --------- ---------------------- ----------- --------
1          LOCAL     +DMARCH/ARCH/DSC0/arch VALID       DSC0
2          REMOTE    +DMARCH/ARCH/DSC1/arch VALID       DSC1
3          LOCAL     /dmarch                VALID       DSC0

2 关于DMARCH.INI文件配置

以两节点DMDSC集群为例,说明如何配置远程归档。
DSC0实例dmarch.ini文件配置:

[dmdba@dsc01 DSC0]$ pwd
/dm/dmdbms/dsc_config/DSC0[dmdba@dsc01 DSC0]$ cat dmarch.ini 
ARCH_WAIT_APPLY = 0    
-- 控制备库在接收到主库的归档日志后,是否需要等待重演(apply)完成后再响应主库。(Datawatch常用,1为事务一致模式,0为高性能模式立即响应主库归档日志)
ARCH_LOCAL_SHARE = 1   
-- 指定 DMDSC 集群中的本地归档是否共享给远程节点作为远程归档(1共享,0不共享)。设置为1意味着本地归档日志不仅对本地节点可用,还可以被集群中的其他节点访问和使用。这在多节点集群环境中尤为重要,以确保所有节点都能访问到完整的归档日志。
ARCH_LOCAL_SHARE_CHECK = 0
-- 是否进行本地归档和远程归档路径的一致性校验(1校验,0不校验),设置为0表示不进行路径一致性校验。
-- 这意味着系统不会验证本地归档路径和远程归档路径是否一致,这在某些高级配置中可能是必要的,但通常建议保持一致性以避免潜在的问题。[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMARCH/ARCH/DSC0/arch
ARCH_FILE_SIZE = 2048    
-- 单位M,范围64M~2048M
ARCH_SPACE_LIMIT = 204800  
-- 单位M,范围0或1024M~2147483647 M,0表示不限制当本地归档文件的总大小达到 204800 MB(200 GB)时,系统将自动删除最旧的归档日志文件以腾出空间。
ARCH_FLUSH_BUF_SIZE = 32
-- 归档合并刷盘缓存的大小,单位为 M。取值范围0~128M,设置为32MB,表示系统在进行归档日志刷盘操作时,会使用32 MB的缓存来优化性能。
-- 设置为0表示不使用归档合并刷盘缓存[ARCHIVE_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC1
ARCH_INCOMING_PATH = +DMARCH/ARCH/DSC1/arch
-- 指定远程节点DSC1的本地归档日志文件存放路径。
-- +DMARCH/ARCH/DSC1/arch 是 ASM 文件系统的路径,表示DSC1节点的归档日志将存储在 ASM 磁盘组DMARCH的ARCH/DSC1/arch目录下。
-- 注意:此路径必须与DSC1节点上dmarch.ini文件中[ARCHIVE_LOCAL1]配置的ARCH_DEST路径完全一致,否则服务器启动时会校验失败ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 204800
ARCH_FLUSH_BUF_SIZE = 32[ARCHIVE_LOCAL2]
ARCH_TYPE = LOCAL
ARCH_DEST = /dmarch
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 409600
ARCH_FLUSH_BUF_SIZE = 32

DSC1实例dmarchi.ini文件配置:

[dmdba@dsc02 DSC1]$ pwd
/dm/dmdbms/dsc_config/DSC1[dmdba@dsc02 DSC1]$ cat dmarch.ini 
ARCH_WAIT_APPLY = 0
ARCH_LOCAL_SHARE = 1
ARCH_LOCAL_SHARE_CHECK = 0[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = +DMARCH/ARCH/DSC1/arch
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 204800
ARCH_FLUSH_BUF_SIZE = 32[ARCHIVE_REMOTE1]
ARCH_TYPE = REMOTE
ARCH_DEST = DSC0
ARCH_INCOMING_PATH = +DMARCH/ARCH/DSC0/arch
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 204800
ARCH_FLUSH_BUF_SIZE = 32[ARCHIVE_LOCAL2]
ARCH_TYPE = LOCAL
ARCH_DEST = /dmarch
ARCH_FILE_SIZE = 2048
ARCH_SPACE_LIMIT = 409600
ARCH_FLUSH_BUF_SIZE = 32

3 归档常见操作

3.1 手动生成归档

-- 切换日志
SQL> alter system switch logfile;
操作已执行
已用时间: 22.456(毫秒). 执行号:0.SQL> alter database archivelog current;
操作已执行
已用时间: 4.306(毫秒). 执行号:0.

3.2 修改归档存放路径

达梦数据库在已经开启归档模式的情况,无法在open状态下修改归档目录,OPEN状态下仅允许添加REALTIME、TIMELY、ASYNC、SYNC归档。
把数据库改成mount状态下可以在线添加归档日志路径(新增归档目标),但无法修改已有归档路径。
要修改数据库的归档路径,只能是手工修改dmarch.ini文件,然后重启实例生效。

服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 3.706(ms)
disql V8
SQL> ALTER DATABASE ADD ARCHIVELOG 'DEST=/dm8/data/arch, TYPE = local, FILE_SIZE = 256, SPACE_LIMIT = 0';
ALTER DATABASE ADD ARCHIVELOG 'DEST=/dm8/data/arch, TYPE = local, FILE_SIZE = 256, SPACE_LIMIT = 0';1 行附近出现错误[-980]:OPEN状态下仅允许添加REALTIME、TIMELY、ASYNC、SYNC归档.
已用时间: 0.609(毫秒). 执行号:0.SQL> alter database mount;
操作已执行
已用时间: 25.041(毫秒). 执行号:0.
SQL>  ALTER DATABASE ADD ARCHIVELOG 'DEST=/dm8/dmarch, TYPE = local, FILE_SIZE = 256, SPACE_LIMIT = 0';
操作已执行
已用时间: 22.074(毫秒). 执行号:0.[dmdba@dsc01 arch1]$ pwd
/dm8/dmarch/arch1SQL> ALTER DATABASE modify ARCHIVELOG 'TYPE=local,DEST=/dm8/dmarch/arch1,FILE_SIZE = 512, SPACE_LIMIT = 10240';
ALTER DATABASE modify ARCHIVELOG 'TYPE=local,DEST=/dm8/dmarch/arch1,FILE_SIZE = 512, SPACE_LIMIT = 10240';1 行附近出现错误[-953]:归档目标不存在.
已用时间: 1.695(毫秒). 执行号:0.SQL> ALTER DATABASE DELETE ARCHIVELOG 'DEST = /dm8/dmarch/arch1, TYPE = local';
ALTER DATABASE DELETE ARCHIVELOG 'DEST = /dm8/dmarch/arch1, TYPE = local';1 行附近出现错误[-953]:归档目标不存在.
已用时间: 2.410(毫秒). 执行号:0.

通过修改dmarch.ini文件调整归档存放路径

-- 两个节点停止集群服务
systemctl stop DmCSSServiceCSS.service-- 两个节点创建新归档存放目录
[dmdba@dsc01 dmarch01]$ pwd
/dm8/dmarch01[dmdba@dsc02 dmarch02]$ pwd
/dm8/dmarch02-- 修改dmarch.ini
-- 节点1
[dmdba@dsc01 DSC0]$ cat dmarch.ini  
#DaMeng Database Archive Configuration file  
#this is comments  ARCH_WAIT_APPLY      = 0  ARCH_LOCAL_SHARE     = 1  ARCH_LOCAL_SHARE_CHECK = 1 [ARCHIVE_LOCAL1]  ARCH_TYPE            = LOCAL  ARCH_DEST            = /dm8/dmarch01  ARCH_FILE_SIZE       = 1024  ARCH_SPACE_LIMIT     = 0  ARCH_FLUSH_BUF_SIZE  = 32  ARCH_HANG_FLAG       = 1  [ARCHIVE_REMOTE1]  ARCH_TYPE            = REMOTE  ARCH_DEST            = DSC1  ARCH_INCOMING_PATH   = /dm8/dmarch02  ARCH_FILE_SIZE       = 1024  ARCH_SPACE_LIMIT     = 0  ARCH_FLUSH_BUF_SIZE  = 32-- 节点2
[dmdba@dsc02 DSC1]$ cat dmarch.ini
#DaMeng Database Archive Configuration file
#this is commentsARCH_WAIT_APPLY      = 0ARCH_LOCAL_SHARE     = 1ARCH_LOCAL_SHARE_CHECK = 1[ARCHIVE_LOCAL1]ARCH_TYPE            = LOCALARCH_DEST            = /dm8/dmarch02ARCH_FILE_SIZE       = 1024ARCH_SPACE_LIMIT     = 0ARCH_FLUSH_BUF_SIZE  = 32ARCH_HANG_FLAG       = 1[ARCHIVE_REMOTE1]ARCH_TYPE            = REMOTEARCH_DEST            = DSC0ARCH_INCOMING_PATH   = /dm8/dmarch01ARCH_FILE_SIZE       = 1024ARCH_SPACE_LIMIT     = 0ARCH_FLUSH_BUF_SIZE  = 32-- 启动集群
-- 查询归档状态
SQL> select * from v$arch_status;行号     ARCH_TYPE ARCH_DEST     ARCH_STATUS ARCH_SRC
---------- --------- ------------- ----------- --------
1          LOCAL     /dm8/dmarch01 VALID       DSC0
2          REMOTE    /dm8/dmarch02 VALID       DSC1SQL> select * from v$arch_status;行号     ARCH_TYPE ARCH_DEST     ARCH_STATUS ARCH_SRC
---------- --------- ------------- ----------- --------
1          LOCAL     /dm8/dmarch02 VALID       DSC1
2          REMOTE    /dm8/dmarch01 VALID       DSC0已用时间: 2.550(毫秒). 执行号:1.

https://eco.dameng.com

http://www.dtcms.com/a/395250.html

相关文章:

  • 彭博社-BloombergGPT金融大模型
  • GPT5 Codex简单快速上手
  • Linux配置白名单限制访问_ipset+iptables
  • 多元化通证经济模型:DAO的神经和血液
  • 高系分十六:web应用
  • 【LeetCode热题100(27/100)】合并两个有序链表
  • 嵌入式(SOC+FreeRTOS)汽车仪表盘接口参数安全:规范遵循与防护实践
  • Maven 完整教程
  • 数据驱动下的用户画像系统:从0到1的技术实战与避坑指南
  • 同一个灰色,POI取出来却是白色:一次Excel颜色解析的踩坑记录
  • Excel——常用函数一
  • 立项依据不足会给项目带来哪些风险
  • 从 0 到 1 精通 SkyWalking:分布式系统的 “透视镜“ 技术全解析
  • SkyWalking 核心概念与智能探针工作原理深度揭秘(下)
  • Dockerfile入门指南
  • iOS 原生开发全流程解析,iOS 应用开发步骤、Xcode 开发环境配置、ipa 文件打包上传与 App Store 上架实战经验
  • 数据分析报告的写作流程
  • 当你的断点在说谎:深入解析RTOS中的“幽灵”Bug
  • [BUG]MarkupSafe==3.0.2
  • 机器学习笔试选择题:题组1
  • 79-数据可视化-地图可视化
  • python全栈-数据可视化
  • 【国产桌面操作系统】安装mysql客户端及C/C++开发
  • IntelliJ:找不到相关的 gradle 配置,请重新导入 Gradle 项目,然后重试。
  • 云计算微服务架构与容器化技术:服务网格与边缘计算融合实践
  • 飞牛NAS上搭建OpenWrt旁路由教程(适用于x86的Docker部署)
  • python14——函数
  • 14.Linux 硬盘分区管理及RAID存储技术
  • ★ Linux ★ 信号
  • macOS在IDEA里滚动行为混乱问题