扫码加入

  • 正文
  • 相关推荐
申请入驻 产业图谱

好奇!用SQL配置DM数据库归档,新旧版本藏着啥秘密?

2025/03/10
997
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

1 归档介绍

归档作为实现数据守护系统的关键技术手段,在DM数据库中,依据其功能与实现方式的差异,可将归档类型细分为六类,分别是本地归档、远程归档、实时归档、即时归档、异步归档以及同步归档。

其中,本地归档有着独特的机制,其日志内容以及写入的时机与数据库的模式紧密相关。具体而言,在主库中,Redo日志会先写入联机日志文件,随后才进行本地归档操作;而在备库这边,当接收到主库产生的Redo日志后,会立即执行本地归档,并且在归档的同时启动Redo日志的重演过程,以此来确保数据的一致性与完整性。

2 案例演示

下面将通过具体的案例来演示如何在达梦数据库中使用SQL语句完成归档配置任务。

2.1.开启本地归档

数据库安装完成后,开启归档模式
创建归档日志存放路径

[dmdba@dm91 ~]$ mkdir /dm/dmarch/DEM
--查询数据库状态,默认为不开启
SQL> select name,ARCH_MODE from v$database;

行号     NAME ARCH_MODE
---------- ---- ---------
1          DEM  N

已用时间: 2.841(毫秒). 执行号:13977304.
SQL> 
  • 开启归档,语句如下:
ALTER DATABASE MOUNT;
ALTER DATABASE ADD ARCHIVELOG 'TYPE=LOCAL,DEST=/dm/dmarch/DEM,FILE_SIZE=1024,SPACE_LIMIT=20480';
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN
  • 演示过程
--将数据库状态改为mount
SQL> ALTER DATABASE MOUNT;
操作已执行
已用时间: 19.426(毫秒). 执行号:0.
SQL> ALTER DATABASE ADD ARCHIVELOG 'TYPE=LOCAL,DEST=/dm/dmarch/DEM,FILE_SIZE=1024,SPACE_LIMIT=20480';
ALTER DATABASE ADD ARCHIVELOG 'TYPE=LOCAL,DEST=/dm/dmarch/DEM,FILE_SIZE=1024,SPACE_LIMIT=20480';
第1 行附近出现错误[-810]:系统未配置归档.
已用时间: 2.113(毫秒). 执行号:0.
--先开启归档模式
SQL> ALTER DATABASE ARCHIVELOG;
操作已执行
已用时间: 43.631(毫秒). 执行号:0.
--配置归档路径、单个文件大小及空间上限
SQL> ALTER DATABASE ADD ARCHIVELOG 'TYPE=LOCAL,DEST=/dm/dmarch/DEM,FILE_SIZE=1024,SPACE_LIMIT=20480';
操作已执行
已用时间: 8.680(毫秒). 执行号:0.
--数据库状态改为open
SQL> ALTER DATABASE OPEN;
操作已执行
已用时间: 52.471(毫秒). 执行号:0.
--ARCH_MODE为Y,归档开启完成
SQL> select name,ARCH_MODE from v$database;

行号     NAME ARCH_MODE
---------- ---- ---------
1          DEM  Y

已用时间: 2.458(毫秒). 执行号:13977305.
SQL> 

注意:归档开启的方式与2023年以前的版本存在细微区别,按老版本顺序调整会提示第1 行附近出现错误[-810]:系统未配置归档。新版调整顺序如下

--老版本
ALTER DATABASE MOUNT;
ALTER DATABASE ADD ARCHIVELOG 'TYPE=LOCAL,DEST=/dm/dmarch/DEM,FILE_SIZE=1024,SPACE_LIMIT=20480';
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
--新版本
ALTER DATABASE MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE ADD ARCHIVELOG 'TYPE=LOCAL,DEST=/dm/dmarch/DEM,FILE_SIZE=1024,SPACE_LIMIT=20480';
ALTER DATABASE OPEN;

2.2.修改本地归档空间使用上限

  • 使用以下SQL调整
ALTER DATABASE MOUNT;
ALTER DATABASE MODIFY ARCHIVELOG 'TYPE=LOCAL,DEST=/dm/dmarch/DEM,FILE_SIZE=1024,SPACE_LIMIT=20481';
ALTER DATABASE OPEN;
  • 调整归档上限
SQL> ALTER DATABASE MOUNT;
操作已执行
已用时间: 7.220(毫秒). 执行号:0.
SQL> ALTER DATABASE MODIFY ARCHIVELOG 'TYPE=LOCAL,DEST=/dm/dmarch/DEM,FILE_SIZE=1024,SPACE_LIMIT=20481';
操作已执行
已用时间: 2.341(毫秒). 执行号:0.
SQL> ALTER DATABASE OPEN;
操作已执行
已用时间: 19.556(毫秒). 执行号:0.
SQL> select ARCH_NAME,ARCH_TYPE,ARCH_DEST,ARCH_FILE_SIZE,ARCH_SPACE_LIMIT,ARCH_IS_VALID from V$DM_ARCH_INI;

行号     ARCH_NAME      ARCH_TYPE ARCH_DEST      ARCH_FILE_SIZE ARCH_SPACE_LIMIT ARCH_IS_VALID
---------- -------------- --------- -------------- -------------- ---------------- -------------
1          ARCHIVE_LOCAL1 LOCAL     /dm/dmarch/DEM 1024           20481            Y

已用时间: 2.669(毫秒). 执行号:1804.
SQL> 

2.3.关闭归档

使用以下SQL关闭归档模式

--添加新路径
ALTER DATABASE MOUNT;
ALTER DATABASE NOARCHIVELOG;
ALTER DATABASE OPEN;
  • 演示如下:
SQL> select name,ARCH_MODE from v$database;

行号     NAME ARCH_MODE
---------- ---- ---------
1          DEM  Y

已用时间: 2.485(毫秒). 执行号:1805.
SQL> ALTER DATABASE MOUNT;
操作已执行
已用时间: 5.421(毫秒). 执行号:0.
SQL> ALTER DATABASE NOARCHIVELOG;
操作已执行
已用时间: 13.615(毫秒). 执行号:0.
SQL> ALTER DATABASE OPEN;
操作已执行
已用时间: 13.216(毫秒). 执行号:0.
SQL> select name,ARCH_MODE from v$database;

行号     NAME ARCH_MODE
---------- ---- ---------
1          DEM  N

已用时间: 2.766(毫秒). 执行号:1806.
SQL> 

2.4.归档相关试图

可以通过V$DM_INIV$DM_ARCH_INI来查看归档状态和归档配置,详情查阅手册

SELECT * FROM V$DM_ARCH_INI;
SELECT * FROM V$DM_INI WHERE PARA_NAME = 'ARCH_INI';
SELECT * FROM V$ARCH_STATUS;

在这里插入图片描述

相关推荐