注册
REDO日志文件与归档文件后缀名修改
专栏/技术分享/ 文章详情 /

REDO日志文件与归档文件后缀名修改

rgy 2023/10/09 1149 1 0
摘要

1 概述

日常工作运维人员在清理磁盘空间的时,因对达梦数据库中的redo日志文件(DAMENG01.log)与归档日志文件重要性不了解,可能导致误删的情况,例如使用find   / -type f -name "*.log"  | xargs rm 全部删除log后缀的文件。在V8.1.2.195版本以后,可以在初始化实例时可以对redo后缀命名修改,初始化实例后也可对归档日志名称调整。

2 示例过程

本次测试版本基于 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>

2.1 初始化实例

初始化实例配置参数RLOG_POSTFIX_NAME 设置日志文件后缀名,且长度不超过10,不指定默认为log后缀。

使用 ./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, use default license! License will expire on 2024-08-21 Normal of FAST Normal of DEFAULT Normal of RECYCLE Normal of KEEP Normal of ROLL log file path: /oracle/dmdata/DAMENG/DAMENG01.dbf #redo文件后缀已变为.dbf结尾 log file path: /oracle/dmdata/DAMENG/DAMENG02.dbf write to dir [/oracle/dmdata/DAMENG]. create dm database success. 2023-10-07 14:56:49 [dmdba@rengy bin]$

2.2 归档文件后缀修改

归档日志文件的文件后缀均由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>

重新查询归档日志文件信息

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>

3 注意事项

redo日志文件的文件后缀由初始化库时的参数RLOG_POSTFIX_NAME控制,初始化库后不支持修改。
归档日志文件的文件后缀均由INI参数LOG_FILE_POSTFIX_NAME参数控,长度能不超过10个字符。默认值为log。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服