dmrman备份
DMRMAN 是 DM 提供的命令行工具,无需额外安装,使用 DMRMAN 工具只可对数据库进行脱机备份。
关键字 | 说明 |
---|---|
CTLFILE | 指定执行语句所在的文件路径 |
CTLSTMT | 指定待执行语句 |
DCR_INI | 指定dmdcr.ini路径;若未指定且当前目录中dmdcr.ini存在,则使用当前目录中的dmdcr.ini |
USE_AP | 指定备份、还原执行载体,1/2:DMAP/进程自身,默认是DMAP |
AP_PORT | 连接AP时用的端口号。默认是4236。可单独使用,也可与其他参数配合使用 |
HELP | 打印帮助信息 |
例如: dmrman CTLFILE=/home/dm_cmd/cmd_rman.txt cmd_rman.txt内容为BACKUP DATABASE'/opt/dmdbms/data/DAMENG/dm.ini';
默认环境配置
默认环境配置在于可以简化命令。
CONFIGURE:查看设置的默认值; CLEAR:清理参数的默认值; DEVICE TYPE:备份集存储的介质类型,DISK 或者 TAPE; BACKUPDIR:指定默认搜集备份的目录; ARCHIVEDIR:默认搜集归档的目录;
例如:CONFIGURE DEFAULT BACKUPDIR '/home/dm_bak1’,'/home/dm_bak2';
备份数据库
使用BACKUP DATABASE命令来备份数据库 例如:BACKUP DATABASE '/opt/dmdbms/data/DAMENG/dm.ini';
其他参数:
WITH BACKUPDIR:用于增量备份中,指定基备份的搜索目录。
BASE ON BACKUPSET:用于增量备份中,指定基备份集路径。
TO:指定生成备份名称。若未指定,系统随机生成,默认备份名格式为:DB_备份类型_备份时间。
BACKUPSET:指定当前备份集生成路径。
DEVICE TYPE:指存储备份集的介质类型,支持 DISK 和 TAPE。
BACKUPINFO:备份的描述信息。
MAXPIECESIZE:最大备份片文件大小上限,以 MB 为单位,最小 128MB,32 位系统最大 2GB,64 位系统最大 128GB。缺省为最大取值。
LIMIT:指定备份时最大的读写文件速度,单位为 MB/S,默认为 0,表示无速度限制。
IDENTIFIED BY:指定备份时的加密密码。
WITH ENCRYPTION:指定加密类型,取值范围 0、1、2。0 表示不加密,不对备份文件进行加密处理;1 表示简单加密,对备份文件设置口令,但文件内容仍以明文方式存储;2 表示完全数据加密,对备份文件进行完全的加密,备份文件以密文方式存储。缺省值为 1,当不指定 WITH ENCRYPTION 子句时,采用简单加密。
COMPRESSED:是否对备份数据进行压缩处理。LEVEL 表示压缩等级,取值范围 0~9:0 表示不压缩;1 表示 1 级压缩;9 表示 9 级压缩。压缩级别越高,压缩速度越慢,但压缩比越高。
WITHOUT LOG:脱机数据库备份是否备份联机日志。正常退出的库无 REDO 日志需要备份;异常退出的库会有 REDO 日志需要备份。如果使用了 WITHOUT LOG 参数,则使用 DMRMAN 工具还原时,必须指定 WITH ARCHIVEDIR 参数
WITHOUT MIRROR:脱机数据库备份是否备份镜像文件。如果使用,则表示不备份,否则表示备份。
PARALLEL:指定并行备份的并行数和拆分块大小。
备份类型:分为完全备份 FULL 和增量备份 INCREMENT 两种。缺省为 FULL。
例如:
dmrman CTLSTMT="BACKUP DATABASE '/opt/dmdata/DEM/dm.ini' full to dmdb_full_20240822one BACKUPSET '/opt/bak' BACKUPINFO '20240822第一次备份测试' COMPRESSED LEVEL 5 PARALLEL 4 "
备份整个数据库备份名为dmdb_full_20240822one,放置在/opt/bak下,备注为20240822第一次备份测试,使用5级压缩,并行4
测试结果,备份语句的参数中有自己的顺序,比如COMPRESSED要在PARALLEL前面,如果倒置COMPRESSED LEVEL 5 PARALLEL 4会报错。
备份管理
show:查看备份级的信息
BACKUPSET:查看单个备份集信息
BACKUPSETS: 批量查看备份集信息。
DATABASE:指定数据库 dm.ini 文件路径,若指定,则该数据库的默认备份目录将作为备份集搜索目录之一。
例如:show BACKUPSET '/opt/bak'
CHECK 命令对备份集进行校验
参数和show相同
例如:CHECK BACKUPSET '/opt/bak'
REMOVE 命令删除备份集。
参数和show相同
例如:REMOVE BACKUPSET '/opt/bak'
LOAD 命令导出备份集。只支持TAPE,不做过多研究。
还原数据库
使用 RESTORE 命令完成脱机还原操作。
还原的参数与备份的参数大致相同,以下是不同的常见菜单参数:
RENAME TO:指定还原数据库后是否更改库的名字,若指定该参数则将还原后的库改为指定的数据库名,默认使用备份集中的 db_name 作为还原后库的名称。
OVERWRITE:还原数据库时,存在重名的数据文件时,是否覆盖重建,不指定则默认报错。还原时指定OVERWRITE选项,所有重名的文件和非空目录均会删除重建,该过程是无法撤销的。
WITHOUT SPACE:指定还原数据库时不再为数据文件尾部未使用的数据页分配磁盘,不指定则默认分配。
AUTO EXTEND:还原数据库时设置文件自动拓展,避免指定 WITHOUT SPACE 关键字后,由于源库未设置文件自动拓展,从而导致恢复过程或从 DDL_CLONE 库还原后更新 DB_MAGIC 时存储空间不足。
例如:
RMAN>RESTORE DATABASE '/opt/dmdbms/data/DAMENG_FOR_RESTORE/dm.ini' FROM BACKUPSET '/home/dm_bak/db_full_bak_for_restore';
恢复数据库是还原的一部分,使用RECOVER命令。
参数与RESTORE命令相同
RECOVER DATABASE '/pahdata/dmdata/data/dmpah/dm.ini' FROM BACKUPSET '/pahdata/dmdata/dmbak/BACKUP_FILE/
数据库更新是指更新数据库的 DB_MAGIC,并将数据库调整为可正常工作状态,与数据库恢复一样使用 RECOVER 命令完成。
RECOVER DATABASE '/pahdata/dmdata/data/dmpah/dm.ini' UPDATE DB_MAGIC
以下是还原的三步示例:
dmrman CTLSTMT="RESTORE DATABASE '数据库实例路径/dm.ini' FROM BACKUPSET '/pahdata/dmdata/dmbak/BACKUP_FILE/'"
dmrman CTLSTMT="RECOVER DATABASE '数据库实例路径/dm.ini' FROM BACKUPSET '/pahdata/dmdata/dmbak/BACKUP_FILE/'"
dmrman CTLSTMT="RECOVER DATABASE '数据库实例路径/dm.ini' UPDATE DB_MAGIC"