1、备份还原概念
1.1 备份
-
数据库备份就是数据库在某个节点做的副本,备份是为了防止数据丢失。
-
备份分为(备份组织形式):物理备份和逻辑备份
(1)物理备份:备份的是使用过的、有效的数据页。
(2)逻辑备份:备份的是数据库的对象(表、视图、索引、存储过程等)。
-
备份分为(备份时数据库是否运行):冷备和热备
(1)冷备:也叫脱机备份,是数据库在关闭状态下进行的备份。
(2)热备:也叫联机备份,数据库在打开状态下进行的备份。
-
备份分为(备份数据的一致性):一致性备份和非一致性备份
-
备份分为(备份数据的完整性):完全备份和增量备份
(1)完全备份:备份时整个数据库或者备份整个表空间所有的数据。
(2)增量备份:在上一次完全备份、增量备份后,以后每次之备份修改过的数据页。
增量备份包括差异增量备份和累计增量备份,两者之间的区别在于基备不同。即:
累计增量备份的基础备份是全备的备份集
差异增量备份的基础备份可以是增量备份,也可以是全备
1.2 还原
还原时备份的逆向过程,通过读取备份的信息,将备份中的信息重新生成文件拷贝到数据库对应的目录下。
1.3 恢复
恢复分为:完全恢复和不完全恢复
- 完全恢复:应用所有的归档日志至数据库最新的状态
- 不完全恢复:不应用归档日志或者应用部分归档日志,没有将数据库恢复至最新的状态。
1.4 备份、还原与恢复之间的关系
1.5 备份还原实现策略
1、 DMAP 辅助进程方式,要求必须启动 DMAP 服务,可支持第三方备份。 DMAP 插件执行,改造了备份还原任务子系统,允许指定并行度,大幅提升了备份还原的效率,特别是加密、压缩的处理效率。
2、无辅助进程方式,不依赖 DMAP,由主进程 DMSERVER 自身执行备份还原,但不支持第三方备份。
2、物理备份还原
2.1 脱机备份
2.1.1 数据库备份
(1)命令行方式
通过工具dmrman进行备份
备份之前的停止数据库运行
//备份 backup database '/dm8/data/DAMENG/dm.ini' full backupset '/dm8/bakfull1';
(1)查看备份集
show backupset '/dm8/bakfull1';
(2)删除备份集
remove backupset '/dm8/BAKFULL1';
(3)检查备份集
check backupset '/dm8/bakfull1';
(2)图形化方式
图形化的脱机备份是在控制台工具中进行脱机备份
2.2 联机备份
联机备份必须开归档
2.2.1、打开归档的方式
(1)方式一:修改配置文件
修改数据库配置文件dm.ini
cat dm.ini|grep ARCH_INI
//step1:修改数据库配置参数ARCH_INI值为1 vi /dm8/data/DAMENG/dm.ini //step2:编辑归档配置文件 vi /dm8/data/DAMENG/dmarch.ini //编辑一下内容 #DaMeng Database Archive Configuration file #this is comments ARCH_WAIT_APPLY = 0 [ARCHIVE_LOCAL1] ARCH_TYPE = LOCAL ARCH_DEST = /dm8/arch ARCH_FILE_SIZE = 64 ARCH_SPACE_LIMIT = 10240 ARCH_FLUSH_BUF_SIZE = 0 ARCH_HANG_FLAG = 1
(2)方式二:SQL方式
select arch_mode from v$database; //开启归档 alter database mount; alter database ARCHIVELOG; //带参数的归档:alter database add ARCHIVELOG 'type=local,dest=/dm8/arch,file_size=64,space_limit=10240'; alter database open; select arch_mode from v$database;
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KopLzdy7-1663590984591)(C:\Users\31502\AppData\Roaming\Typora\typora-user-images\image-20220919164728088.png)]
(3)方式三:数据库管理工具(图形化)
步骤① :使数据库处于配置状态
步骤② : 设置归档配置
步骤③ :使数据库处于打开状态
2.2.2 数据库备份
(1)命令行方式
backup DATABASE; backup DATABASE full to FULLBAK01 BACKUPSET '/dm8/backup/FULLBAK01'; backup database INCREMENT to INCRBAK01 BACKUPSET '/dm8/backup/INCRBAK01'; backup database INCREMENT to INCRBAK02 BACKUPSET '/dm8/backup/INCRBAK02'; backup database INCREMENT CUMULATIVE to INCRBAK03 BACKUPSET '/dm8/backup/INCRBAK03'; backup database INCREMENT WITH BACKUPDIR '/dm8/backup/full' to INCRBAK04 BACKUPSET '/dm8/backup/INCRBAK04';
(2)图形化
2.2.3 表空间备份
(1)命令行
备份到默认路径 SQL> backup tablespace dmhr full; 备份到指定路径 SQL> backup tablespace dmhr full backupset '/dm8/backup/ts';
(2)图形化
2.2.4 表备份
(1)命令行
backup table baktab to tab backupset '/dm8/bakfull/tab';
(2)图形化
2.2.5 归档备份
(1)命令行
backup ARCHIVE ARCH ALL to arch backupset '/dm8/bakfull/arch';
(2)图形化
3、逻辑备份
达梦的逻辑导出和导入工具: dexp、 dimp,位于安装 bin 目录。 逻辑导出和导入都需要数据库启动状态下操作 。
3.1 逻辑备份还原优点
- 可以跨平台、 跨版本进行数据迁移
- 是物理备份的辅助备份
- 重组表
达梦逻辑备份还原工具:dexp/dimp
3.2 四种级别
- Full: 全库导出
- Owner: 用户级别
- Shcemas: 模式级别
- Tables: 表
3.3 逻辑导出
查看帮助手册 :
/dm8/bin [dmdba@localhost bin]$ ./dexp help [dmdba@localhost bin]$ ./dimp help
1、整库导出
Remap_schema Remap_schema=A:B 将 A 模式的数据导入 B 模式
/dm8/bin/dexp sysdba/Dameng123 DIRECTORY=/dm8/backup FILE=full.dmp FULL=Y LOG=full.log
2、用户级别导出
/dm8/bin/dexp sysdba/Dameng123 DIRECTORY=/dm8/backup FILE=SYSDBA.dmp OWNER=TEST LOG=test.log
3、模式级别导出
/dm8/bin/dexp sysdba/Dameng123 DIRECTORY=/dm8/backup FILE=dmhr.dmp SCHEMAS=DMHR LOG=dmhr.log
4、表级别导出
/dm8/bin/dexp SYSDBA/Dameng123 DIRECTORY=/dm8/backup FILE=tables.dmp TABLES=DMHR.DEPARTMENT,DMHR.EMPLOYEE LOG=tables.log
3.4 逻辑导入
例:将 DMHR 模式的数据导入到 TEST 模式
[dmdba@localhost bin]$ ./dimp sysdba/Dameng123 directory=/dm8/backup file=dmhr.dmp log=imp_dmhr.log remap_schema=DMHR:TEST
4、数据库的还原与恢复
4.1 表空间的还原与恢复
删除 TBS 表空间的数据库文件,重启数据库,数据库默认只能启动到 MOUNT 状态 ,此时需要对数据库进行还原恢复。
表空间的还原与恢复只能在源库(与备份集同库)操作。
**步骤一: DM8 的表空间还原需要在数据库关闭状态下操作 **
[dmdba@localhost TBS]$ ./DmServiceDMSERVER stop
**步骤二:还原表空间 **
[dmdba@localhost TBS]$ ./dmrman RMAN> restore database '/dm8/data/DAMENG/dm.ini' tablespace tbs from backupset '/dm8/backup/FULLBAK01';
**步骤三:恢复表空间 **
RMAN> recover database '/dm8/data/DAMENG/dm.ini' tablespace tbs;
4.2 数据库的还原与恢复
库级的还原与恢复需要数据库关闭状态下操作
RMAN> recover database '/dm8restore database ‘/dm8/data/DAMENG/dm.ini’ from backupset
‘/dm8/backup/FULLBAK01’;
步骤一:数据库还原
RMAN> recover database '/dm8restore database '/dm8/data/DAMENG/dm.ini' from backupset '/dm8/backup/FULLBAK01';
步骤二: 数据库恢复
RMAN> recover database '/dm8/data/DAMENG/dm.ini' with archivedir '/dm8/arch';
步骤三:更新魔数
RMAN> recover database '/dm8/data/DAMENG/dm.ini' update db_magic;
dm8的备份还原就先分享到这里了,更多内容请前往达梦技术社区学习!
https://eco.dameng.com/home/?source_url=https%3A%2F%2Fwww.dameng.com
二: 数据库恢复
RMAN> recover database '/dm8/data/DAMENG/dm.ini' with archivedir '/dm8/arch';
[外链图片转存中…(img-KVT2AO2H-1663590984603)]
步骤三:更新魔数
RMAN> recover database '/dm8/data/DAMENG/dm.ini' update db_magic;
dm8的备份还原就先分享到这里了,更多内容请前往达梦技术社区学习!
https://eco.dameng.com/home/?source_url=https%3A%2F%2Fwww.dameng.com