达梦数据库之备份与还原
概述:
软件环境:
虚拟机 :Workstation
操作系统:中标麒麟v6
达梦数据库:DM Database Server x64 V7.6.0.197-Build(2019.09.12-112648)ENT
一、物理备份
冷备(dmap服务是打开的,数据库是关闭的)
热备(dmap服务是打开的,数据库是打开的,数据库要打开归档)
逻辑备份
导入导出 (dimp dexp)
集群:数据守护,dsc(rac)
同时达梦也支持第三方的备份软件:上海爱数,鼎甲。
1、冷备份
①控制台工具:
数据库服务状态要stop停止状态
使用控制台工具进行全量备份:
需注意:
“备份集目录”需要自定义,
“备份集名称”需要自定义(命名要规范,否则会报错)
② DMRMAN工具去备份:、
数据库服务状态要stop停止状态
》》》默认生成的备份文件在实例路径内的bak文件夹内
查看备份集
自定义的备份集需要指定工作目录:
点击确定即可在控制台工具看到备份集
使用disql命令行查看备份信息:
SQL> SELECT BACKUP_NAME,BACKUP_PATH FROM V$BACKUPSET;
2、热备份:
①、数据库是打开的
②、DMAP服务是打开的。
③、数据库是归档模式。
初始化数据库实例后,归档默认都是未配置的。
打开归档:
查询数据库归档是否开启:
下面展示一些
SELECT NAME,STATUS$,ARCH_MODE FROM V$DATABASE;
配置数据库的归档
下面展示一些
SQL> alter database add archivelog 'type=local,dest=/dm7/arch,file_size=64,space_limit=0';
SQL> alter database archivelog;
将数据库改为open状态
SQL> alter database open;
看到归档模式为Y ,已打开!
图形化界面利用管理工具开归档
再次右键管理服务器点击归档配置,可以看到已是归档模式
以上步骤对归档配置已完成!
命令行方式–全量备,增量备
第一次热备需要全量备份(又称为增量备份的基备份)
SQL> backup database full backupset ‘/dm7/backup/full2/full_bak’
SQL> select checkpoint(0);
执行基于基备份的增量备份:
SQL> backup database increment backupset ‘/dm7/backup/incr_bak’
利用管理工具进行热备:
图形化界面增量备份
如果数据库在全量与下一次增量之间没有任何变动会报错:
有数据库有变更之后增量备份成功如图:
数据库还原
模拟表空间损坏 tbs2
mv tbs2_01.dbf tbs_01.dbf.bak
重启服务,数据库处于mount状态,手动open;
查看表空间状态
SELECT TABLESPACE_NAME,STATUS FROM DBA_TABLESPACES;
将TBS1从备份集恢复
RESTORE TABLESPACE TBS1 FROM BACKUPSET ‘/dm7/data/DAMENG/bak/DB_DAMENG_INCRE_2019_12_27_00_00_19’;
将已恢复的备份集改为联机状态:
SQL> alter tablespace tbs2 online;
二、逻辑备份导入导出
工具:dexp 逻辑导出 dimp 逻辑导入
这是达梦自带的工具,分为四种级别:
数据库级别,用户级,模式级和表级,四种级别独立互斥,不能同时存在,
四种级别所提供的功能:
数据库级(full):导出或导入整个数据库中的访问对象。
用户级(owner):导出或导入一个或多个用户所拥有的所有对象。
模式级(schemas):导出或导入一个或多个模式下的所有对象。
表级(table):导出或导入一个或多个指定的表或表分区。
用管理工具导出全库:
用管理工具导入全库:
导入之前已将部分用户,部分表空间删除
高度注意>>
TABLESPACE=N:设置导出的对象定义中不包含表空间。可选参数。缺省该参数为 N,不包含表空间。
因为导出的时候默认是未勾选的
关于逻辑导出导入更详细的请参考DM7_dexp 和 dimp 使用手册