数据库备份是 DBA 日常最重要的工作内容。备份的主要目的是数据容灾,保证数据的安全性,在数据库发生故障时,通过还原备份集,将数据恢复到可用状态。
一、基本概述
DM 数据库中的数据存储在数据库的物理数据文件中,数据文件按照页、簇和段的方式 进行管理,数据页是最小的数据存储单元。任何一个对 DM 数据库的操作,归根结底都是对 某个数据文件页的读写操作。
因此,DM 备份的本质就是从数据库文件中拷贝有效的数据页保存到备份集中,这里的 有效数据页包括数据文件的描述页和被分配使用的数据页。而在备份的过程中,如果数据库系统还在继续运行,这期间的数据库操作并不是都会立即体现到数据文件中,而是首先以日志的形式写到归档日志中,因此,为了保证用户可以通过备份集将数据恢复到备份结束时间点的状态,就需要将备份过程中产生的归档日志也保存到备份集中。
还原与恢复是备份的逆过程。还原是将备份集中的有效数据页重新写入目标数据文件的过程。恢复则是指通过重做归档日志,将数据库状态恢复到备份结束时的状态;也可以恢复 到指定时间点和指定 LSN。恢复结束以后,数据库中可能存在处于未提交状态的活动事务,这些活动事务在恢复结束后的第一次数据库系统启动时,会由 DM 数据库自动进行回滚。
备份还原与恢复:
二、备份还原原理
(一)归档技术



(二)数据备份还原
备份:
任何一个对 DM 数据库的操作,归根结底都是对某个数据文件页的读写操作。物理备份就是把这些数据文件中的有效数据页备份起来,在出现故障时,用于恢复数据。一份完整的物理备份包括数据备份和 REDO 日志备份两部分。数据备份是拷贝数据页内容,REDO 日志备份则是拷贝备份过程中产生的 REDO 日志。
还原:
还原是备份的逆过程,具体包括数据还原和数据恢复两步。数据还原的主要目的是将目 标数据库还原到备份结束时刻的状态,数据还原的主要动作是将数据页从备份集中拷贝回数 据库文件相应位置。数据恢复则是重做 REDO 日志将数据库恢复到一致性状态。
还原恢复时,若性能较差,则可以通过适当增大 dm.ini 文件中 BUFFER 的参数值或根 据当前系统主机核数适当调整 REDOS_PARALLEL_NUM 的参数值来提升还原恢复性能。其 中,BUFFER 的参数值建议为可用物理内存的 60%~80%。

三、相关实操
备份说明:
无论管理员选用哪一种备份方式,都要注意不应将备份产生的备份集与源备份库存放在同一磁盘或同一存储介质上,以避免存储介质发生硬件故障时,源备份库与备份集同时被毁坏。
注意事项:
备份与还原时,指定的备份集名称和目录名中最好不要包含中文、空格以及特殊字符,否则可能会因为字符处理及字符集问题导致一些不可预期的问题。
下面尝试使用 MANAGER 管理工具联机执行备份还原和使用 CONSOLE 控制台工具脱机执行备份还原。
首先通过MANAGER管理工具登录数据库:
右键点击库备份
弹出提示:
查看归档模式
select name,arch_mode from v$database;
开启数据库归档服务:
./DmServiceDMSERVER start
启动管理工具,查询归档状态
创建归档目录:
【这里要注意目录权限问题,如果是root用户登录管理工具,要先赋予权限才能归档成功】
开状态:
库备份:
备份成功:
表备份:
还原操作:
暂停数据库服务:
./DmServiceDMSERVER stop
打开DM 控制台工具:
./console
点击还原:
创建还原目录
备份恢复:
更多内容查看: