金融行业客户在数据库管理系统(Oracle、DM 等)的部署和维护规范要求中提出:所有数据库需高效确保系统可维护性、可操作性和安全性;同时要求在所有新增及现有的数据库实例中,重做日志文件必须统一使用 .redo 作为文件扩展名。为确保此项规范在开发、部署、运维全流程中得到有效落实,且不影响现有业务的稳定运行,特进行本次专项测试。
验证达梦9主备集群在使用 .redo 扩展名的环境下,以下四项核心能力正常:
后缀校验: 主备节点初始化后 redo 日志文件名是否符合 .redo 规范
联机日志切换: 手动/自动切换时新文件是否延续 .redo后缀
持续写入稳定性: 高并发写入下日志持续增长、无中断、无报错
主备归档同步: 归档日志(若开启)是否也遵循 .redo 命名
主备切换: Switchover / Takeover 后新主库日志是否正常
最低 3节点(主 + 备 + 备),建议如下配置:
Node1 192.168.245.200 DM9DW_01 主库
Node2 192.168.245.200 DM9DW_02 备库
Node3 192.168.245.200 DM9DW_03 备库
数据库版本 9.1.0.26
在3个节点上分别执行 dminit,使用 RLOG_POSTFIX_NAME=redo 参数:
主库初始化:
./dminit path=/dmdata/dm8/ DB_NAME=DM9_DW01 LOG_SIZE=256 RLOG_POSTFIX_NAME=redo SYSDBA_PWD=SYSDBA123qwe SYSAUDITOR_PWD=SYSDBA123qwe
2备库初始化(路径保持一致):
./dminit path=/dmdata/dm9/ DB_NAME=DM9_DW02 LOG_SIZE=256 RLOG_POSTFIX_NAME=redo SYSDBA_PWD=SYSDBA123qwe SYSAUDITOR_PWD=SYSDBA123qwe
./dminit path=/dmdata/dm9/ DB_NAME=DM9_DW03 LOG_SIZE=256 RLOG_POSTFIX_NAME=redo SYSDBA_PWD=SYSDBA123qwe SYSAUDITOR_PWD=SYSDBA123qwe
TestCase-01:初始化后后缀校验
验证步骤:
查看当前正在使用的日志文件:
SELECT FILE_NAME, FILE_SEQNO, STATUS$, GROUP_ID FROM V$RLOGFILE;
操作系统层面验证:
ls -la /dmdata/dm9/DM8_DW01/*.redo
ls -la /dmdata/dm9/DM8_DW02/*.redo
ls -la /dmdata/dm9/DM8_DW03/*.redo
校验标准:
V$RLOGFILE 中所有记录的 PATH 字段均以 .redo 结尾
物理文件系统下确实存在对应 .redo 文件
不存在遗留的 .log 文件
TestCase-02:主备搭建后校验
查询 redo 日志文件路径:
SELECT * FROM V$RLOGFILE;
校验标准:
TestCase-03:单线程批量插入测试
预置条件:创建测试表与序列
CREATE TABLE REDO_TEST (ID INT PRIMARY KEY, INSERT_TIME DATETIME, DATA VARCHAR(4000));
CREATE SEQUENCE SEQ_REDO;
执行步骤:
批量插入 100 万行数据,每 5000 行提交一次。
BEGIN FOR i IN 1..1000000 LOOP INSERT INTO REDO_TEST VALUES (i, SYSDATE, LPAD('A', 3900, 'A')); IF MOD(i, 5000)=0 THEN COMMIT; END IF; END LOOP; COMMIT; END;/
并发监控(另开会话执行):
SELECT COUNT(*) FROM V$LOG_HISTORY; —— 统计日志切换次数
SELECT NAME,FIRST_TIME,NEXT_TIME,ARCHIVED,STATUS,ARCH_TYPE FROM V$ARCHIVED_LOG; —— 查看归档
–生成redo结尾归档正常
校验标准:
BEGIN FOR i IN 1..500000 LOOP INSERT INTO REDO_TEST VALUES (SEQ_REDO.NEXTVAL, SYSDATE, DBMS_RANDOM.STRING('U', 3600)); END LOOP; ROLLBACK; END;/
校验标准:
TestCase-05:Switchover 正常切换
执行步骤:
在主库执行切换:
"switchover DAMENG_PRIM DAMENG_STBY"
切换后在新主库(原备库)查询:
SELECT FILE_NAME, STATUS$ FROM V$RLOGFILE;
在新备库(原主库)同样查询验证
–登录新的主备库查看redo生成情况
SELECT NAME,FIRST_TIME,NEXT_TIME,ARCHIVED,STATUS,ARCH_TYPE FROM V$ARCHIVED_LOG;
校验标准:
关键视图
【#达梦数据库 #达梦同行者征文】
文章
阅读量
获赞
