如大家所知,网络安全越来越被重视,而在数据库方面我们不仅要在部署的时候做好相应的配置,还需要有一套容灾机制,即备份还原。下面我就分享一下在学习达梦数据库中关于备份还原的一些经验。
一、概念:
备份:数据库备份是在某个时间点做的副本,为了防止数据丢失。
备份分类:
1、按类型备份分为:物理备份和逻辑备份
物理备份:备份使用过的、有效的数据页
逻辑备份:备份数据库的对象(表、视图、索引、存储过程等)
2、按备份方式可分为:冷备和热备。
冷备:也叫脱机备份,是在数据库关闭状态下进行的备份;
热备:也叫联机备份,数据库在打开状态下进行的备份。
3、按完整性可分为:完全备份和增量备份。
完全备份:备份整个数据库或者备份整个表空间所有的数据;
增量备份:在上一次完全备份、增量备份后,以后每次只备份修改过的数据页。
还原:
恢复:
二、物理备份还原
[dmdba@192 bin]$ ./DmServicePROD stop
dmrman 工具备份方式:
[dmdba@192 bin]$ cd /dm8/bin
[dmdba@192 bin]$ ./dmrman
dmrman V8
RMAN> backup database '/dm8/data/PRO/dm.ini' backupset '/dm8/backup';
(2)热备
[dmdba@192 tool]$ ./manager
命令行方式:
alter database mount;
alter database archivelog;
alter database add archivelog 'DEST=/dm8/data/PROD/arch, TYPE=LOCAL, FILE_SIZE=64, SPACE_LIMIT=0, ARCH_FLUSH_BUF_SIZE=0';
[dmdba@192 tool]$ ./manager
点击确认备份,假如遇到“新建备份失败”,详情提示“收集到的归档日志不连续”,解决办法如下:
checkpoint(100);
或者重启数据库服务。
备份到默认路径:SQL> backup database full;
表空间备份
[dmdba@192 tool]$ ./manager
Disql方式表空间备份:
[dmdba@192 bin]$ ./disql sysdba/Dameng123@192.168.157.163:5238
备份到默认路径:
SQL> backup tablespace dmhr full;
备份到指定路径:
SQL> backup tablespace dmhr full backupset '/dm8/backup/test';
表备份:
[dmdba@192 bin]$ ./dmrman
dmrman V8
RMAN> check backupset '/dm8/backup';
check backupset '/dm8/backup';
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:00][Remaining:00:00:00]
check backupset successfully.
time used: 143.879(ms)
RMAN>
[dmdba@192 bin]$ ./DmServicePROD stop
Stopping DmServicePROD: [ OK ]
[dmdba@192 tool]$ ./console
[dmdba@192 bin]$ ./DmServicePROD start
Starting DmServicePROD: [ OK ]
查看还原后数据库状态:
[dmdba@192 tool]$ ./manager
[dmdba@192 tool]$ ./console
Dmrman方式还原:
三、逻辑备份还原
[dmdba@192 tool]$ ./manager
用命令行方式导出全库:
/dm8/bin/dexp sysdba/Dameng123@192.168.157.163:5238 DIRECTORY=/dm8/backup FILE=full.dmp FULL=Y LOG=full.log
模式级别导出
用命令行方式导出: