达梦8数据库REDO日志日常管理方法 📅 2026/8/15 3:46:33 达梦8数据库的REDO日志主要用于记录被修改数据的新值包括事物对数据文件和回滚段的修改。达梦数据库每个实例都有一个相关联的REDO日志通过重做日志可以保证数据库的完整性和一致性REDO日志在数据库物理恢复中是非常重要的。达梦数据库默认包含2个扩展名为.log的联机日志文件用来保存REDO日志这2个REDO日志文件是循环使用的达梦8数据库目前仅支持对REDO日志文件进行增加和扩展操作不支持对日志文件进行删除或缩容操作以下我们以实际操作来演示日常工作中对达梦8数据库REDO日志的管理内容。1、检查数据库REDO日志信息达梦数据库中与REDO日志相关的视图主要有V$RLOG视图用来查询日志的总体信息。包括当前日志的检查点LSN、文件LSN等。SQLselect*fromv$rlog;行号CKPT_LSNFILE_LSNFLUSH_LSNCUR_LSNNEXT_SEQ--------------------------------------------------------------------------------------------------------------N_MAGICDB_MAGICFLUSH_PAGESFLUSHING_PAGESCUR_FILECUR_OFFSETCKPT_FILE--------------------------------------------------------------------------------------------------CKPT_OFFSETFREE_SPACETOTAL_SPACE------------------------------------------------------------SUSPEND_TIME----------------------------------------------------------------------------------------------------UPD_CTL_LSNN_RESERVE_WAITTOTAL_FLUSH_PAGESTOTAL_FLUSH_TIMESTOTAL_ECPR_FLUSH_PAGES------------------------------------------------------------------------------------------------GLOBAL_NEXT_SEQN_PRIMAY_EPPRIMARY_DB_MAGICCKPT_N_PRIMAY_EPCKPT_PRIMARY_DB_MAGICMIN_EXEC_VER----------------------------------------------------------------------------------------------------MIN_DCT_VER-----------111172311117232111723211172326524716190683760001241922560124191744805293568805294080NULL0014314065240000V8.1.1.14已用时间:12.737(毫秒).执行号:11.SQLV$RLOGFILE视图用来查询日志文件的具体信息。包括当前数据库的日志文件路径、大小、创建时间等信息。SQLselect*fromv$rlogfile;行号GROUP_IDFILE_IDPATHCLIENT_PATH------------------------------------------------------------------------------CREATE_TIME----------------------------------------------------------------------------------------------------RLOG_SIZEMIN_EXEC_VERMIN_DCT_VER-------------------------------------------120E:\dmdbms\data\DAMENG\DAMENG01.logDAMENG01.log2020-03-31 10:12:06.000000268435456V8.1.1.14行号GROUP_IDFILE_IDPATHCLIENT_PATH------------------------------------------------------------------------------CREATE_TIME----------------------------------------------------------------------------------------------------RLOG_SIZEMIN_EXEC_VERMIN_DCT_VER-------------------------------------------221E:\dmdbms\data\DAMENG\DAMENG02.logDAMENG02.log2020-03-31 10:12:06.000000268435456V8.1.1.14行号GROUP_IDFILE_IDPATHCLIENT_PATH------------------------------------------------------------------------------CREATE_TIME----------------------------------------------------------------------------------------------------RLOG_SIZEMIN_EXEC_VERMIN_DCT_VER-------------------------------------------322E:\dmdbms\data\DAMENG\DAMENG03.logDAMENG03.log2020-04-13 16:33:03.000000268435456V8.1.1.14已用时间:1.544(毫秒).执行号:12.SQL2、添加REDO日志文件达梦数据库的REDO日志文件是有最小大小限制的最小大小为4096X页大小当前数据库的页大小可以通过如下语句查看SQLselect para_name,para_value from v$dm_iniwherepara_name GLOBAL_PAGE_SIZE; 行号 PARA_NAME PARA_VALUE ---------- ---------------- ---------- 1 GLOBAL_PAGE_SIZE 8192 已用时间: 11.085(毫秒). 执行号:13.SQL所以当前数据库能够添加的REDO日志文件最小大小为4096X819232MB我们可以通过alert database add logfile的方式添加REDO日志文件如下所示SQLselectfile_id,path,rlog_size/1024/1024fromv$rlogfile;行号FILE_IDPATHRLOG_SIZE/1024/1024---------------------------------------------------------------------------10E:\dmdbms\data\DAMENG\DAMENG01.log25621E:\dmdbms\data\DAMENG\DAMENG02.log25632E:\dmdbms\data\DAMENG\DAMENG03.log256已用时间:2.754(毫秒).执行号:14.SQLalterdatabaseaddlogfileE:\dmdbms\data\DAMENG\DAMENG04.logsize31;alterdatabaseaddlogfileE:\dmdbms\data\DAMENG\DAMENG04.logsize31;第1行附近出现错误[-2410]:数据文件[E:\dmdbms\data\DAMENG\DAMENG04.log]大小无效.已用时间:4.883(毫秒).执行号:0.SQLalterdatabaseaddlogfileE:\dmdbms\data\DAMENG\DAMENG04.logsize32;操作已执行已用时间:54.674(毫秒).执行号:15.SQLselectfile_id,path,rlog_size/1024/1024fromv$rlogfile;行号FILE_IDPATHRLOG_SIZE/1024/1024---------------------------------------------------------------------------10E:\dmdbms\data\DAMENG\DAMENG01.log25621E:\dmdbms\data\DAMENG\DAMENG02.log25632E:\dmdbms\data\DAMENG\DAMENG03.log25643E:\dmdbms\data\DAMENG\DAMENG04.log32已用时间:2.257(毫秒).执行号:16.SQL以上过程我们可以看到当日志文件大小小于32MB时会提示“出现错误[-2410]:数据文件[E:\dmdbms\data\DAMENG\DAMENG04.log]大小无效.”。3、修改现有REDO日志文件大小达梦8数据库目前只能对日志文件进行向上扩大RESIZE操作不能进行向下缩容RESIZE操作可以通过alter database resize to语句实现我们现在将上面添加的日志文件由32MB扩大到64MB再尝试缩容到32MB过程如下SQLselectfile_id,path,rlog_size/1024/1024fromv$rlogfile;行号FILE_IDPATHRLOG_SIZE/1024/1024---------------------------------------------------------------------------10E:\dmdbms\data\DAMENG\DAMENG01.log25621E:\dmdbms\data\DAMENG\DAMENG02.log25632E:\dmdbms\data\DAMENG\DAMENG03.log25643E:\dmdbms\data\DAMENG\DAMENG04.log32已用时间:0.392(毫秒).执行号:17.SQLalterdatabaseresizelogfileE:\dmdbms\data\DAMENG\DAMENG04.logto64;操作已执行已用时间:134.417(毫秒).执行号:18.SQLalterdatabaseresizelogfileE:\dmdbms\data\DAMENG\DAMENG04.logto32;alterdatabaseresizelogfileE:\dmdbms\data\DAMENG\DAMENG04.logto32;[-2410]:数据文件[E:\dmdbms\data\DAMENG\DAMENG04.log]大小无效.已用时间:4.402(毫秒).执行号:0.SQLselectfile_id,path,rlog_size/1024/1024fromv$rlogfile;行号FILE_IDPATHRLOG_SIZE/1024/1024---------------------------------------------------------------------------10E:\dmdbms\data\DAMENG\DAMENG01.log25621E:\dmdbms\data\DAMENG\DAMENG02.log25632E:\dmdbms\data\DAMENG\DAMENG03.log25643E:\dmdbms\data\DAMENG\DAMENG04.log64已用时间:0.388(毫秒).执行号:20.SQL可以看到FILE_ID为3的日志文件可以正常从32MB扩容到64MB但是不能向下缩容从64MB缩容到32MB。4、修改REDO日志文件名达梦数据库REDO日志文件重命名必须在MOUNT状态下进行通过alter database rename to语句实现现在我们将文件id为3的日志文件由DAMENG04.log改为DAMENG05.log过程如下SQLselectstatus$ from v$instance; 行号 STATUS$---------- -------1OPEN 已用时间:1.439(毫秒). 执行号:23.SQL alter databaserenamelogfileE:\dmdbms\data\DAMENG\DAMENG04.logtoE:\dmdbms\data\DAMENG\DAMENG05.log; alter databaserenamelogfileE:\dmdbms\data\DAMENG\DAMENG04.logtoE:\dmdbms\data\DAMENG\DAMENG05.log; 第1行附近出现错误[-530]:只允许在MOUNT状态NORMAL模式下执行. 已用时间:0.427(毫秒). 执行号:0.SQL SQL alter database mount; 操作已执行 已用时间:00:00:01.853. 执行号:0.SQLselectstatus$ from v$instance; 行号 STATUS$---------- -------1MOUNT 已用时间:0.875(毫秒). 执行号:24.SQL alter databaserenamelogfileE:\dmdbms\data\DAMENG\DAMENG04.logtoE:\dmdbms\data\DAMENG\DAMENG05.log; 操作已执行 已用时间:359.865(毫秒). 执行号:25.SQLselectfile_id,path,rlog_size/1024/1024from v$rlogfile; 行号 FILE_ID PATH RLOG_SIZE/1024/1024---------- ----------- ---------------------------------- --------------------10E:\dmdbms\data\DAMENG\DAMENG01.log25621E:\dmdbms\data\DAMENG\DAMENG02.log25632E:\dmdbms\data\DAMENG\DAMENG03.log25643E:\dmdbms\data\DAMENG\DAMENG05.log64已用时间:0.788(毫秒). 执行号:26.SQL在实际操作过程中我们可以看到在OPEN状态下执行REDO日志重命名操作是不被允许的会提示“错误[-530]:只允许在MOUNT状态NORMAL模式下执行”错误。