目录
一、基本概述
DM 备份的本质是从数据库文件中拷贝有效的数据页保存到备份集中,这些有效数据页包括数据文件的描述页和被分配使用的数据页。
还原与恢复是备份的逆过程。还原是将备份集中的有效数据页重新写入目标数据文件的过程。恢复则是指通过重做归档日志,将数据库状态恢复到备份结束时的状态;也可以恢复到指定时间点和指定LSN。
下面将介绍一些跟备份与还原有关的概念。
1.1表空间与数据文件
DM 数据库的表空间是一个逻辑概念,其目的主要是为了方便数据库的管理,数据库的所有对象在逻辑上都存放在某个表空间中,而物理上都存储在所属表空间的数据文件中。一个表空间由一个或多个数据文件组成。
数据文件是数据库中最重要的文件类型,是真实数据存储的地方。DM中数据文件的扩展名为.DBF,分为系统默认生成的数据文件和用户自己创建的数据文件两类。
表空间类型 | 简单介绍 |
SYSTEM | 存放了 DM 数据库全局字典信息和全局系统数据 |
ROLL | 存放 DM 数据库运行过程中产生的所有回滚记录 |
TEMP | 存放临时表数据以及数据库运行过程中产生的临时数据(不支持对TEMP 表空间备份还原) |
MAIN | MAIN 表空间为混合表空间,系统指定的用户默认表空间 |
用户自定义表空间 | 即用户通过创建表空间相关操作生成的表空间 |
1.2 重做日志
重做日志,又叫REDO日志,忠实记录了所有物理页的修改,基本信息包括操作类型、表空间号、文件号、页号、页内偏移、实际数据等。
数据库中 INSERT、DELETE、UPDATE 等 DML 操作以及 CREATE TABLE 等 DDL 操作最终都会转化为对某些数据文件、某些数据页的修改。
DM8默认的两个联机重做日志为:DAMENG01.log,DAMENG02.log。
1.3归档日志
DM 支持多种归档方式,归档日志文件以归档时间命名。系统在归档模式下运行会更安全,当出现介质故障,如磁盘 损坏导致数据文件丢失、异常时,利用归档日志,系统可以恢复至故障发生的前一刻。
在归档模式下,联机REDO日志被连续拷贝到归档日志后就生成了归档日志文件。
1.4LSN(日志序列号)
LSN 是由系统自动维护的 Bigint 类型数值,具有自动递增、全局唯一特性,每一个 LSN 值代表着 DM 系统内部产生的一个物理事务。
DM数据库中与LSN相关的信息,可以通过查询V$RLOG和V$RAPPLY_PARALLEL_INFO表来获取。
select CUR_LSN,FILE_LSN,FLUSH_LSN,CKPT_LSN FROM V$RLOG;
##CUR_LSN为系统已经分配的最大LSN值。
##FLUSH_LSN为已经发起日志刷盘请求,但还没有真正写入联机 Redo 日志文件的最大LSN值。
##FILE_LSN为已经写入联机Redo日志文件的最大LSN值。
##CKPT_LSN为检查点LSN,所有LSN<=CKPT_LSN的物理事务修改的数据页,都已经从Buffer缓冲区写入磁盘,CKPT_LSN由检查点线程负责调整。
1.5 包序号介绍
每个 RLOG_PKG(Redo 日志包)都有对应的序号属性,称之为包序号(PKG SEQNO),日志包生成时按照序号连续递增。
DM数据库中与全局包序号相关的息,可以通过查询 V$RLOG 和 V$RAPPLY_PARALLEL_INFO 表来获取。
1.6检查点
检查点的功能是按照数据页第一次被修改的顺序,依次将BUFFER 缓冲区中的脏页写入磁盘,并在这个过程中动态调整CKPT_LSN值 ,释放日志空间。
1.7备份集
备份集用来存放备份过程中产生的备份数据及备份信息。一个备份集对应了一次完整的备份。
- 备份片用来存储备份数据的文件。备份时,目标数据文件内容或归档日志内容经过处理后,都会存放到这些备份片文件中。
- 元数据文件用来存放备份信息,元数据文件的后缀为.meta。
1.8备份
备份是将待备份的数据经过处理如加密、压缩等后,写到备份片文件中,并将相关备份信息写到元数据文件中的过程。
备份的分类:
划分标准 | 备份类型 |
按备份组织形式 | 物理备份和逻辑备份 |
按数据库是否运行 | 联机备份和脱机备份 |
按备份的粒度大小 | 库备份、表空间备份、归档备份和表备份 |
按备份数据的一致性 | 一致性备份和非一致性备份 |
按备份数据的完整性 | 完全备份和增量备份 |
1.9还原
还原是把备份集中的备份数据经过处理后,写回到还原目标库中相应的数据文件中的过程。
还原回来的数据通常是处于非一致性状态,需要执行恢复操作,使得目标数据库数据一致才能对外提供服务。
还原分类:
划分标准 | 还原类型 |
按还原组织形式 | 物理还原和逻辑还原 |
按数据库是否运行 | 联机还原和脱机还原 |
按还原的粒度大小 | 库还原、表空间还原、归档还原和表还原 |
按还原数据的完整性 | 完全备份还原和增量备份还原 |
1.10恢复
恢复是重做本地归档日志或者备份集中备份的归档日志的过程。没有经过恢复的还原数据库是不允许启动的。
二、DM8备份还原的方法
2.1备份还原工具
- disql工具:用于联机数据备份与还原,包括库备份、表空间备份、表备份与还原。
- DMRMAN 工具:用于脱机数据库备份还原与恢复。
- 客户端工具 MANAGER和CONSOLE:对应命令行工具DIsql和DMRMAN的功能,分别用于联机和脱机备份还原数据。
2.2配置归档
配置归档的方式有两种:
1.联机归档配置:在数据库实例启动情况下,使用 SQL 语句完成 dmarch.ini
和 ARCH_INI
配置。
SQL语句配置本地归档的语法如下:
ALTER DATABASE <ADD|MODIFY|DELETE> ARCHIVELOG <归档配置语句>;
<归档配置语句>::= 'DEST = <归档目标>,TYPE = <归档类型>'
<归档类型>::=<local 方式>|<remote 方式>
<local 方式>::=LOCAL [,FILE_SIZE = <文件大小>]
[,SPACE_LIMIT = <空间大小限制>]
<remote 方式>::=REMOTE [,FILE_SIZE = <文件大小>]
[,SPACE_LIMIT = <空间大小限制>],INCOMING_PATH = <归档存放路径>
其配置步骤如下
alter DATABASE MOUNT ##修改数据库为Mount状态
ALTER DATABASE ADD ARCHIVELOG 'DEST = /home/dm_arch/arch, TYPE = local,FILE_SIZE = 1024, SPACE_LIMIT = 2048'; ##配置本地归档
ALTER DATABASE ARCHIVELOG; ##开启归档模式
ALTER DATABASE OPEN; ##修改数据库为Open状态
2.手动配置归档:在数据库实例未启动的情况下,手动编写 dmarch.ini
文件和设置参数 ARCH_INI。
配置步骤如下:
- 关闭数据库。
- 在 dm.ini 所在目录,创建 dmarch.ini 文件。dmarch.ini 文件内容如下:
[ARCHIVE_LOCAL1] ARCH_TYPE = LOCAL ##REDO日志归档类型,LOCAL表示本地归档,REMOTE表示远程 ARCH_DEST = /home/dm_arch/arch ##REDO日志归档目标,LOCAL对应归档文件存放路径;REMOTE对应远程目标节点实例名 ARCH_FILE_SIZE = 1024 ##单个REDO日志归档文件大小,取值范围(64M~2048M),缺省1024M,即1G ARCH_SPACE_LIMIT = 2048 ##REDO日志归档空间限制,当所有本地归档文件达到限制值时,系统自动删除最老的归档文件。0表示无空间限制,取值范围(1024M~2147483647M),缺省为0
- 编辑 dm.ini 文件,设置参数
ARCH_INI=1。
- 启动数据库实例,数据库已运行于归档模式。
注意:联机备份数据库必须要配置归档,脱机备份数据库可配置归档也可以不配置。
2.3使用联机执行 SQL 语句进行备份还原
在该部分主要运用disql工具进行数据文件的备份还原。
2.3.1数据库备份
在设置完归档后可执行以下语句进行备份,该语句为最简单的数据库备份语句:
BACKUP DATABASE BACKUPSET 'db_bak_01';
语句执行完后会在默认的备份路径下生成名为“db_bak_01”的备份集目录,默认的备份路径为dm.ini 中 BAK_PATH 配置的路径,若未配置,则使用 SYSTEM_PATH下的 bak目录。
完全备份:
数据库完全备份中包含了指定库的全部有效数据页,为了保证数据安全应该对数据库定期执行完全备份。
步骤如下:
- 配置归档
- 保证数据库处于open状态
- DIsql 中输入备份数据库语句:
SQL>BACKUP DATABASE FULL BACKUPSET '/home/dm_bak/db_full_bak_01'; ####该语句为最简单的完全备份语句。
备份语句中的参数 FULL 可以省略,不指定备份类型会默认指定备份类型为完全备份。
增量备份:
增量备份指基于指定的库(或者表空间)的某个备份(完全备份或者增量备份),备份自该备份以来所有发生修改的数据页。
步骤如下:
- 配置归档;
- 保证数据库处于 OPEN 状态;
- DIsql 中输入备份数据库语句:
SQL>BACKUP DATABASE INCREMENT WITH BACKUPDIR '/home/dm_bak' BACKUPSET ##该语句为最简单的增量备份语句
2.3.2表空间备份
最简单的表空间备份:
SQL>BACKUP TABLESPACE MAIN BACKUPSET 'ts_bak_01'; ##备份集“ts_bak_01”会生成到默认的备份路径下。
指定基备份目录
以增量备份用户 MAIN 表空间为例,指定 BASE ON BACKUPSET 参数执行增量备份:
SQL>BACKUP TABLESPACE MAIN INCREMENT BASE ON BACKUPSET'ts_full_bak_01' BACKUPSET 'ts_increment_bak_02';
增量备份 ts_increment_bak_02 若不指定备份集 ts_full_bak_01 作为基备份,那么默认会使用最近一次的备份集 ts_increment_bak_01 作为基备份。
完全备份(FULL参数可省略,默认为完全备份)
SQL> BACKUP TABLESPACE MAIN FULL BACKUPSET '/home/dm_bak/ts_full_bak_01';
增量备份
SQL> BACKUP TABLESPACE MAIN INCREMENT WITH BACKUPDIR '/home/dm_bak' BACKUPSET '/home/dm_bak/ts_increment_bak_02';
注意:备机状态/MOUNT状态/MPP和RAC环境均不允许表空间备份。
2.3.3表备份
表备份均为联机完全备份,不需要备份归档日志,不存在增量备份之 说。当数据库中某张表比较重要而又没必要备份整个数据库或表空间时就可以选择表备份。
备份表不需要服务器配置归档,DIsql 中输入以下即可备份用户表:
SQL>BACKUP TABLE TAB_01 BACKUPSET 'tab_bak_01'; ##备份集“tab_bak_01”会生成到默认的备份路径下。
2.3.4归档备份
归档备份的前提:
- 归档文件的 db_magic、permanent_magic 值和库的db_magic、permanent_magic值必须 一样;
- 服务器必须配置归档;
- 归档日志必须连续;
备份归档语句:
SQL>BACKUP ARCHIVE LOG ALL BACKUPSET 'arch_bak_01'; ##备份集“arch_bak_01”会生成到默认的备份路径下
2.3.5数据备份高级主题
加密备份:
备份语句中通过指定 IDENTIFIED BY...WITH ENCRYPTION...ENCRYPT WITH... 执行加密备份。
IDENTIFIED BY 子句指定加密密码;WITH ENCRYPTION 子句指定加密类型;ENCRYPT WITH 子句指定加密算法。
SQL>BACKUP DATABASE BACKUPSET '/home/dm_bak/db_bak_for_encrypt' IDENTIFIED BY "cdb546789" ENCRYPT WITH RC4;
加密备份过程中 IDENTIFIED BY 子句必须指定,子句WITH ENCRYPTION 和子句ENCRYPT WITH 可不指定,此时 WITH ENCRYPTION 默认值为1,ENCRYPT WITH默认值为AES256_CFB。
设置跟踪日志文件
与生成跟踪日志文件相关的参数有两个:TRACE FILE 和 TRACE LEVEL。
SQL>BACKUP DATABASE BACKUPSET '/home/dm_bak/db_bak_for_trac_01' TRACE FILE'/home/dm_log/db_bak_trace.log' TRACE LEVEL 2;
TRACE FILE 用于指定生成的跟踪日志文件路径,TRACE LEVEL 表示是否启用 TRACE。TRACE LEVEL 有效值包括 1 和 2。1 表示不启用 TRACE 功能,2 表示启用,系统默认值为 1。
2.3.6管理备份
管理备份一个重要的目的是删除不再需要的备份,DM没有提供自动删除过期备份的功能,删除备份需要手动执行。
备份管理相关系统过程与函数总结如下:
函数名称 | 功能 |
SF_RMAN_ADD_BACKUP_DIR | 添加备份目录 |
SF_RMAN_REMOVE_BACKUP_DIR | 指定删除内存中的备份目录 |
SF_RMAN_REMOVE_BACKUP_DIR_ALL | 删除内存中全部的备份目录 |
SF_RMAN_BAKSET_CHECK | 校验指定的备份文件 |
SF_RMAN_BAKSET_REMOVE | 删除指定的备份集 |
SP_RMAN_BATCH_DEL_DB_BAKSET | 批量删除数据库备份集 |
SP_RMAN_BATCH_DEL_TS_BAKSET | 批量删除表空间备份集 |
SP_RMAN_BATCH_DEL_TAB_BAKSET | 批量删除表备份集 |
备份管理相关动态视图总结如下:
动态视图名称 | 功能 |
V$BACKUPSET | 显示备份集基本信息 |
V$BACKUPSET_DBINFO | 显示备份集的数据库相关信息 |
V$BACKUPSET_DBF | 显示备份集中数据文件的相关信息 |
V$BACKUPSET_ARCH | 显示备份集的归档信息 |
V$BACKUPSET_RLOG | 显示备份集的日志信息 |
V$BACKUPSET_BKP | 显示备份集的备份片信息 |
V$BACKUPSET_SEARCH_DIRS | 显示备份集搜索目录 |
V$BACKUPSET_TABLE | 显示表备份集中备份表信息 |
V$BACKUPSET_INDEX | 显示表备份集中备份索引信息 |
V$BACKUPSET_SUBS | 显示并行备份中生成的子备份集信息 |
2.3.7数据还原还原
表空间还原:
- 系统处于OPEN状态下
- 不需配置归档
- 表还原是联机完全备 份还原,因此还原后不需要恢复
表备份还原步骤如下:
1.保证数据库为 OPEN 状态;
2.创建待备份的表;
SQL>CREATE TABLE TAB_FOR_RES_01(C1 INT);
3.备份表数据;
SQL>BACKUP TABLE TAB_FOR_RES_01 BACKUPSET '/home/dm_bak/tab_bak_for_res_01';
4.校验备份,此步骤为可选;
SQL>SELECT SF_BAKSET_CHECK('DISK','/home/dm_bak/tab_bak_for_res_01');
5.还原表数据
SQL>RESTORE TABLE TAB_FOR_RES_01 FROM BACKUPSET '/home/dm_bak/tab_bak_for_res_01';
2.4使用DMRMAN工具进行备份还原
DMRMAN(DM RECOVERY MANEGER)是DM8的脱机备份还原管理工具,由它来统一 负责库级脱机备份、脱机还原、数据库恢复等相关操作。
安装 DM 数据库后,DMRMAN 可执行程序与数据库其他可执行程序一样位于安装路径的执行码目录下。
2.4.1备份数据库
使用 DMRMAN 脱机备份数据库需要关闭数据库实例。若是正常退出的数据库,则脱机备份前不需要配置归档;若是故障退出的数据库,则备份前,需先进行归档修复。
最简单的脱机备份语句:
RMAN>BACKUP DATABASE '/opt/dmdbms/data/DAMENG/dm.ini';
命令执行完后会在默认的备份路径下生成备份集目录,默认的备份路径为 dm.ini 中 BAK_PATH 的配置值,若未配置,则为 SYSTEM_PATH 下的 bak 目录。
完全备份:
命令中的 FULL 参数表示执行的备份为完全备份,也可以不指定该参数,DMRMAN 默认执行的备份类型为完全备份。
RMAN>BACKUP DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' FULL BACKUPSET '/home/dm_bak/db_full_bak_01';
增量备份:
命令中的 INCREMENT 参数表示执行的备份为增量备份,增量备份时该参数不可省略。
RMAN>BACKUP DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' INCREMENT WITH BACKUPDIR '/home/dm_bak'BACKUPSET '/home/dm_bak/db_increment_bak_02';
2.4.2备份归档
使用 DMRMAN 备份归档需要设置归档,否则会报错。最简单的备份归档语句如下:
RMAN>BACKUP ARCHIVE LOG DATABASE '/opt/dmdbms/data/DAMENG/dm.ini';
命令执行完后会在默认的备份路径下生成备份集目录,默认的备份路径为 dm.ini 中 BAK_PATH 的配置值,若未配置,则使用 SYSTEM_PATH 下的 bak 目录。
创建归档备份语句如下:
RMAN>BACKUP ARCHIVE LOG ALL DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' BACKUPSET '/home/dm_bak/arch_all_bak_01';
命令中的 ALL 参数表示执行的备份为备份所有的归档,也可以不指定该参数,DMRMAN默认执行的备份类型为 ALL 类型归档备份。
创建设置条件的归档备份语句如下:
RMAN>BACKUP ARCHIVE LOG LSN BETWEEN 50000 AND 120000 DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' BACKUPSET '/home/dm_bak/arch_lsn_bak_02';
命令中的 LSN BETEEWN start AND end 表示备份 LSN 值在 start 与 end 之间的归档,也可以设置 FROM LSN(TIME)或 UNTIL LSN(TIME)。
2.4.3数据备份高级主题
与DIsql不同:DMRMAN不可在备份时指定参数生成跟踪文件,只能使用CONFIGURE命令进行事先配置。
加密备份语句如下:
RMAN>BACKUP DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' BACKUPSET '/home/dm_bak/db_bak_for_encrypt_04' IDENTIFIED BY "cdb546" WITH ENCRYPTION 2 ENCRYPT WITH RC4;
上述语句为数据库进行完全备份,创建加密密码为“cdb546” ,加密算法为 “rc4” 。
跟踪日志文件:
DMRMAN不可在备份时指定参数生成跟踪文件,只能使用CONFIGURE命令进行事先配置。
步骤如下:
1.保证数据库处于关闭状态;
2.使用 CONFIGURE 命令配置生成跟踪日志文件:
RMAN>CONFIGURE DEFAULT TRACE FILE '/home/dm_trace/trace.log' TRACE LEVEL 2;
3.备份数据库。启动 DMRMAN 工具输入以下命令:
RMAN>BACKUP DATABASE '/opt/dmdbms/data/DAMENG/dm.ini' BACKUPSET '/home/dm_bak/db_bak_for_trace_01' ;
2.4.4管理备份
查看备份集信息:
RMAN> show backupset '/home/test/yy/dm_bak/db_full_bak_01' ##查看某个单个备份集信息
RMAN>SHOW BACKUPSETS WITH BACKUPDIR '/home/dm_bak1','/home/dm_bak2'; ##查看多个备份集信息
校验特定备份集:
CHECK BACKUPSET '<备份集目录>' [DEVICE TYPE <介质类型> [PARMS '<介质参数>']][DATABASE '<INI_PATH>'];
- BACKUPSET:指定目标校验备份集目录。
- DEVICE TYPE:指存储备份集的介质类型,支持 DISK 和 TAPE,默认 DISK。
- DATABASE:数据库 dm.ini 文件路径,若指定,则该数据库的默认备份目录将作为备份集搜索目录之一。
删除所有备份集:
REMOVE BACKUPSET '/home/dm_bak/db_bak_for_remove_01';
批量删除指定时间之前的备份集
RMAN>REMOVE BACKUPSETS WITH BACKUPDIR '/home/dm_bak' UNTIL TIME '2019-6-1 00:00:00';
##删除2019年6月1日前7天/home/dm_bak 目录下的所有备份
2.4.5数据库还原及备份
通过 RESTORE 命令还原后的数据库不可用,需进一步执行 RECOVER 命令,将数据库恢复到备份结束时的状态。
使用 DMRMAN 执行数据库还原操作如下:
1.联机备份数据库,保证数据库运行在归档模式及 OPEN 状态;
SQL>BACKUP DATABASE BACKUPSET '/home/dm_bak/db_full_bak_for_restore';
2.准备目标库
./dminit path=/opt/dmdbms/data db_name=DAMENG_FOR_RESTORE
3.校验备份,校验待还原备份集的合法性
RMAN>CHECK BACKUPSET '/home/dm_bak/db_full_bak_for_restore';
4.还原数据库
RMAN>RESTORE DATABASE '/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini' FROM BACKUPSET '/home/dm_bak/db_full_bak_for_restore';
2.4.6数据库恢复
从数据库恢复分忧从备份集恢复和从归档恢复两类。
从备份集恢复数据库:
RMAN>RECOVER DATABASE '/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini' FROM BACKUPSET '/home/dm_bak/db_full_bak_for_recover_backupset';
从归档恢复:
RMAN>SHOW BACKUPSET '/home/dm_bak/db_full_bak_for_recover_arch' INFO DB;##查看备份集的数据库信息,获取源库的DB_MAGIC
RMAN>RECOVER DATABASE '/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini' WITH ARCHIVEDIR'/home/dm_arch/arch' USE DB_MAGIC 1447060265; ##利用归档恢复数据库
不论是那类进行数据库恢复,都必须进行数据库更新:
RMAN>RECOVER DATABASE '/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini' UPDATE DB_MAGIC; ##更新数据库
2.5使用图形化客户端进行备份还原
DM 数据库提供几种类型的图形化客户端管理工具。在 WINDOWS 的 DM 数据库系统,可以通过选择“开始”->“程序”->“达梦数据库”,然后选择具体的客户端工具。
有关工具有:
MANAGER 管理工具:与数据库进行交互,操作数据库对象和从数据库获取信息;
CONSOLE控制台工具:可以完成数据库的配置与监控;
MANAGER 管理工具可以联机执行备份还原;CONSOLE控制台工具可以脱机执行备份还原。
具体的操作步骤可以参考该文档的内容:
三、实操练习
本次备份还原的实操主要采用的是SQL语句的方式进行北方你还原。
3.1开启数据库归档
查看归档目录:
1.以SQL方式进行归档:
alter database mount;
alter database add archivelog 'dest=/home/dmdba/dmdata/DAMENG/dmarch,TYPE=local,FILE_SIZE=2048,SPACE_LIMIT=102400';
alter database archivelog;
alter database open;
2.编辑配置文件方式开启归档
首先修改 dm.ini 文件的 arch_ini 参数为 1
cd /home/dmdba/dmdata/DAMENG/
vi dm.ini
然后在 dm.ini 文件目录新建 dmarch.ini 文件,在以下文件中加入以下内容:
ARCH_WAIT_APPLY = 1
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /home/dmdba/dmdata/DAMENG/dmarch
ARCH_FILE_SIZE = 64
ARCH_SPACE_LIMIT = 0
重启数据库即可开启归档模式。
注意配置 ARCH_SPACE_LIMIT 参数,为 0 是不限制归档大小,其它数值为限制归档量大小,单位是 MB。
3.2通过 SQL 创建 job 备份数据库
call SP_CREATE_JOB('bakall_delall',1,0,'',0,0,'',0,'每天 23:00 全量备份、删除 30 天前的全量备份');
call SP_JOB_CONFIG_START('bakall_delall');
call SP_JOB_SET_EP_SEQNO('bakall_delall', 0);
call SP_ADD_JOB_STEP('bakall_delall', 'bakall', 6, '01020000/home/dmdba/dmdata/DAMENG/bak',3, 1, 0, 0, NULL, 0);
call SP_ADD_JOB_STEP('bakall_delall', 'delall', 0,'SF_BAKSET_BACKUP_DIR_ADD(''DISK'',''/home/dmdba/dmdata/DAMENG/bak'');
call SP_DB_BAKSET_REMOVE_BATCH(''DISK'',SYSDATE-30);', 1, 1, 0, 0, NULL, 0);
call SP_ADD_JOB_SCHEDULE('bakall_delall', 'bakall_delall_time01', 1, 1, 1, 0, 0,'23:00:00', NULL, '2019-01-01 01:01:01', NULL, '');
call SP_JOB_CONFIG_COMMIT('bakall_delall');
查看作业信息,观察是否执行正常:
3.3数据还原
3.3.1停库
DmServicedmserver stop
3.3.2通过/tool目录进入console控制台
按顺序执行还原、恢复和更新三个步骤。
1.还原数据库
常规选项页面可配置库还原常规参数信息,具体如下:
- 备份集目录:指定用于还原目标数据库的备份集路径。若指定为相对路径,会在默认备份目录下搜索备份集。
- INI 路径:使用指定还原目标库的 dm.ini 文件路径的方式还原。
- 库目录:使用指定还原目标库的数据文件所在目录的方式还原。
2.恢复数据库
选择刚刚进行还原的备份集,选择相同的备份集进行恢复
3.更新DB_Magic
4.重新启动数据库
DmServicedmserver start
disql SYSDBA/SYSDBA@localhost:5236
5.查看还原之后的数据
select file_name,status,tablespace_name from dba_data_files;
达梦在线服务平台连接:达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台 (dameng.com)
总结:本文介绍了DM数据库备份与还原的知识原理及还原方法,并进行了实操练习。如有错误欢迎指出。