一、归档日志文件概述:
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、右击服务器,点击”管理服务器“
2、点击系统管理---->状态转换里面,选择"配置"并点击转换
3、添加归档目录
4、将服务器配置为“打开”模式
三、归档相关操作
1、归档日志切换语句
alter database archivelog current;
alter system archive log current;
alter system switch logfile;
2、关闭归档模式
ALTER DATABASE MOUNT;
ALTER DATABASE NOARCHIVELOG;
ALTER DATABASE OPEN;
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
文章
阅读量
获赞