达梦7备份与还原的几种方法

本文详细介绍了达梦数据库的备份与恢复操作,包括整库备份、脱机备份、使用dexp和dimp工具进行部分备份和还原,以及如何设置定时作业进行定期备份。同时,还提供了备份校验、删除过期备份的方法和步骤,确保数据库的安全和高效管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、 整库备份
1、 联机备份
使用disql执行语句: BACKUP DATABASE FULL BACKUPSET ‘/dbbak/dmbak/BACKUP_FILE_01’;

在这里插入图片描述
在这里插入图片描述

2、 脱机备份
使用bin目录下的rman脚本执行语句:BACKUP DATABASE ‘/home/dmdba/dm/dmdbms/bin/dm.ini’ FULL BACKUPSET ‘/dbbak/dmbak/dbbak_full _01’;
此方法要求数据库在脱机状态

在这里插入图片描述
在这里插入图片描述

如果报7105错误,则修改dm.ini参数 BAK_USE_AP
编辑dm.ini文件修改参数为,BAK_USE_AP = 2

二、 整库还原
可以还原整个数据库包括用户表空间
还原前也要先停止数据库服务,在bin目录下执行:
./dmrman CTLSTMT=“RESTORE DATABASE ‘/home/dmdba/dm/dmdbms/bin/dm.ini’ FROM BACKUPSET ‘/dbbak/dmbak/BACKUP_FILE_01’”
BACKUP_FILE_01为之前整库备份文件,然后执行
./dmrman CTLSTMT=“Recover DATABASE ‘/home/dmdba/dm/dmdbms/bin/dm.ini’ FROM BACKUPSET ‘/dbbak/dmbak/BACKUP_FILE_01’”

三、 使用dexp和dimp工具备份和还原
设置 FULL=Y,导出整个数据库,导出数据库文件和日志文件放在路径
/mnt/data/dexp 下。
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log FULL=Y
DIRECTORY=/mnt/data/dexp

设置 OWNER=USER01,导出用户 USER01 所拥有的对象全部导出。
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log OWNER=USER01
DIRECTORY=/mnt/data/dexp

设置 SCHEMAS=USER01,导出模式 USER01 模式下的所有对象。
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log SCHEMAS=USER01
DIRECTORY=/mnt/data/dexp

设置 TABLES=table1,table2,导出 table1,table2 两张表的所有数据和
信息。
./dexp USERID=SYSDBA/SYSDBA FILE=db_str.dmp LOG=db_str.log TABLES=table1,table2
DIRECTORY=/mnt/data/dexp

加IP和端口:./dexp USERID=SYSDBA/SYSDBA@192.168.0.248:8888 ………………

导入:
设置 FULL=Y,导入整个数据库,导入的数据库文件在/mnt/data/dexp,即将
生成的日志文件放在/mnt/data/dimp。
./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log FULL=Y
DIRECTORY=/mnt/data/dimp

设置 OWNER=USER01,导入用户 USER01 所拥有的对象全部导出。导入的数据
库文件在/mnt/data/dexp,即将生成的日志文件放在/mnt/data/dimp。
./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log
OWNER=USER01 DIRECTORY=/mnt/data/dimp

设置 SCHEMAS=USER01,导入模式 USER01 模式下的所有对象。导入的数据库
文件在/mnt/data/dexp,即将生成的日志文件放在/mnt/data/dimp。
./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log
SCHEMAS=USER01 DIRECTORY=/mnt/data/dimp

设置 TABLES=table1,table2,导入 table1,table2 两张表的所有数据和
信息。导入的数据库文件在/mnt/data/dexp,即将生成的日志文件放在/mnt/data/dimp。
./dimp USERID=SYSDBA/SYSDBA FILE=/mnt/data/dexp/db_str.dmp LOG=db_str.log
TABLES=table1,table2 DIRECTORY=/mnt/data/dimp

四、 设置定时作业,按时备份数据库
1、 创建代理环境

在这里插入图片描述

2、 新建作业
在这里插入图片描述

推荐并行不要开太高,根据服务器硬件设置。

在这里插入图片描述

3、备份校验
使用如下sql,目录存在且备份合法返回1,否则报错。
SELECT SF_BAKSET_CHECK(‘DISK’,’/home/dm_bak/ db_bak_for_check’);
其中disk为备份时存储介质类型,一般为disk磁盘类型。后面为备份集目录。

4、定时删除过期备份
在作业中建立脚本,脚本内容如下:

CALL SF_BAKSET_BACKUP_DIR_ADD(‘DISK’,’/dbbak’);–在会话生效,每次必须增加备份集目录
CALL SF_BAKSET_REMOVE_BATCH (‘DISK’,now()-7,NULL,NULL);–now()为当前时间,指定删除7天前的备份
在这里插入图片描述

5、设置作业执行时间级频率

在这里插入图片描述

6全部设置完成后,点击确定即完成

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值