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_INI和V$DM_ARCH_INI来查看归档状态和归档配置,详情查阅手册
SELECT * FROM V$DM_ARCH_INI;
SELECT * FROM V$DM_INI WHERE PARA_NAME = 'ARCH_INI';
SELECT * FROM V$ARCH_STATUS;
阅读全文
997