达梦数据库修改归档日志

磁盘空间有限的情况下,需要清理或转移归档日志,以满足存储要求,或当归档磁盘过满而导致归档无法正常写入,致使数据库无法提供正常使用。

1、限制归档空间

在设置归档路径时,限制单个日志的大小以及归档目录的大小,当日至存储到达上限(此处为10g)时,会自动清除最早日志。

sql>alter database mount;

sql>alter database add archivelog 'type=local,dest=/SJ/arch,file_size=128,space_limit=2048';

sql>alter database open;

或者修改dmarch.ini

[ARCHIVE_LOCAL1] ARCH_TYPE = LOCAL ARCH_DEST = /SJ/arch ARCH_FILE_SIZE = 128 ARCH_SPACE_LIMIT = 2048

2、修改归档路径

当归档磁盘被占用,满了,或者需要更大的新的存储空间,可以修改归档路径,修改归档空间限制。

修改归档空间限制

alter database mount;

alter database noarchivelog;

alter database modify archivelog 'type=local,dest=/SJ/arch ,file_size=128,space_limit=2048';

alter database archivelog;

alter database open;

select * from v$dm_arch_ini;

修改归档路径

alter database mount;

alter database noarchivelog;

ALTER DATABASE ADD ARCHIVELOG 'TYPE=LOCAL,DEST=/dmdbms/arch,FILE_SIZE=1024,SPACE_LIMIT=4096';

alter database delete archivelog 'type=local,dest=/SJ/arch,file_size=128,space_limit=2048';

alter database archivelog;

alter database open;

3、利用系统函数删除指定归档

SF_ARCHIVELOG_DELETE_BEFORE_TIME----删除指定时间之前的归档文件,该函数返回删除的归档日志文件个数。

如下命令为删除系统当前时间7天前的归档日志文件: SQL>select sf_archivelog_delete_before_time(sysdate - 7);

SF_ARCHIVELOG_DELETE_BEFORE_LSN----删除指定LSN之前的归档文件,该函数返回删除的归档日志文件个数。归档日志的有效LSN范围可以通过V$ARCH_FILE查看。

如下命令为删除LSN号为44455之前的归档日志信息。

SQL>select sf_archivelog_delete_before_lsn(44455);

4、备份归档时删除 归档日志支持联机备份(热备)和脱机备份(冷备),两者都提供备份后删除归档的功能,在备份时指定delete input参数即可备份后删除归档,联机归档备份命令参考如下: SQL>backup archivelog all delete input;

执行完成后,查询V$ARCH_FILE视图无数据,同时操作系统下归档日志文件也被删除。 

5、手动删除归档日志 在操作系统下手工删除归档目录下的归档文件,归档日志文件删除后不影响DM数据库的正常运行。

但无论采用哪种办法删除归档日志,都建议在删除前备份归档日志文件或备份数据库,以便数据库故障时能利用备份和归档日志恢复到最新状态。

更多资讯请上达梦技术社区了解: https://eco.dameng.com 

<think>好的,用户想了解达梦数据库归档日志相关配置。首先,我需要回忆一下达梦数据库归档日志基本概念和作用。归档日志主要用于数据恢复和容灾,开启后可以保留完整的事务日志,这对数据库的安全非常重要。 接下来,我需要整理配置归档日志的步骤。通常,这涉及到修改数据库的dm.ini和dmarch.ini文件。要确认用户是否了解这些配置文件的位置和基本结构,可能需要分步骤说明如何修改参数,比如ARCH_INI、ARCH_TYPE等。 然后,需要考虑不同的归档类型,比如本地归档、实时归档、异步归档和远程归档。用户可能有不同的需求,比如是否需要实时同步到备用库,或者异步传输到其他服务器。需要分别解释每种类型的适用场景和配置方法,并提供示例,这样用户能更清楚如何选择。 另外,用户可能对如何验证配置是否生效有疑问,所以应该包含检查归档状态的方法,比如使用SQL语句查询V$ARCHIVED_LOG和V$DM_ARCH_INI视图。这部分需要确保语法正确,并且步骤清晰。 还要注意提醒用户在修改配置后需要重启数据库才能生效,这是一个常见的易错点。同时,安全方面的建议,比如归档日志的存储位置和定期清理,也是必要的,帮助用户避免磁盘空间问题。 用户可能的隐藏需求包括高可用性配置或者性能优化,比如实时归档与数据守护结合,或者调整归档文件的大小。虽然用户没有明确提到,但在回答中适当提及这些高级配置可以增加信息的全面性。 最后,要确保整个回答结构清晰,步骤详细,示例准确,并且符合用户的中文要求。避免使用复杂术语,保持语言简洁明了,让不同技术水平的用户都能理解。同时检查LaTeX格式是否正确,特别是行内公式和独立公式是否符合要求,但根据问题内容,可能LaTeX使用较少,主要集中在配置参数和路径的格式上,所以需要正确使用代码块或引用格式。</think>达梦数据库归档日志配置详解(以DM8为例): 一、归档日志的作用 1. 确保数据库完整恢复:记录所有已完成事务的REDO日志 2. 支持数据库级时间点恢复 3. 数据守护、主备集群等容灾方案的基础 二、配置步骤 1. 修改dm.ini参数 ```ini ARCH_INI = 1 # 启用归档配置 RLOG_APPEND_LOGIC = 0 # 逻辑日志强制归档(建议保持默认) ``` 2. 配置dmarch.ini(默认位于$DM_HOME/data/DAMENG/) ```ini [ARCHIVE_LOCAL1] ARCH_TYPE = LOCAL # 本地归档类型 ARCH_DEST = /dm8/arch # 归档路径(需提前创建目录) ARCH_FILE_SIZE = 1024 # 单个归档文件大小(单位MB) ARCH_SPACE_LIMIT = 0 # 空间限制(0表示不限制) ``` 3. 重启数据库生效 ```bash systemctl restart DmServiceDMSERVER ``` 三、归档类型详解 1. 本地归档(LOCAL) - 基本配置,必须启用 - 示例配置: ```ini ARCH_TYPE = LOCAL ARCH_DEST = /dmdata/arch ``` 2. 实时归档(REALTIME) - 用于读写分离集群 - 示例配置: ```ini ARCH_TYPE = REALTIME ARCH_DEST = SYSDBA/SYSDBA@192.168.1.100:5236 ``` 3. 异步归档(ASYNC) - 定时同步到备库 - 示例配置: ```ini ARCH_TYPE = ASYNC ARCH_DEST = SYSDBA/SYSDBA@192.168.1.101:5236 ARCH_TIMER = 60 # 同步间隔(秒) ``` 4. 远程归档(REMOTE) - 异机备份归档 - 示例配置: ```ini ARCH_TYPE = REMOTE ARCH_DEST = 192.168.1.102:5236 ARCH_INCOMING_PATH = /dm8/remote_arch ``` 四、状态验证 1. 检查归档状态 ```sql SELECT ARCH_NAME, ARCH_TYPE, ARCH_DEST, ARCH_FILE_SIZE FROM V$DM_ARCH_INI; ``` 2. 查看已生成归档 ```sql SELECT CLIENT_NAME, PATH, BEGIN_LSN, END_LSN FROM V$ARCHIVED_LOG; ``` 五、注意事项 1. 存储规划建议: - 建议单独挂载归档存储设备 - 保留空间应至少能存放3天以上的归档日志 - 文件系统建议使用XFS/ext4 2. 自动清理策略 ```ini ARCH_RESERVE_TIME = 1440 # 保留时间(分钟),0表示不自动删除 ``` 3. 性能优化参数 ```ini ARCH_SEND_BUF_SIZE = 16 # 发送缓冲区大小(单位MB) ARCH_RECV_BUF_SIZE = 16 # 接收缓冲区大小 ``` 六、常见问题处理 1. 归档空间满: ```sql ALTER DATABASE ARCHIVELOG CURRENT; # 手动切换归档 ``` 2. 归档不同步: ```sql ALTER DATABASE MOUNT; ALTER DATABASE ARCHIVELOG RESET; # 重置归档 ALTER DATABASE OPEN; ``` 建议定期检查归档完整性: ```bash dmrachk TYPE=ARCH FILE=/dmdata/arch/DAMENG_ARCH_LOCAL1_20230615.log ``` 附:最佳实践 1. 生产环境建议同时配置本地归档+远程归档 2. 归档目录权限应设置为700,属组dmdba:dinstall 3. 建议设置ARCH_FILE_SIZE=2048(2GB)平衡性能与恢复粒度 4. 结合crontab定期清理过期归档: ```bash 0 2 * * * find /dmdata/arch -name "*.log" -mtime +7 -exec rm {} \; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值