目录

一、物理备份还原

1、冷备

(1)使用DM控制台工具console备份

(2)使用dmrman工具进行备份

2、热备

(1)开启归档

(2)联机备份

3、还原恢复

(1)表联机还原,需要通过执行sql语句还原

(2)DM控制台工具还原,需要关闭数据库服务

(3)dmrman工具,需要关闭数据库服务

二、逻辑备份还原

1、逻辑导出

(1)DM管理工具导出

(2)命令行导出

2、逻辑导入

(1)DM管理工具导入

(2)命令行导入

三、故障模拟

数据库的备份还原,简单来说,就是将某个时间的数据库备份起来,当数据库发生故障时,可以将数据库还原到备份时的可用的状态。

DM备份:本质就是从数据库文件中拷贝出有效的数据页保存到备份集中。

DM还原和恢复:备份的逆过程。还原是将备份集中的数据内容(数据文件、数据页、归档文件)重新写入目标数据文件的过程。恢复则是通过重做归档日志,将数据库恢复到备份结束时的状态,也可以恢复到指定的时间点和LSN。

归档和归档日志

在数据库备份过程中,如果数据库正在运行,这期间的数据库操作并不会都立即体现到数据文件中,而是首先以日志的形式写入到归档日志,因此,为了保证用户可以通过备份集将数据恢复到备份结束时间点的状态,就需要将备份过程中产生的归档日志也保存到备份集中。

DM备份和恢复过程都依赖归档日志,归档日志是保证数据一致性和完整性的重要保障。当出现介质故障,如磁盘损坏时,利用归档日志,可以将数据库系统恢复之故障发生的前一刻,也可以还原到指定的时间点。

DM备份还原中涉及到的归档包括本地归档和远程归档。

达梦数据库的备份还原分为物理备份还原和逻辑备份还原。

一、物理备份还原

物理备份:在该过程中,不关心数据页的具体内容,也不关心数据页的位置,而是直接扫描数据库文件,找出已分配和使用的数据页。

物理还原:物理备份的逆过程,通过dmrman工具或sql语句,将备份集中的数据内容重新写入目标文件。

DM备份按数据库状态可以分为脱机和联机:

脱机备份:数据库处于关闭状态时进行备份操作,即冷备。

联机备份:数据库处于运行状态,并正常提供数据库服务情况下进行备份操作,即热备。

1、冷备

可使用DM控制台工具或dmrman进行

前提条件:关闭数据库服务,开启dmap服务

(1)使用DM控制台工具console备份

指定备份集目录和备份名,执行完全备份

新建备份成功

(2)使用dmrman工具进行备份

指定备份集目录/dm8/backup

RMAN> backup database ‘/dm8/data/DAMENG/dm.ini’ backupset ‘/dm8/backup’;

2、热备

可使用DM管理工具或sql语句进行

前提条件:开启数据库服务和dmap服务,且启动dmap的用户和启动DM服务的用户必须一致,否则会导致备份失败

这里都使用dmdba用户开启

由于数据库时处于运行状态的,所以需要开启归档,前面有提到归档日志是数据一致性和完整性的重要保障。

(1)开启归档

两种方法,二选一即可

1)DM管理工开启归档

右键打开管理服务器,点击系统管理将服务器转换为配置状态,点击归档配置开启归档,配置完成后将需要服务器转换为打开状态

2)sql语句开启归档

alter database mount;

alter database archivelog;

alter database add archivelog ‘DEST=/dm8/data/DAMENG/bak, TYPE=LOCAL, FILE_SIZE=64, SPACE_LIMIT=0’;

alter database open;

查看数据库是否处于归档模式:select name,arch_mode from v$database;

(2)联机备份

1)DM管理工具备份

全库备份:manager-左侧栏备份-库备份,右键新建备份

可以指定备份集目录和备份名,可以选择备份类型,这里均为默认,默认路径/dm8/data/DAMENG/bak

此处报错,收集到的归档日志不连续

重启服务器,或运行checkpoint(100); 可解决

表备份:manager-左侧栏备份-表备份,右键新建备份

表空间备份:manager-左侧栏备份-表空间备份,右键新建备份

可以看到生成的备份文件

2)disql备份

这里分别执行了数据库备份、表空间备份、表备份

backup database full backupset ‘/dm8/bak/full’;#库备份

backup tablespace MAIN full backupset ‘/dm8/bak/tablespace’;#表空间备份

backup table EMPLOYEE backupset ‘/dm8/bak/table’;#表备份

也可备份到默认路径:SQL> backup database full; #/dm8/data/DAMENG/bak

3、还原恢复

脱机还原:数据库处于关闭时进行还原操作,通过dmrman工具或DM控制台工具进行,数据库/表空间/归档备份,可以执行脱机还原。

联机还原:数据库处于运行状态下,通过SQL语句执行还原操作,表还原可以在联机状态下进行。

注意:DM仅支持表的联机还原,其他还原操作均需在脱机状态下进行

(1)表联机还原,需要通过执行sql语句还原

(2)DM控制台工具还原,需要关闭数据库服务

指定搜索目录配置备份路径,这里配置了前面所有备份过的路径

配置完成路径后,点击获取备份,选择需要还原的文件,然后依次还原、恢复、更新魔数

这里进行库还原,需要选择还原类型

(3)dmrman工具,需要关闭数据库服务

RMAN> restore database ‘/dm8/data/DAMENG/dm.ini’ from backupset ‘/dm8/bak/full’;

RMAN> recover database ‘/dm8/data/DAMENG/dm.ini’ from backupset ‘/dm8/bak/full’;

RMAN> recover database ‘/dm8/data/DAMENG/dm.ini’ update db_magic;

二、逻辑备份还原

逻辑备份:利用manager工具或dexp导出工具,将指定对象(库级、模式级、表级)的数据导出到文件的备份方式,逻辑备份针对的是数据内容,并不关心这些数据物理存储在什么位置。

逻辑还原:物理备份的逆过程,使用dimp工具,将dexp导出的备份集重新导入到数据库中。

1、逻辑导出

创建文件mkdir /dm8/dexp

(1)DM管理工具导出

右键数据库-导出

(2)命令行导出

./dexp SYSDBA/SYSDBA directory=/dm8/dexp file=full.dmp full=y log=full.log

2、逻辑导入

(1)DM管理工具导入

右键数据库-导入,选择前面导出的文件目录

(2)命令行导入

./dimp SYSDBA/SYSDBA directory=/dm8/dexp file=full.dmp full=y log=full_dimp.log

三、故障模拟

这里进行一个简单的故障模拟

删除数据文件SYSTEM.DBF,然后重启数据库,可以看到数据库启动失败,原因是数据文件/dm8/data/DAMENG/SYSTEM.DBF不存在

接下来使用dmrman工具,依次进行数据库的还原、恢复、更新魔数

再去启动数据库,启动成功,此时数据库就恢复到了故障之前的状态