DMRMAN 概述
DMRMAN 是 DM 提供的命令行工具,无需额外安装。DMRMAN 的结构比较复杂,为了更好地使用它我们需要了解它的结构。接下来将对 DMRMAN 的重要组成部分进行介绍。
源库
源库是待备份的数据库。使用 DMRMAN 工具只可对数据库进行脱机备份,联机备份需要通过 DIsql 工具实现。DMRMAN 可以针对整个数据库执行脱机完全备份和增量备份,数据库可以配置归档也可以不配置。
目标库
目标库是待还原的数据库,即用来做还原的库,也称为目标还原库。目标库可以是通过 dm.ini 文件指定的数据库,也可以是目标文件目录。通过 dm.ini 指定库时,dm.ini 及其配置中的 CTL_PATH 必须有效,且库必须处于关闭状态;指定文件目录时,指定目录作为 SYSTEM_PATH 处理,可以存在,也可以不存在,但必须有效。目前目标库的还原仅支持脱机还原,可通过 DMRMAN 和 CONSOLE 工具实现。
DMRMAN 客户端
DMRMAN 客户端是 DM 软件的一部分,用来执行数据库的备份还原操作。DMRMAN 客户端是一个命令行工具,命令行的好处是管理员可以编写复杂的脚本,将 DMRMAN 和操作系统的任务调度结合起来可以实现备份的自动化。
备份集
利用 DMRMAN 工具将数据库中的一个或多个数据文件、数据库信息等备份到一个称为“备份集”的逻辑结构中,备份集的格式是特定的,只能由 DMRMAN 创建和访问。一个备份集中会包含一个或多个二进制文件,该二进制文件被称为备份片。备份数据库会产生一个备份集,该备份集可能包含一个或者多个备份片。备份片的个数由数据库中数据文件的大小和文件系统对文件大小的限制共同决定。如果备份的数据文件大小超过了文件系统对文件大小的限制就会产生多个备份片。
在对数据库进行备份时可以指定备份片的大小来适应存储设备的容量。例如,一个数据库产生的数据文件的大小约为 40GB,一盘磁带的容量为 10GB,这时可以指定备份片大小为 10G,备份后备份集将包含 4 个备份片,正好使用 4 盘磁带。
3.3.2 启动和配置 DMRMAN
本节介绍如何启动命令行工具 DMRMAN 并进行交互。主要内容包括:
- 启动和退出 DMRMAN
- 输入 DMRMAN 命令
- DMRMAN 环境配置
3.3.2.1 启动和退出 DMRMAN
安装 DM 数据库后,DMRMAN 可执行程序与数据库其他可执行程序一样位于安装路径的执行码目录下。比如,LINUX 上数据库的执行码目录为/opt/dmdbms/bin,转到执行码目录直接在操作系统的命令行中输入以下命令就可启动 DMRMAN。若配置了环境变量 DM_HOME,可直接命令行执行:
./dmrman
启动后控制台中输入 exit 命令即可退出 DMRMAN 环境:
RMAN>exit
3.3.2.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';
DMRMAN 命令行设置参数执行
DMRMAN 命令行设置参数执行又可分为命令行指定脚本、命令行指定语句两种执行方式。DMRMAN 支持的参数如表 3.3.1 所示。
表3.2 DMRMAN参数
参数 | 含义 | 备注 |
---|---|---|
CTLFILE | 指定执行语句所在的文件路径,不能和 CTLSTMT 同时使用。脚本文件格式支持*.txt | 可选参数 |
CTLSTMT | 指定待执行语句,不能和 CTLFILE 同时使用。如:CTLSTMT=“BACKUP DATABASE ‘/home/dmdbms/data/DAMENG/dm.ini’” | 可选参数 |
DCR_INI | 指定 dmdcr.ini 路径,用于 ASM 存储时访问 ASM 服务;若未指定,则认为不存在 ASM 存储。可单独使用,也可与其他参数配合使用。主要用于 DMDSC 环境 | 可选参数 |
USE_AP | 指定备份还原执行策略。取值 1、2。默认为 1。 1:使用 dmap 辅助进程方式执行备份还原;执行备份还原时要求先启动 dmap 服务。 2:无辅助进程方式,由 dmserver 进程自身完成备份还原,不依赖 dmap 服务;配置成 2 的情况下,不能执行第三方备份(即指定 DEVICE TYPE 为 TAPE)。 | 可选参数 |
AP_PORT | 使用 DMAP 备份还原时 DMAP 的端口号,dmap 的监听端口,监听方配置此参数,取值范围 1024~65534,默认为 4236,发起连接端的端口在 1024-65535 之间随机分配 | 可选参数 |
HELP | 打印帮助信息 | 可选参数 |
命令行指定脚本执行,要求我们先创建一个包含 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.3.2.3 DMRMAN 环境配置
使用 CONFIGURE 命令进行 DMRMAN 的默认参数配置,配置默认的存储介质类型、跟踪日志文件、备份集搜集目录、归档日志搜集目录。
- 显示和清除现有参数的默认配置
- 配置存储介质类型:DISK 或 TAPE
- 配置跟踪日志文件
- 配置备份集搜集目录
- 配置归档日志搜集目录
语法如下:
CopyCONFIGURE |
CONFIGURE CLEAR |
CONFIGURE DEFAULT <sub_conf_stmt>
<sub_conf_stmt>::=
DEVICE [[TYPE <介质类型> [PARMS '<介质参数>']]|CLEAR] |
TRACE [[FILE '<跟踪日志文件路径>'][TRACE LEVEL <跟踪日志等级>]|CLEAR] |
BACKUPDIR [[ADD|DELETE] '<基备份搜索目录>'{,'<基备份搜索目录>' }|CLEAR] |
ARCHIVEDIR [[ADD|DELETE] '<归档日志目录>'{,'<归档日志目录>'}|CLEAR] |
OPEN FILES [<文件句柄个数> | [CLEAR]]
CONFIGURE:查看设置的默认值。
CLEAR:清理参数的默认值。
DEVICE TYPE:备份集存储的介质类型,DISK 或者 TAPE,默认 DISK,详见[1.4 介质管理层](#1.4 介质管理层)。
PARMS:介质参数,供第三方存储介质(TAPE 类型)管理使用,详见[1.4 介质管理层](#1.4 介质管理层)。
TRACE:介质存储过程中使用的跟踪日志配置,包括文件路径(TRACE FILE)和日志级别(TRACE LEVEL),其中日志级别有效值 1、2,默认为 1 表示不启用 TRACE,此时若指定了 TRACE FILE,会生成 TRACE 文件,但不写入 TRACE 信息;为 2 启用 TRACE 并在 TRACE 文件中写入 TRACE 相关内容。若用户指定,则指定的文件不能为已经存在的文件,否则报错;也不可以为 ASM 文件。
BACKUPDIR:默认搜集备份的目录,可以设置为不存在但在系统中有效的路径。
ARCHIVEDIR :默认搜集归档的目录,可以设置为不存在但在系统中有效的路径。
ADD:添加默认备份集搜索目录或归档日志目录,若已经存在,则替换原来的。
DELETE:删除指定默认备份集搜索目录或者归档日志目录。
OPEN FILES:库级还原时最大可打开的文件句柄上限,只对 HUGE 文件生效,还原过程中打开 HUGE 文件句柄超出该限制后将主动关闭 HUGE 文件。
图例:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sFWiCG88-1689946914432)(https://download.dameng.com/eco/docs/asset/pm/backup-restore/3.3.2.3%E5%9B%BE%E4%BE%8B01.jpg)]
sub_conf_stmt:
使用说明:
- 设置的参数默认值仅在此 DMRMAN 实例存活期间有效。
- DMRMAN 命令中如果指定了相同的参数,会覆盖 CONFIGURE 的默认设置。
显示和清除所有默认配置项
使用 CONFIGURE 命令就可显示 DMRMAN 配置项的当前值。示例如下:
RMAN>CONFIGURE;
THE DMRMAN DEFAULT SETTING:
DEFAULT DEVICE:
MEDIA : DISK
DEFAULT TRACE :
FILE :
LEVEL : 1
DEFAULT BACKUP DIRECTORY:
TOTAL COUNT :0
DEFAULT ARCHIVE DIRECTORY:
TOTAL COUNT :0
RMAN>CONFIGURE CLEAR;
使用 CONFIGURE DEFAULT … CLEAR 命令可恢复任意一个配置项到默认值。示例如下:
CopyRMAN>CONFIGURE DEFAULT DEVICE CLEAR;
或使用 CONFIGURE CLEAR 命令恢复所有配置项到默认值。示例如下:
CopyRMAN>CONFIGURE CLEAR;
配置存储介质类型:DISK 或 TAPE
备份时如果没指定备份介质类型参数,则会使用 CONFIGURE 中配置的默认介质类型。DMRMAN 默认配置的介质类型为 DISK,不需要特别指定。
修改介质类型默认配置的步骤如下:
- 启动 DMRMAN;
- 执行 CONFIGURE 命令查看介质类型当前的默认值;
RMAN>CONFIGURE;
- 执行 CONFIGURE DEFAULT DEVICE TYPE 修改默认值。
RMAN>CONFIGURE DEFAULT DEVICE TYPE TAPE PARMS 'command';
配置跟踪日志文件
跟踪日志文件记录了 SBT 接口的调用过程,用户通过查看日志可跟踪备份还原过程。DMRMAN 备份还原命令中不支持设置跟踪日志文件,只能用 CONFIGURE 命令配置,默认配置不记录跟踪日志。
配置跟踪日志文件步骤如下:
1)显示 TRACE 文件的默认配置;
RMAN>CONFIGURE DEFAULT TRACE;
- 配置默认 TRACE 文件;
RMAN>CONFIGURE DEFAULT TRACE FILE '/home/dm_trace/trace.log';
- 配置默认 TRACE 级别。
RMAN>CONFIGURE DEFAULT TRACE LEVEL 2;
其中,TRACE 文件和 TRACE 级别也可以同时设置:
RMAN>CONFIGURE DEFAULT TRACE FILE '/home/dm_trace/trace.log ' TRACE LEVEL 2;
配置备份集搜集目录
备份集搜索目录用于增量备份还原中搜索基备份。单个目录最大长度为 256 个字节,可配置的备份集搜索目录没有限制。如果不指定备份集搜集目录只会在库的默认备份目录和当前备份执行备份集目录的上级目录下搜索备份集。
配置备份集搜索目录步骤如下:
RMAN>CONFIGURE DEFAULT BACKUPDIR;
RMAN>CONFIGURE DEFAULT BACKUPDIR '/home/dm_bak1’,'/home/dm_bak2';
若要增加或删除部分备份集搜索目录,不需要对所有的目录重新进行配置,只要添加或删除指定的目录即可。
RMAN>CONFIGURE DEFAULT BACKUPDIR ADD '/home/dm_bak3';
RMAN>CONFIGURE DEFAULT BACKUPDIR DELETE '/home/dm_bak3';
配置归档日志搜集目录
归档日志搜索目录用于增量备份还原中搜索归档日志。单个目录最大长度为 256 个字节,可配置的归档日志搜索目录没有限制。
配置归档日志搜索目录步骤如下:
RMAN>CONFIGURE DEFAULT ARCHIVEDIR;
RMAN>CONFIGURE DEFAULT ARCHIVEDIR '/home/dm_arch1’,'/home/dm_arch2';
若要增加或删除部分归档日志搜索目录,不需要对所有的目录重新进行配置,只要添加或删除指定的目录即可。
RMAN>CONFIGURE DEFAULT ARCHIVEDIR ADD '/home/dm_arch3';
RMAN>CONFIGURE DEFAULT ARCHIVEDIR DELETE '/home/dm_arch3';
达梦数据库社区地址:https://eco.dameng.com