[达梦数据库]备份与恢复
一、脱机备份
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 工具进行,步骤与脱机备份的恢复类似。
假设场景:将上述联机全量备份恢复到一台新机器上。
-
准备环境:在目标服务器上安装相同版本的达梦数据库,并初始化一个实例(如
DMRESTORE)。关闭该实例。 -
复制文件:将备份集
/opt/dmdbms/backup/ONLINE_FULL_BAK_01和 备份开始后产生的所有归档日志 复制到目标服务器。 -
使用 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',则表示归档模式已开启。
好学若饥,谦卑若愚
浙公网安备 33010602011771号