数据库还原之指定映射路径还原

Posted yangeoooo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库还原之指定映射路径还原相关的知识,希望对你有一定的参考价值。

数据库还原后的数据文件默认生成到还原目标库的路径下,如果用户想生成数据文件到特定的路径,就需要指定映射文件参数来实现。

映射文件(MAPPED FILE)用于指定存放还原目标路径,即备份集里面的数据文件的路径,可以手动修改自动生成的映射文件。当参数 BACKUPSET 和 MAPPED FILE 指定的路径不一致时,以 MAPPED FILE 中指定的路径为主。映射文件可用于库级脱机还原和表空间还原,使用 DUMP 命令可以将指定备份集还原目标信息生成到目标映射文件中,该文件可被重新编辑后,用于数据库的还原过程。

本章内容已在如下环境上测试:
①操作系统:中标麒麟7;
②数据库版本:达梦8;
相关关键字:数据库还原、映射路径还原

01

指定映射路径还原步骤

下面以整库还原为例说明使用映射路径还原的具体步骤。

1、关闭数据库,启动 RMAN,脱机备份数据库

[dmdba@localhost bin] . / D m S e r v i c e G Z s t o p [ d m d b a @ l o c a l h o s t b i n ] ./DmServiceGZ stop [dmdba@localhost bin] ./DmServiceGZstop[dmdba@localhostbin]./dmrman
BACKUP DATABASE ‘/dameng/data/GZ/dm.ini’ BACKUPSET ‘/dameng/data/GZ/bak/db_bak_for_map_01’;
2、生成映射文件 map_file_01.txt 至/home/dm_mapfile 目录。

此处指定生成映射文件中的数据文件路径与数据库/dameng/data2/DAMENG/ 中的数据文件一致。若不指定,与备份集中的源数据库的数据文件路径一致。

DUMP BACKUPSET ‘/dameng/data/GZ/bak/db_bak_for_map_01’ DATABASE ‘/dameng/data2/DAMENG/dm.ini’ MAPPED FILE ‘/dameng/map_file_02.txt’;
生成的映射文件内容如下:

//
/
Delete the unnecessary modified groups /
/
Modify the data_path or mirror_path only in one group /
/
/
/
=/
/[DAMENG_SYSTEM_FIL_0]/
fil_id = 0
ts_id = 0
ts_name = SYSTEM
data_path = /dameng/data/DAMENG/SYSTEM.DBF
mirror_path =
/
=/
/[DAMENG_ROLL_FIL_0]/
fil_id = 0
ts_id = 1
ts_name = ROLL
data_path = /dameng/data/DAMENG/ROLL.DBF
mirror_path =
/
=============================================================/
/[DAMENG_MAIN_FIL_0]/
fil_id = 0
ts_id = 4
ts_name = MAIN
data_path = /dameng/data/DAMENG/MAIN.DBF
mirror_path =
/
*************************** END ****************************/
如果需要恢复数据文件或镜像文件到指定路径,可手动编辑映射文件中表空间对应的data_path 属性。例如,要还原 MAIN 表空间中的数据文件 MAIN.DBF 到/home/dm_dbf路径下,修改组 DAMENG_MAIN_FIL_0 的内容如下:

/[DAMENG_MAIN_FIL_0]/
fil_id = 0
ts_id = 4
ts_name = MAIN
data_path = /home/dm_dbf/MAIN.DBF
3、指定映射文件还原。还原前可选择对备份文件进行校验。

这里为了把三个表空间映射到三个地方故把map_file_01.txt中的data_path 分别改为如下路径:

data_path = /dameng/data3/DAMENG/SYSTEM.DBF
data_path = /dameng/data4/DAMENG/ROLL.DBF
data_path = /dameng/data5/DAMENG/MAIN.DBF
4、数据库还原并更新db_magice。

RESTORE DATABASE ‘/dameng/data2/DAMENG/dm.ini’ FROM BACKUPSET ‘/dameng/data/GZ/bak/db_bak_for_map_01’ MAPPED FILE ‘/dameng/map_file_01.txt’;
RECOVER DATABASE ‘/dameng/data2/DAMENG/dm.ini’ UPDATE DB_MAGIC;

以上是关于数据库还原之指定映射路径还原的主要内容,如果未能解决你的问题,请参考以下文章

SQL数据库如何还原

Linux怎么备份与还原

mongodb备份还原

sqlserver怎么还原备份数据

DBA绝招之数据库闪回技术

还原数据库总提示目录查找失败系统错误3,找不到路径