达梦数据库的备份和还原

记录达梦数据库联机备份、脱机备份及数据还原步骤。

一、确认数据库备份参数

数据库备份需要首先关注两个参数:默认备份路径和默认备份策略,通过以下命令可以在达梦管理工具或disql中查看:

select * from SYS.V$PARAMETER t where t.name in ('BAK_PATH', 'BAK_USE_AP');

如果备份还原策略是DMAP辅助进程的方式,则要求DMAP必须启动,可以先查看DMAP服务是否启动:

ps -ef|grep dmap

如图,第一行显示为已启动,进程号为XXXX。
如果DMAP服务未启动,则先启动DMAP服务,dmdba 到安装目录的 bin 下执行以下命令:

./DmAPService start

二、联机备份

1、联机备份需要开启归档!数据库处于open状态!

可以通过达梦管理工具窗口操作的方法:

也可以通过达梦管理工具或disql中命令:

alter database mount;  --数据库设为配置状态
alter database archivelog;  --打开归档

--设定归档路径
alter database add archivelog 'TYPE=LOCAL,DEST=/dm8/data/Dameng/arch,FILE_SIZE=1024, SPACE_LIMIT=0';

ALTER DATABASE OPEN; --数据库设为打开状态

2、备份

(1)库级全量备份:

--备份至默认备份集路径,使用默认备份集名称
backup database--备份至指定备份集路径,指定备份集名称
backup database to 备份名称 backupset '指定备份路径';
--例如:
backup database to dmfullbak01 backupset '/dm8/data/Dameng/bak/dmfullbak01';

(2)库级增量备份:

--使用默认基础备份集,增量备份至默认路径,使用默认备份名称
backup database increment;
--使用指定基础备份集所在路径,会使用基础备份集路径下和默认备份集路径下的最新备份,指定备份名称和备份路径
backup database increment with backupdir '基础备份集所在路径' to 备份名称 backupset '指定备份路径';
--例如:
backup database increment with backupdir '/dm8/data/Dameng/bak/dmfullbak01' to dmincrbak01 backupset 'dm8/data/Dameng/bak/incr/dmincrbak01';

(3)表空间级全量备份:
同上,加上关键字tablespace即可。

backup tablespace dmtbs;
backup tablespace dmtbs to dmtbsbak01 backupset '/dm8/data/Dameng/bak/dmtbsbak01';
backup tablespace 表空间名 to 备份集名称 backupset '备份集所在路径';

(4)表空间级增量备份:

backup tablespace dmtbs increment;
backup tablespace dmtbs increment to dmtbsincrbak01 backupset '/dm8/data/Dameng/bak/incr/dmtbsincrbak01';
backup tablespace 表空间名 increment to 备份集名称 backupset '备份集所在路径';

(5)表级全量备份:
表只有全量备份
同上,加上关键字table即可。

backup table dmtest.sales;
backup table 模式名.表名 to 备份集名称 backupset '备份集所在路径';
backup table dmtest.sales to dmtest_sales_bak01 backupset '/dm8/data/Dameng/bak/dmtest_sales_bak01';

(6)归档备份:
若归档不连续则会报错

backup archive LOG all;

三、脱机备份

1、需要先关闭数据库:

/dm8/bin/DmServerDameng.service stop

2、脱机备份可以使用dmrman、console DM控制台工具。

打开dmrman:

#dmdba用户
cd /dm8/bin
./dmrman

dmrman命令(和联机备份命令类似):
(1)库级全量备份

backup database '库级数据文件位置' to 备份集名称 backupset '备份集路径';

backup database '/dm8/data/Dameng/dm.ini' to dmfullbak02 backupset '/dm8/data/bak/dmfullbak02';

(2)库级增量备份

backup database '库级数据文件位置' increment with backupdir '基础备份集路径' to 增量备份集名称 backupset '增量备份集路径';

backup database '/dm8/data/Dameng/dm.ini' increment with backupdir '/dm8/data/bak' to dmincrbak02 backupset '/dm8/data/bak/incr/dmincrbak02';

(3)其他dmrman命令

显示备份集信息

show backupset '备份集路径';
show backupset '/dm8/data/bak/dmfullbak02';

删除备份集

remove backupset '备份集路径';
remove backupset '/dm8/data/bak/dmfullbak02';

检查备份集路径

check backupset '备份集路径';
check backupset '/dm8/data/bak/dmfullbak02';

四、数据恢复

1、DM8的库级/全库恢复、表空间恢复,只能在数据库脱机状态下恢复;
2、表的备份与恢复,一定在数据库联机/启动状态下,因为数据库不启动,无法识别表,也无法进行表的备份与还原。

(1)表空间级恢复
在脱机状态
dmrman命令:

restore database '/dm8/data/Dameng/dm.ini' tablespace dmtbs from backupset '/dm8/data/Dameng/bak/dmtbsbak01';
--自动应用归档恢复到最新
recover database '/dm8/data/Dameng/dm.ini' tablespace dmtbs;

(2)库级恢复
在脱机状态
dmrman命令:

restore database '/dm8/data/Dameng/dm.ini' from backupset '/dm8/data/Dameng/bak/dmfullbak02';
--基于归档将数据库恢复到最新;
recover database '/dm8/data/Dameng/dm.ini' with archivedir '/dm8/data/Dameng/arch';
--更新数据库魔数
recover database '/dm8/data/Dameng/dm.ini' update db_magic;

也可以通过达梦管理工具操作:

(3)表级恢复
在数据库启动状态!
表只能恢复到备份的那一刻
dmrman命令:

--先做表结构的还原
restore table dmtest.sales struct from backupset '/dm8/data/Dameng/bak/dmtest_sales_bak01';
--再做数据的还原
restore table dmtest.sales from backupset '/dm8/data/Dameng/bak/dmtest_sales_bak01';

 1. List item

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值