数据库备份还原的作用是防止误操作、天灾、设备故障、软件故障导致的数据丢失,保障数据的安全可用,本文就常用的备份恢复进行讲解。
达梦数据库备份包括有:逻辑备份、物理备份、联机备份、脱机备份、数据备份、归档日志备份、
一致性备份、非一致性备份、
完全备份、增量备份等。还原是备份的逆过程,从备份集中读取数据页,并将数据页写入到目标数据库对应数据文件相应位置。恢复则是在还原执行结束后,重做日志将数据库恢复到一致性状态,并执行更新DB_MAGIC。还原结束后,必须经过恢复操作,数据库才允许启动。还原包括:
逻辑还原、物理还原、联机还原、脱机还原、数据还原、归档日志还原、完全还原、增量还原。
逻辑导出(dexp)和逻辑导入(dimp)是达梦数据库的两个命令行工具,分别用来实现对达梦数据库的逻辑备份和逻辑还原,逻辑备份和逻辑还原都是在联机方式下完成。逻辑导出和逻辑导入数据库对象分为四种级别,四种级别独立互斥,不能同时存在。
数据库级:导出或导入整个数据库中的所有对象。
用户级:导出或导入一个或多个用户所拥有的所有对象。
模式级:导出或导入一个或多个模式下的所有对象。一般情况下, 用户级与模式级导入导出是相同的。但是用户可以包含多个模式,在这种情况下模式级的导入导出是用户级导入导出的一个子集。
表级:导出或导入一个或多个指定的表或表分区。
物理备份直接扫描数据库文件,找出那些已经分配、使用的数据页,拷贝并保存到备份集中,达梦数据库物理备份分为冷备和热备。物理还原是物理备份的逆过程,物理还原一般通过DMRMAN工具(或者SQL语句),把备份集中的数据内容重新拷贝、写入目标文件。
冷备份在数据库已经正常关闭的情况下,提供一个完整的数据库,将关键性文件拷贝到另外位置。冷备优点:
1.
非常快速的备份方法。
2.
容易归档。
3.
容易恢复到某个时间点上。
4.
能与归档方法相结合,做数据库“最新状态”的恢复。
5.
低度维护,高度安全。
冷备缺点:
1.
单独使用时,只能提供到“某一时间点上”的恢复。
2.
实时备份的全过程中,数据库必须关闭,只能做备份工作。
3.
若磁盘空间有限,只能拷贝到磁带等其它外部存储设备上,速度会很慢。
4.
不能按表或者用户恢复。
冷备份必须拷贝的文件:
1.
所有数据文件。
2.
所有控制文件。
3.
所有联机重做日志文件。
热备是在数据库运行的情况下,在archivelog方式下操作,联机备份只能在数据库不适用或使用率低的情况下进行,且需要大量的空间。
热备的优点:
1.
可以在表空间或者数据文件级备份,备份时间短。
2.
备份时数据库仍可用。
3.
可达到秒级恢复(恢复到某一时间点上)。
4.
恢复是快速的,在大多数情况下在数据库仍工作时恢复。
热备的缺点:
1.
不能出错,否则后果严重。
2.
若联机备份不成功,所得结果不可与时间点的恢复。
3.
维护困难,所以要特别仔细小心。
使用DMRMAN进行脱机备份与还原:
备份:
1.
保证数据库处于脱机状态,在bin目录下启动dmservice。
2.
进入dmrman所在路径,启动程序。
3.
在dmrman中输入命令进行全库备份,备份到相应目录。
4.
可酌情进行增量备份。
还原:
1.
校验备份
2.
还原数据库
3.
恢复数据库
4.
更新magic
如果我们是做的全库的逻辑备份,我们以来这个备份文件是可以直接恢复某一张表的;物理备份就不行,物理备份是针对整个库的,恢复的也只能是整个库,无法从备份中,只恢复某一张表。所以,如果我们是找备份里的某一张表的数据的话,我们可以从逻辑备份的备份文件中,直接恢复出哪一张表。而如果是物理备份的话,我们需要找到同等大小的空间的机器,先恢复整个数据库,在再刚恢复的数据库找那张表,整个操作流程非常“笨重”。 物理备份的基础上,设置合理规模的逻辑备份,在部分场景下,可以给我们节约非常大的工作量。