暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

达梦REDO日志与归档文件后缀名使用简介

137

概述

在日常工作中,运维人员在进行磁盘空间清理操作时,由于对达梦数据库中redo
日志文件(如DAMENG01.log
)以及归档日志文件的重要性缺乏足够了解,可能会引发误删的风险。例如,在执行命令find -type f -name "*.log" | xargs rm
时,会将系统中所有后缀为.log
的文件全部删除。

值得关注的是,从V8.1.2.195
版本后开始,系统提供了更为灵活的配置方式。在初始化实例时,用户可以根据实际需求对redo
日志文件的后缀名称进行自定义修改;而且在完成实例初始化之后,同样能够对归档日志文件的名称进行调整 ,以此降低因误操作而导致重要日志文件丢失的可能性 。

案例演示

本次测试版本基于 03134284105-20230821-199527-10000

SQL> select * from v$version;

行号     BANNER
---------- ---------------------------------
1          DM Database Server 64 V8
2          DB Version: 0x7000c
3          03134284105-20230821-199527-10000

已用时间: 6.283(毫秒). 执行号:62009.
SQL>

初始化实例

使用./dminit help
查看帮助详细信息如下:

[dmdba@rengy bin]$ ./dminit help
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2024-08-21
version: 03134284105-20230821-199527-10000
格式: ./dminit     KEYWORD=value

例程: ./dminit     PATH=/public/dmdb/dmData PAGE_SIZE=16

关键字                     说明(默认值)
--------------------------------------------------------------------------------
INI_FILE                   初始化文件dm.ini存放的路径
PATH                       初始数据库存放的路径
CTL_PATH                   控制文件路径
LOG_PATH                   日志文件路径
EXTENT_SIZE                数据文件使用的簇大小(16),可选值:16, 32, 64,单位:页
PAGE_SIZE                  数据页大小(8),可选值:4, 8, 16, 32,单位:K
LOG_SIZE                   日志文件大小(256),单位为:M,范围为:256M ~ 8G
CASE_SENSITIVE             大小敏感(Y),可选值:Y/N,1/0
CHARSET/UNICODE_FLAG       字符集(0),可选值:0[GB18030],1[UTF-8],2[EUC-KR]
SEC_PRIV_MODE              权限管理模式(0),可选值:0[TRADITION],1[BMJ],2[EVAL],3[ZB]
LENGTH_IN_CHAR             VARCHAR类型长度是否以字符为单位(N),可选值:Y/N,1/0
SYSDBA_PWD                 设置SYSDBA密码(SYSDBA)
SYSAUDITOR_PWD             设置SYSAUDITOR密码(SYSAUDITOR)
DB_NAME                    数据库名(DAMENG)
INSTANCE_NAME              实例名(DMSERVER)
PORT_NUM                   监听端口号(5236)
BUFFER                     系统缓存大小(100),单位M
TIME_ZONE                  设置时区(+08:00)
PAGE_CHECK                 页检查模式(3),可选值:0/1/2/3
PAGE_HASH_NAME             设置页检查HASH算法
EXTERNAL_CIPHER_NAME       设置默认加密算法
EXTERNAL_HASH_NAME         设置默认HASH算法
EXTERNAL_CRYPTO_NAME       设置根密钥加密引擎
RLOG_ENCRYPT_NAME          设置日志文件加密算法,若未设置,则不加密
RLOG_POSTFIX_NAME          设置日志文件后缀名,长度不超过10。默认为log,例如DAMENG01.log
USBKEY_PIN                 设置USBKEY PIN
PAGE_ENC_SLICE_SIZE        设置页加密分片大小,可选值:0、512、4096,单位:Byte
ENCRYPT_NAME               设置全库加密算法
BLANK_PAD_MODE             设置空格填充模式(0),可选值:0/1
SYSTEM_MIRROR_PATH         SYSTEM数据文件镜像路径
MAIN_MIRROR_PATH           MAIN数据文件镜像
ROLL_MIRROR_PATH           回滚文件镜像路径
MAL_FLAG                   初始化时设置dm.ini中的MAL_INI(0)
ARCH_FLAG                  初始化时设置dm.ini中的ARCH_INI(0)
MPP_FLAG                   Mpp系统内的库初始化时设置dm.ini中的mpp_ini(0)
CONTROL                    初始化配置文件(配置文件格式见系统管理员手册)
AUTO_OVERWRITE             是否覆盖所有同名文件(0) 0:不覆盖 1:部分覆盖 2:完全覆盖
USE_NEW_HASH               是否使用改进的字符类型HASH算法(1)
ELOG_PATH                  指定初始化过程中生成的日志文件所在路径
AP_PORT_NUM                分布式环境下协同工作的监听端口
HUGE_WITH_DELTA            是否仅支持创建事务型HUGE表(1) 1:是 0:否
RLOG_GEN_FOR_HUGE          是否生成HUGE表REDO日志(1) 1:是 0:否
PSEG_MGR_FLAG              是否仅使用管理段记录事务信息(0) 1:是 0:否
CHAR_FIX_STORAGE           CHAR是否按定长存储(N),可选值:Y/N,1/0
SQL_LOG_FORBID             是否禁止打开SQL日志(N),可选值:Y/N,1/0
DPC_MODE                   指定DPC集群中的实例角色(0) 0:无 1:MP 2:BP 3:SP,取值1/2/3时也可以用MP/BP/SP代替
HELP                       打印帮助信息
[dmdba@rengy bin]$

