[达梦数据库]备份与恢复

一、脱机备份

1 dmrman

1.1 注意点

  • 关闭达梦服务
  • 启动DmAPService服务

1.2 执行命令

进入达梦安装目录 E:\dmdbms\bin 目录,执行 dmrman

backup database 'E:\dmdbms\data\CSS\dm.ini' to DMFULLBAK01 backupset 'E:\dmdbms\backup\full\DMFULLBAK01';
# 查看备份
SHOW BACKUPSET '/dm8/backup/full/DMFULLBAK01'
# 检查备份
check BACKUPSET '/dm8/backup/full/DMFULLBAK01'

1.3 其它

Windows乱码
  • Windows 下面 cmd 命令窗口

  • chcp 936;
    set LANG=zh_CN.GB18030
    
linux环境下,进入 dmrman 不能使用:退格、上下左右

安装 rlwrap

配置环境变量

alias dmrman='rlwrap dmrman'

2 console

执行 console -->backup and store

二、脱机恢复

联机备份的恢复必须在数据库脱机状态下,使用 dmrman 工具进行,步骤与脱机备份的恢复类似。

假设场景:将上述联机全量备份恢复到一台新机器上。

  1. 准备环境:在目标服务器上安装相同版本的达梦数据库,并初始化一个实例(如 DMRESTORE)。关闭该实例。

  2. 复制文件:将备份集 /opt/dmdbms/backup/ONLINE_FULL_BAK_01备份开始后产生的所有归档日志 复制到目标服务器。

  3. 使用 dmrman 恢复

    cd /opt/dmdbms/bin
    ./dmrman
    
    # 在 dmrman 中执行
    RMAN> RESTORE DATABASE '/dm8/data/DAMENG/dm.ini' FROM BACKUPSET '/dm8/backup/full/DMFULLBAK01';
    
    # 如果备份后还有独立的归档文件,需要指定归档目录
    # RMAN> RECOVER DATABASE '/opt/dmdbms/data/DMRESTORE/dm.ini' WITH ARCHIVEDIR '/opt/dmdbms/arch';
    
    # 关键步骤:更新数据库魔数
    RMAN> RECOVER DATABASE '/dm8/data/DAMENG/dm.ini' UPDATE DB_MAGIC;
    

三、联机备份

1 归档日志

1.1 修改数据库参数

-- 启用归档日志
-- 1.切换到 Mount 状态才能配置归档
ALTER DATABASE MOUNT;
-- 2.开启归档模式
ALTER DATABASE ARCHIVELOG;
-- 3. 配置本地归档
ALTER DATABASE ADD ARCHIVELOG 'DEST=/dm8/arch, TYPE=local, FILE_SIZE=1024, SPACE_LIMIT=10240';
-- 4. 切换回 Open 状态
ALTER DATABASE OPEN;
-- 5. 查询归档配置
select * from sys.V$DM_ARCH_INI;
-- 6.查询归档是否开启 0:没有开启 1:开启
SELECT * from sys.V$PARAMETER where NAME like 'ARCH_INI';

-- 创建专用同步用户并授权
CREATE USER SYNC_USER IDENTIFIED BY "Password123";
GRANT SELECT ANY TABLE TO SYNC_USER;
GRANT SELECT ON V_$DATABASE TO SYNC_USER;
GRANT SELECT ON V_$ARCHIVED_LOG TO SYNC_USER;
GRANT SELECT ON V_$LOG TO SYNC_USER;
GRANT SELECT ON V_$LOGFILE TO SYNC_USER;
GRANT SELECT ON V_$LOGMNR_CONTENTS TO SYNC_USER;
GRANT EXECUTE ON DBMS_LOGMNR TO SYNC_USER;

参数解释:

  • DEST = /opt/dmdbms/arch:指定归档日志文件的存放路径。请确保该路径存在且数据库用户(如 dmdba)有读写权限。
  • TYPE = local:归档类型为本地归档。
  • FILE_SIZE = 1024:每个归档文件的大小,单位为 MB。
  • SPACE_LIMIT = 204800:归档目录的空间限制,单位为 MB(这里示例是 200GB)。达到限制后,最早的归档文件会被自动删除。生产环境请根据磁盘大小合理设置。

1.2 验证归档是否开启

-- 查询归档状态
SELECT ARCH_MODE FROM V$DATABASE;

-- 查询归档配置信息
SELECT ARCH_DEST, ARCH_FILE_SIZE, ARCH_SPACE_LIMIT FROM V$DM_ARCH_INI;

如果 ARCH_MODE 值为 'Y',则表示归档模式已开启。

posted on 2025-10-05 10:38  二月无雨  阅读(97)  评论(0)    收藏  举报