DMRMAN(DM RECOVERY MANEGER)是DM7的脱机备份还原管理工具,由它来统一负责库级脱机备份、脱机还原、数据库恢复等相关操作,该工具支持命令行指定参数方式和控制台交互方式执行,降低了用户的操作难度。
通过DMRMAN工具执行脱机操作过程中,仅会使用通过关键字DATABASE指定的目标库的本地归档配置信息,不会对本地归档配置文件中其他类型归档配置信息进行校验。例如:DATABASE指定目标库/opt/dmdbms/data/dm.ini,为单机环境且配置参数ARCH_INI为1,那么只会相应的读取dmarch.ini中本地归档日志信息。此时,即使dmarch.ini中配置了REALTIME、MARCH、TIMELY等其他类型的归档日志,也不会去校验dmmal.ini、dmtimer.ini等是否有效。
1. DMRMAN概述
DMRMAN是DM7提供的命令行工具,无需额外地安装。DMRMAN的结构比较复杂,为了更好地使用它我们需要了解它的结构。接下来将对DMRMAN的重要组成部分进行介绍。
源库
源库是待备份的数据库。使用DMRMAN工具只可对数据库进行脱机备份,联机备份需要通过DIsql工具实现。DMRMAN可以针对整个数据库执行脱机完全备份和增量备份,数据库可以配置归档也可以不配置。
目标库
目标库是待还原的数据库,即是用来做还原的库,也称为目标还原库。目标库可以是通过dm.ini文件指定的数据库,也可以是目标文件目录。通过dm.ini指定库时,dm.ini及其配置中的CTL_PATH必须有效,且库必须处于关闭状态;指定文件目录时,指定目录作为SYSTEM_PATH处理,可以存在,也可以不存在,但必须有效。目前目标库的还原仅支持脱机还原,可通过DMRMAN和CONSOLE工具实现。
DMRMAN客户端
DMRMAN客户端是DM7软件的一部分,用来执行目标数据库的备份和恢复操作。DMRMAN客户端是一个命令行工具,命令行的好处是管理员可以编写复杂的脚本,将DMRMAN和操作系统的任务调度结合起来可以实现备份的自动化。
备份集
利用DMRMAN工具将数据库中的一个或多个数据文件、数据库信息等备份到一个称为“备份集”的逻辑结构中,备份集的格式是特定的只能由DMRMAN创建和访问。一个备份集中会包含一个或多个二进制文件,这个二进制文件被称为备份片。备份数据库会产生一个备份集,这个备份集可能包含一个或者多个备份片。备份片的个数由数据库中数据文件的大小和文件系统对文件大小的限制共同决定。如果备份的数据文件大小超过了文件系统对文件大小的限制就会产生多个备份片。
在对数据库进行备份时可以指定备份片的大小来适应存储设备的容量。例如,一个数据库的产生的备份集大小约为40GB,一盘磁带的容量为10GB,这时可以指定备份片大小为10G,备份后备份集将包含4个备份片,正好使用4盘磁带。
2. 启动和配置DMRMAN
下面将介绍如何启动命令行工具DMRMAN并进行交互。主要内容包括:
1. 启动和退出DMRMAN
1.1 输入DMRMAN命令
1.2DMRMAN环境配置
1. 启动和退出DMRMAN
安装DM数据库后,DMRMAN可执行程序与数据库其他可执行程序一样位于安装路径的执行码目录下。比如,LINUX上数据库的执行码目录为/opt/dmdbms/bin,转到执行码目录直接在操作系统的命令行中输入以下命令就可启动DMRMAN。若配置了环境变量DM_HOME,可直接命令行执行:
./dmrman
启动后控制台中输入exit命令即可退出DMRMAN环境:
RMAN>exit
2. 输入DMRMAN命令
DMRMAN工具支持控制台输入命令、命令行设置参数两种操作方式。下面分别对这两种操作方式进行介绍。
DMRMAN控制台输入命令
当DMRMAN客户端已经启动且可以输入命令时会显示命令提示符。如下所示:
RMAN>
输入以下用于执行的DMRMAN命令:
RMAN>HELP RMAN>BACKUP DATABASE'/opt/dmdbms/data/DAMENG/dm.ini';
大多数的DMRMAN命令会设置多个参数,命令的结尾可以加分号结束,也可以不使用分号。
DMRMAN控制台还可以执行脚本。如创建一个名为cmd_file.txt的文件,文件中包含“BACKUP DATABASE’/opt/dmdbms/data/DAMENG/dm.ini’”命令,保存到/home/dm_cmd目录下,执行方式如下:
RMAN>`/home/dm_cmd/cmd_file.txt
DMRMAN是按行解析命令,如果输入一行不完整的命令执行会报错,如一条完整的命令分三行输入会导致报错:
BACKUP DATABASE '/opt/dmdbms/data/DAMENG/dm.ini';
RMAN> help help 格式: dmrman.exe KEYWORD=value 例程: dmrman.exe CTLFILE=c:\dm7data\dameng\res_ctl.txt 必选参数: 关键字 说明 ------------ ----------------------------------------------------------------- CTLFILE 指定执行语句所在的文件路径 CTLSTMT 指定待执行语句 DCR_INI 指定dmdcr.ini路径;若未指定且当前目录中dmdcr.ini存在,则使用当前目录中的dmdcr.ini。可单独使用,也可与其他参数配合使用USE_AP 指定备份、还原执行载体,1/2:DMAP/进程自身,默认是? DMAP。 HELP 打印帮助信息
DMRMAN命令行设置参数执行
DMRMAN命令行设置参数执行又可分为命令行指定脚本、命令行指定语句两种执行方式。DMRMAN支持的参数如下所示。
CTLFILE:指定执行语句所在的文件路径,不能和CTLSTMT同时使用。脚本文件格式支持*.txt
CTLSTMT:指定待执行语句,不能和CTLFILE同时使用。如:CTLSTMT=”BACKUP DATABASE ‘/home/dmdbms/data/DAMENG/dm.ini'”DCR_INI:指定dmdcr.ini路径,用于ASM存储时访问ASM服务;若未指定,则认为不存在ASM存储使用。可单独使用,也可与其他参数配合使用。主要用于DMRAC环境
USE_AP:指定备份还原执行策略。取值1、2。默认为1。
1:使用DMAP插件方式执行备份还原;执行备份还原时要求先启动DMAP服务。
2:无插件方式,由DMSERVER进程自身完成备份还原,不再依赖DMAP服务;配置成2的情况下,不能执行第三方备份(指定DEVICE TYPE为TAPE)
命令行指定脚本执行,要求我们先创建一个包含DMRMAN命令的文件,然后设置CTLFILE参数,参数后面指定文件的路径。例如,创建一个名为cmd_rman.txt的文件,保存到/home/dm_cmd目录下,文件中包含一行如下所示的DMRMAN命令:
BACKUP DATABASE'/opt/dmdbms/data/DAMENG/dm.ini';
设置CTLFILE参数启动DMRMAN工具,指定脚本文件中的命令将被执行:
./dmrman CTLFILE=/home/dm_cmd/cmd_rman.txt
命令执行完后DMRMAN工具会自动退出。
命令行执行语句执行,是DMRMAN工具设置CTLSTMT参数,参数后面执行需要执行的DMRMAN命令,使用方法如下所示:
./dmrman CTLSTMT="BACKUP DATABASE'/opt/dmdbms/data/DAMENG/dm.ini';"
CTLFILE中存在多条语句或CTLSTMT中一次输入多条语句时,每条语句都必须以分号结尾;执行单条语句,语句结尾可以加分号也可以不加。
CTLSTMT中,待执行语句外层双引号一定要加。执行完毕后工具自动退出。CTLFILE和CTLSTMT不能同时指定。若使用DMASM文件系统,可通过DCR_INI指定目标联机的ASM服务器。
3. DMRMAN环境配置
使用CONFIGURE命令进行DMRMAN的默认参数配置,配置默认的存储介质类型、备份集搜集目录、归档日志搜集目录、跟踪日志文件。
1. 显示和清除现有参数的默认配置
2. 配置存储介质类型:DISK或TAPE
3. 配置备份集搜集目录
4. 配置归档日志搜集目录
5. 配置跟踪日志文件
语法如下:
CONFIGURE | CONFIGURE CLEAR | CONFIGURE DEFAULT ::= DEVICE [[TYPE<介质类型> [PARMS <第三方参数>]]|CLEAR] | TRACE [[FILE <跟踪日志文件路径>][TRACE LEVEL <跟踪日志等级>]|CLEAR] | BACKUPDIR [[ADD|DELETE] '<基备份搜索目录>'{,'<基备份搜索目录>' }|CLEAR] | ARCHIVEDIR [[ADD|DELETE] '<归档日志目录>'{,'<归档日志目录>'} {'<归档日志目录>'{,'<归档日志目录>'} }|CLEAR]
CONFIGURE:查看设置的默认值。
CLEAR:清理参数的默认值。
DEVICE TYPE:备份集存储的介质类型,DISK或者TAPE,默认DISK。DISK表示存储备份集到磁盘,TAPE表示存储到磁带。
PARMS:介质参数,供第三方存储介质(TAPE类型)管理使用。
BACKUPDIR:默认搜集备份的目录,可以设置为不存在但是在系统中是有效的路径。
ARCHIVEDIR :默认搜集归档的目录,可以设置为不存在但是在系统中是有效的路径。
ADD:添加默认备份集搜索目录或归档日志目录,若已经存在,则替换原来的。
DELETE:删除指定默认备份集搜索目录或者归档日志目录。
TRACE:介质存储过程中使用的跟踪日志配置,包括文件路径(TRACE FILE)和日志级别(TRACE LEVEL),其中日志级别有效值(1/2,不写/写;默认为1,不写)。不支持asm类型文件。若用户指定,则指定的文件不能为已经存在的文件,否则报错;也不可以为ASM文件。
使用说明:
1. 设置的参数默认值仅在此DMRMAN实例存活期间有效。
2. DMRMAN命令中如果指定了相同的参数,会覆盖CONFIGURE的默认设置。
1.显示和清除所有默认配置项
使用CONFIGURE命令就可显示DMRMAN配置项的当前值。示例如下:
RMAN> configure configure THE DMRMAN DEFAULT SETTING: DEFAULT DEVICE: MEDIA : DISK DEFAULT TRACE : FILE : ..\log\dm_SBTTRACE_202005.log LEVEL : 1 DEFAULT BACKUP DIRECTORY: TOTAL COUNT :0 DEFAULT ARCHIVE DIRECTORY: TOTAL COUNT :0 time used: 18.563(ms)
使用CONFIGURE…CLEAR命令可恢复任意一个配置项到默认值。示例如下:
RMAN>CONFIGURE DEFAULT DEVICE CLEAR;
或使用CONFIGURE…CLEAR命令清除所有的默认配置。示例如下:
RMAN>CONFIGURE CLEAR;
2.配置存储介质类型:DISK或TAPE
备份时如果没指定备份介质类型参数,则会使用CONFIGURE中配置的默认介质类型。DMRMAN预先配置的介质类型为DISK,不需要特别指定。修改介质类型默认配置的步骤如下:
1) 启动DMRMAN。
2) 执行CONFIGURE命令查看介质类型当前的默认值。
RMAN>CONFIGURE;
3) 执行CONFIGURE DEFAULT DEVICE TYPE修改默认值。
RMAN>CONFIGURE DEFAULT DEVICE TYPE TAPE PARMS 'command';
3.配置备份集搜集目录
备份集搜索目录用于增量备份还原中搜索基备份。单个目录最大长度为256个字节,可配置的备份集搜索目录没有限制。如果不指定备份集搜集目录只会在库的默认备份目录和当前备份执行备份集目录的上级目录下搜索备份集。配置备份集搜索目录步骤如下:
RMAN>CONFIGURE DEFAULT BACKUPDIR; RMAN>CONFIGURE DEFAULT BACKUPDIR '/home/dm_bak1' ,'/home/dm_bak2';
若要增加或删除部分备份集搜索目录,不需要对所有的目录重新进行配置,只要添加或删除指定的目录即可。
RMAN> configure default backupdir; configure default backupdir; THE DMRMAN DEFAULT BACKUP DIRECTORY SETTING: DEFAULT BACKUP DIRECTORY: TOTAL COUNT :0 time used: 14.267(ms) RMAN> configure default backupdir 'E:\dmdbms\backup','E:\dmdbms\backup1'; configure default backupdir 'E:\dmdbms\backup' , 'E:\dmdbms\backup1'; configure default backupdir update successfully! DEFAULT BACKUP DIRECTORY: TOTAL COUNT :2 E:\dmdbms\backup E:\dmdbms\backup1 time used: 11.640(ms)
若要增加或删除部分备份集搜索目录,不需要对所有的目录重新进行配置,只要添加或删除指定的目录即可。
RMAN> configure default backupdir add 'E:\dmdbms\backup2'; configure default backupdir add 'E:\dmdbms\backup2'; configure default backupdir add successfully! DEFAULT BACKUP DIRECTORY: TOTAL COUNT :3 E:\dmdbms\backup E:\dmdbms\backup1 E:\dmdbms\backup2 time used: 11.426(ms) RMAN> configure default backupdir delete 'E:\dmdbms\backup2'; configure default backupdir delete 'E:\dmdbms\backup2'; configure default backupdir delete successfully! DEFAULT BACKUP DIRECTORY: TOTAL COUNT :2 E:\dmdbms\backup E:\dmdbms\backup1 time used: 11.564(ms)
4.配置归档日志搜集目录
归档日志搜索目录用于增量备份还原中搜索归档日志。单个目录最大长度为256个字节,可配置的归档日志搜索目录没有限制。配置归档日志搜索目录步骤如下:
RMAN> configure default archivedir 'E:\dmdbms\data\arch','E:\dmdbms\data\arch1'; configure default archivedir 'E:\dmdbms\data\arch' , 'E:\dmdbms\data\arch1'; configure default archivedir update successfully! DEFAULT ARCHIVE DIRECTORY: TOTAL COUNT :2 E:\dmdbms\data\arch E:\dmdbms\data\arch1 time used: 10.620(ms)
若要增加或删除部分归档日志搜索目录,不需要对所有的目录重新进行配置,只要添加或删除指定的目录即可。
RMAN> configure default archivedir add 'E:\dmdbms\data\arch2'; configure default archivedir add 'E:\dmdbms\data\arch2'; configure default archivedir add successfully! DEFAULT ARCHIVE DIRECTORY: TOTAL COUNT :3 E:\dmdbms\data\arch E:\dmdbms\data\arch1 E:\dmdbms\data\arch2 time used: 12.888(ms) RMAN> configure default archivedir delete 'E:\dmdbms\data\arch2'; configure default archivedir delete 'E:\dmdbms\data\arch2'; configure default archivedir delete successfully! DEFAULT ARCHIVE DIRECTORY: TOTAL COUNT :2 E:\dmdbms\data\arch E:\dmdbms\data\arch1 time used: 17.910(ms)
5.配置跟踪日志文件
跟踪日志文件记录了SBT接口的调用过程,用户通过查看日志可跟踪备份还原过程(见3.2.3 数据备份高级主题)。DMRMAN备份还原命令中不支持设置跟踪日志文件,只能用CONFIGURE命令配置,默认配置不记录跟踪日志。配置跟踪日志文件步骤如下:
1)显示TRACE文件的默认配置。
RMAN> configure ; configure; THE DMRMAN DEFAULT SETTING: DEFAULT DEVICE: MEDIA : DISK DEFAULT TRACE : FILE : ..\log\dm_SBTTRACE_202005.log LEVEL : 1 DEFAULT BACKUP DIRECTORY: TOTAL COUNT :2 E:\dmdbms\backup E:\dmdbms\backup1 DEFAULT ARCHIVE DIRECTORY: TOTAL COUNT :2 E:\dmdbms\data\arch E:\dmdbms\data\arch1 time used: 38.030(ms)
2) 配置默认TRACE文件。
RMAN> configure default trace file 'E:\dmdbms\log\dm_trace.log'; configure default trace file 'E:\dmdbms\log\dm_trace.log'; configure default trace successfully! time used: 2.877(ms)
3) 配置默认TRACE级别。
RMAN> configure default trace file '..\dm_SBTTRACE_202005.log' trace level 1; configure default trace file '..\dm_SBTTRACE_202005.log' trace level 1; configure default trace successfully! time used: 45.502(ms)