初始化指定RLOG_POSTFIX_NAME
参数,实例为名称为DAMENG
,使用以下命令初始实例。

./dminit path=/oracle/dmdata page_size=32 case_sensitive=1 extent_size=32 LENGTH_IN_CHAR=1 charset=1 log_size=2048 db_name=DAMENG instance_name=DAMENG RLOG_POSTFIX_NAME=dbf

具体信息如下:

[dmdba@rengy bin]$ ./dminit path=/oracle/dmdata page_size=32  case_sensitive=1 extent_size=32 LENGTH_IN_CHAR=1 charset=1 log_size=2048 db_name=DAMENG instance_name=DAMENG RLOG_POSTFIX_NAME=dbf
initdb V8
db version: 0x7000c
file dm.key not found, usedefault license!
License will expireon2024-08-21
NormalofFAST
NormalofDEFAULT
NormalofRECYCLE
NormalofKEEP
Normalof ROLL

logfilepath: oracle/dmdata/DAMENG/DAMENG01.dbf  #redo文件后缀已变为.dbf结尾


logfilepath: oracle/dmdata/DAMENG/DAMENG02.dbf

write to dir [/oracle/dmdata/DAMENG].
create dm database success. 2023-10-0714:56:49
[dmdba@rengy bin]$


归档文件后缀修改

归档日志文件的文件后缀均由INI参数LOG_FILE_POSTFIX_NAME参数控制。可以通过sp_set_para_string_value、sf_get_para_string_value
分别修改以及查询INI参数LOG_FILE_POSTFIX_NAME

这里前台启动实例

[dmdba@rengy bin]$ ./dmserver oracle/dmdata/DAMENG/dm.ini
file dm.key not found, use default license!
version info: develop
DM Database Server 64 V8 03134284105-20230821-199527-10000 startup...
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
Database mode = 0, oguid = 0
License will expire on 2024-08-21
file lsn: 0
ndct db load finished, code:0
ckpt2_exec_immediately begin.
checkpoint begin, used_space[4096], free_space[4294955008]...
checkpoint end, 2 pages flushed, used_space[8192], free_space[4294950912].
checkpoint begin, used_space[8192], free_space[4294950912]...
checkpoint begin, used_space[0], free_space[4294959104]...
ndct second level fill fast pool finished
ndct third level fill fast pool finished
ndct second level fill fast pool finished
ndct third level fill fast pool finished
ndct fill fast pool finished
pseg_set_gtv_trxid_low next_trxid in mem:[2002]
pseg_collect_mgr_items, total collect 0 active_trxs, 0 cmt_trxs, 0 pre_cmt_trxs, 0 to_release_trxs, 0 active_pages, 0 cmt_pages, 0 pre_cmt_pages, 0 to_release_pages, 0 mgr pages, 0 mgr recs!
next_trxid in mem:[4004]
next_trxid = 6006.
pseg recv finished
nsvr_startup end.
uthr_pipe_create, create pipe[read:12, write:13]
uthr_pipe_create, create pipe[read:14, write:15]
uthr_pipe_create, create pipe[read:16, write:17]
uthr_pipe_create, create pipe[read:18, write:19]
uthr_pipe_create, create pipe[read:20, write:21]
uthr_pipe_create, create pipe[read:22, write:23]
uthr_pipe_create, create pipe[read:24, write:25]
uthr_pipe_create, create pipe[read:26, write:27]
uthr_pipe_create, create pipe[read:28, write:29]
uthr_pipe_create, create pipe[read:30, write:31]
uthr_pipe_create, create pipe[read:32, write:33]
uthr_pipe_create, create pipe[read:34, write:35]
uthr_pipe_create, create pipe[read:36, write:37]
uthr_pipe_create, create pipe[read:38, write:39]
uthr_pipe_create, create pipe[read:40, write:41]
uthr_pipe_create, create pipe[read:42, write:43]
aud sys init success.
aud rt sys init success.

配置归档

归档路径及归档空间大小,以实际需求准

mkdir oracle/dmdata/DAMENG/arch
alter database mount;
alter database add archivelog 'dest=/oracle/dmdata/DAMENG/arch ,TYPE=local,FILE_SIZE=1024,SPACE_LIMIT=10240';
alter database noarchivelog;
alter database open;

查询配置时候生效

查询归档日志信息,归档日志文件是以log
结尾

SQL> select t.STATUS, t.PATH, t.ARCH_LSN, t.CLSN from "V$ARCH_FILE" t;

行号     STATUS PATH                                                                             ARCH_LSN             CLSN
---------- ------ -------------------------------------------------------------------------------- -------------------- --------------------
1          ACTIVE oracle/dmdata/DAMENG/arch/ARCHIVE_LOCAL1_0x662166B6_EP0_2023-10-07_15-09-46.log 40006                40292

已用时间: 2.086(毫秒). 执行号:62006.

SQL>

修改归档日志后缀

修改LOG_FILE_POSTFIX_NAME
参数,设置与redo
文件后缀一致sp_set_para_string_value(1,'LOG_FILE_POSTFIX_NAME','dbf');

SQL> select PARA_NAME,PARA_VALUE from  v$dm_ini where para_name ='LOG_FILE_POSTFIX_NAME';

行号     PARA_NAME             PARA_VALUE
---------- --------------------- ----------
1          LOG_FILE_POSTFIX_NAME log

已用时间: 10.308(毫秒). 执行号:62002.
SQL> sp_set_para_string_value(1,'LOG_FILE_POSTFIX_NAME','dbf');
DMSQL 过程已成功完成
已用时间: 22.349(毫秒). 执行号:62003.
SQL> select PARA_NAME,PARA_VALUE from  v$dm_ini where para_name ='LOG_FILE_POSTFIX_NAME';

行号     PARA_NAME             PARA_VALUE
---------- --------------------- ----------
1          LOG_FILE_POSTFIX_NAME dbf

已用时间: 9.642(毫秒). 执行号:62004.
SQL>

查询归档日志文件信息,新的归档显示为dbf
的后缀

SQL> alter database archivelog current;
操作已执行
已用时间: 2.757(毫秒). 执行号:0.
SQL> select t.STATUS, t.PATH, t.ARCH_LSN, t.CLSN from"V$ARCH_FILE" t;

行号     STATUS   PATH                                                                             ARCH_LSN             CLSN
---------- -------- -------------------------------------------------------------------------------- -------------------- --------------------
1          INACTIVE oracle/dmdata/DAMENG/arch/ARCHIVE_LOCAL1_0x662166B6_EP0_2023-10-07_15-09-46.log 40006                40292

已用时间: 1.936(毫秒). 执行号:62007.
--切换后归档日志文件后缀已经发生变化,如下所示
SQL> select t.STATUS, t.PATH, t.ARCH_LSN, t.CLSN from"V$ARCH_FILE" t;

行号     STATUS   PATH                                                                             ARCH_LSN             CLSN
---------- -------- -------------------------------------------------------------------------------- -------------------- --------------------
1          INACTIVE oracle/dmdata/DAMENG/arch/ARCHIVE_LOCAL1_0x662166B6_EP0_2023-10-07_15-09-46.log 40006                40292
2          ACTIVE   /oracle/dmdata/DAMENG/arch/ARCHIVE_LOCAL1_0x662166B6_EP0_2023-10-07_15-17-22.dbf 40292                40292

已用时间: 1.488(毫秒). 执行号:62008.
SQL>

注意:redo
日志文件的文件后缀由初始化库时的参数 RLOG_POSTFIX_NAME
进行控制。需要特别注意的是,一旦完成库的初始化操作后,该参数便不再支持修改。归档日志文件的文件后缀则由 INI
参数 LOG_FILE_POSTFIX_NAME
进行控制,其长度不得超过10
个字符,默认值为log


往期分享

安装部署

1.分享一个以前搭建主备集群遇到的一个路径乱码案例
2.给大家分享如何标准化部署达梦单机环境
3.DM 达梦数据库中大写敏感介绍分享
4.达梦 DSC 集群+DW 备库部署实战:高可用架构搭建指南

工具使用与日常处理

1.DataGrip 访问国产数据库_datagrip 连接国产数据库
2.如何使用 dbeaver 连接达梦数据库
3.更新大字段提示-2201 无效的对象问题
4.DM7 读写分离部署问题总结
5.DM7 读写分离集群备库数据不同步问题处理
6.达梦数据库 DISQL 工具部署及使用技巧
7.达梦数据库日常巡检方法分享
8.如何查询达梦数据库缓存执行计划与清理
9.达梦数据库运维工具分享
10.东方通中间件环境中如何部署达梦企业管理工具(DEM)
11.达梦 dmdbchk 使用秘籍:掌握 DM 数据库检查工具的功能与参数
12.ET 工具快速上手:从入门到精通的使用步骤
13.达梦数据库 SQL 日志详解:关键概念、功能及实践方法
14.搞懂达梦数据库 SQL 日志使用延伸,这些方法超实用!
15.DM 数据库守护集群入门指南:带你走进数据守护的世界
16.创建表时为何会提示“[-2670]:对象[ID]默认约束表达式无效”?


文章转载自国产数据库学堂,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论