达梦数据库备份和恢复
to 达梦大学
舒治洋原创,抄袭必究
数据库备份就是制作数据库的“副本”
防止数据库丢失数据
在数据丢失后重建数据库
完全备份是指一个备份包含指定数据库或表空间的所有数据
增量备份是指在一次全备份或上一次增量备份后,以后每次的备份只
需备份与前一次相比增加或者被修改的文件。
备份的方式:物理备份和逻辑备份
备份的介质:磁盘,磁带,光盘
集群:数据守护,dsc (rac)
也支持第三方的备份软件:爱数,鼎甲。
达梦数据库备份分为:物理备份和逻辑备份
物理备份又分为:热备和冷备,
数据库冷备份是将数据库关闭之后备份所有关键性文件。包括数据文件、控制文件等,将其拷贝到另外的位置。因为冷备份要备份除了重做日志以外的所有数据文件,因此也被称为完全的数据库备份。
数据库热备份是在数据库运行的情况下,采用archive log mode方式备份数据库的方法。
要求::DMAP 服务是打开的,数据库实例是关闭的。(注意:冷备要停止数据库,如果不停止会造成数据丢失)
备份方式1:用控制台工具备
在 /dm8/tool/ 下打开 ./console控制台工具
备份操作界面如下图:
如果备份时没有关闭数据库实例,就会出现报错,如下图:
脱机还原时,先还原再恢复。
备份方式2:DMRMAN 工具去备
[dmdba@localhost bin]$ cd /dm8/bin
[dmdba@localhost bin]$ ./dmrman
dmrman V8
RMAN> backup database ‘/dm8/data/DAMENG/dm.ini’;
不关闭数据库实例报错如下:
[dmdba@localhost bin]$ ./dmrman
dmrman V8
RMAN> backup database ‘/dm8/data/DAMENG/dm.ini’;
backup database ‘/dm8/data/DAMENG/dm.ini’;
file dm.key not found, use default license!
[-137]:服务器正在运行或者存在其他进程正在操作同一个库
RMAN>
要求:DMAP 服务是打开的,数据库实例是打开的,数据库是归档模式。
如何打开归档:
1、命令方式:
SQL> alter database mount;
SQL> alter database add archivelog ‘type=local,dest=/dm8/arch,file_size=64,space_limit=0’;
SQL> alter database archivelog;
SQL> alter database open;
SQL> select name,status , a r c h m o d e f r o m v ,arch_mode from v ,archmodefromvdatabase;
行号 NAME STATUS$ ARCH_MODE
1 DAMENG 4 Y
2、用管理工具
[dmdba@localhost ~]$ cd /dm8/tool/
[dmdba@localhost tool]$ ./manager
命令行方式下全备,增量备
全备
SQL> backup database full backupset ‘/dm8/backup/fullbak2’;
增量备
SQL> backup database increment backupset ‘/dm8/backup/incr_bak’;
表空间只能脱机还原,使用Dmrman
模拟表空间test 损坏:
[dmdba@localhost DAMENG]$ mv TEST01.DBF TEST01.DBF.BAK
重启实例服务,实例处于mount 状态。关闭实例服务
使用dmrman 进行还原
1、校验备份集
RMAN> check backupset ‘/dm8/backup/fullbak2’;
2、还原表空间
RMAN> restore database ‘/dm8/data/DAMENG/dm.ini’ tablespace test
from backupset ‘/dm8/backup/fullbak2’;
2、恢复表空间
RMAN> recover database ‘/dm8/data/DAMENG/dm.ini’ tablespace test;
重启实例服务
导入导出(dexp,dimp)
分四级别:分别独立,互斥不能同时存在
数据库级别
用户
模式
表级
1、逻辑导出
[dmdba@localhost bin]$ ./dexp sysdba/dameng123@localhost:5236
file=dexp01.dmp log=dexp01.log directory=/dm8/backup/dexp full=y
2、逻辑导入
[dmdba@localhost bin]$ ./dimp sysdba/SYSDBA@localhost:5239
file=/dm8/backup/dexp/dexp01.dmp
log=/dm8/backup/dexp/dimp01.log