注册
达梦数据库归档日志详解
专栏/培训园地/ 文章详情 /

达梦数据库归档日志详解

过乔米线¿ 2025/04/23 96 0 0
摘要

一、归档日志文件概述:
1)达梦数据库可以运行在归档状态或者非归档状态下。

2)归档模式下运行:联机日志文件中的内容将被保存至硬盘,形成归档日志文件;

3)非归档模式运行:则不会形成归档日志。

4)采用归档模式会对系统的性能造成些许的影响,但是数据库运行在归档模式下,数据会更加安全。

5)当出现故障的时候,数据丢失的可能性会更小,因为一旦出现介质故障(如:磁盘损坏)时,可以利用归档日志,将数据库恢复到发生故障的前一刻,也可以指定时间点还原;而如果没有开启归档,则只能利用备份文件的数据进行还原。

6)开启归档后可以支持数据库的备份热备、集群搭建以及归档挖掘等功能
二、开启归档
达梦数据库开启数据库本地归档通常通过以下两种方式配置:

方式一:通过 SQL 命令方式开启归档(数据库实例启动)

方式二:通过修改数据库配置文件方式开启归档(数据库实例未启动)

方式三:通过达梦客户端工具开启归档(数据库实例启动)

不管是手动配置还是SQL命令方式都是在干两个事,在dm.ini中开启dmarch_ini参数+新增dmarch.ini文件。

方式一:sql语句开启归档
1、提前建好存储归档的目录以及权限(以归档目录/data//dmserver/dmarch举例)

[root@AAAA ~]# mkdir /data/dmserver/dmarch
[root@AAAA ~]# chown dmdba.dinstall /data/dmserver/dmarch/
[root@AAAA ~]# chmod -R 755  /data/dmserver/dmarch/

2、:查询当前实例归档是否开启

SQL> select  name,arch_mode from v$database;
 
行号     name   arch_mode
---------- ------ ---------
1          DAMENG N
 
已用时间: 9.130(毫秒). 执行号:601.

N是未开启

Y是已开启

3、开启归档日志的sql

ALTER DATABASE MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE ADD ARCHIVELOG 'DEST=/data/dmserver/dmarch, TYPE=LOCAL, FILE_SIZE=1024, SPACE_LIMIT=2048';
ALTER DATABASE OPEN;

上面三条语句是:有100G归档专用磁盘,告警阈值为80%,归档上线设置为80G

ps: sql语句执行以后会在数据库的实例目录下生成dmarch.ini文件

方式二、手动配置归档文件

1、修改实例目录的dm.ini文件中的ARCH_INI=0 调整成1

[root@AAAA ~]# ps -ef|grep dms
dmdba       3356       1  4 16:55 ?        00:00:01 /data/dmserver/app/bin/dmserver path=/data/dmserver/data/DAMENG/dm.ini -noconsole
root        8233    8133  0 16:56 pts/0    00:00:00 grep dms
[root@AAAA DAMENG]# cat /data/dmserver/data/DAMENG/dm.ini | grep 'ARCH_INI'
		ARCH_INI                        = 1                     #dmarch.ini

2、在数据库的实例目录下新建dmarch.ini文件

[root@AAAA DAMENG]# cat dmarch.ini
#DaMeng Database Archive Configuration file
#this is comments
 
	ARCH_WAIT_APPLY		= 0
 
[ARCHIVE_LOCAL1]
	ARCH_TYPE		= LOCAL		# Redo日志归档类型 / LOCAL本地归档
	ARCH_DEST		= /data/dmserver/dmarch		# Redo日志归档目标 / Local归档文件存放路径        
	ARCH_FILE_SIZE		= 1024		# Redo日志归档文件 单个文件大小 / 取值范围 64M - 2048M / 默认 1024M       
	ARCH_SPACE_LIMIT	= 2048		# Redo日志归档空间限制 当本地归档文件达到限制时,系统自动删除最老的归档文件 / 0 无空间限制 / 取值范围 1024M - 4294967294
	ARCH_FLUSH_BUF_SIZE	= 2
	ARCH_HANG_FLAG		= 1

3、启动数据库实例,然后验证

SQL> select name,arch_mode from v$database;
 
行号     name   arch_mode
---------- ------ ---------
1          DAMENG Y
 
已用时间: 1.827(毫秒). 执行号:501.

ARCH_MODE=N 表示归档未开启

方式三:达梦客户端开启归档

1、右击服务器,点击”管理服务器“

8418b986feb95c1b6135ac4fc7e5cff0_6a352a10ec0a4d75ab017729407aad7e.png
2、点击系统管理---->状态转换里面,选择"配置"并点击转换

2cd04fe339f6ebd2561bbdcae7606b5a_e0b174a364954947a9e446f24de80527.png

3、添加归档目录
73e27e3a037050c088c68636e1250b3f_0eeaeed1351841bb91441af4f6b583e7.png

4、将服务器配置为“打开”模式

884c693453c25db7126e6ad0cea63c0d_f67e5ba5eadc469191cc440fd3acd8cc.png

三、归档相关操作
1、归档日志切换语句

alter database archivelog current;
alter system archive log current;
alter system switch logfile;

2、关闭归档模式

ALTER DATABASE MOUNT;
ALTER DATABASE NOARCHIVELOG;
ALTER DATABASE OPEN;

242b23706432504b7c8ecadad97d941c_853376acb8f74d63b3399ea66415723e.png

3、归档日志清理

-- 删除 7 天前的归档日志
select SF_ARCHIVELOG_DELETE_BEFORE_TIME(sysdate-7);
-- 删除某个 lsn 之前的归档
select SF_ARCHIVELOG_DELETE_BEFORE_LSN(43502);

4、相关数据字典

-- 显示当前实例的所有归档日志文件信息。
V$ARCHIVED_LOG
-- 用来存放归档路径等相关归档参数信息。
V$DM_ARCH_INI
-- 查询本地归档日志信息。对DMDSC集群,除了显示本地归档外,也显示远程归档信息。
V$ARCH_FILE
-- 显示当前归档任务队列信息。
V$ARCH_QUEUE
-- 用于在主库上查询各备库的日志发送统计信息。
V$ARCH_SEND_INFO
-- 查询归档状态信息,归档状态是由主库记录和维护的,此视图只在主库上查询有效,备库上的查询结果没有实际意义。
V$ARCH_STATUS
-- 显示备份集的归档信息。
V$BACKUPSET_ARCH
-- 查询 V$BACKUPSET_SEARCH_DIRS 显示当前会话已添加的备份目录,即备份集搜索目录。若用户没有添加备份目录,那么仅显示默认的备份目录。
V$BACKUPSET_SEARCH_DIRS
评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服