暂无图片
暂无图片
3
暂无图片
暂无图片
暂无图片

达梦数据库物理备份恢复_指定数据文件还原的路径

原创 LeeWen2020 2021-05-24
844

参考文档DM8 1-1-190版本《DM8备份恢复手册》

指定数据文件还原的路径

达梦数据库默认会将数据文件还原到目标数据库目录(SYSTEM_PATH),可以通过指定映射文件可以将数据文件还原到指定路径下,也可以在目的库还原修改dm.ini中SYSTEM_PATH指定恢复的数据文件路径。

需要注意的是:

(1)修改dm.ini中SYSTEM_PATH的值只能在全库还原时使用,而且是将所有数据文件都还原到SYSTEM_PATH指定的路径下,无法用于单独的表空间还原。还原恢复步骤与正常还原恢复步骤一样,只需在恢复前修改目的库dm.ini中SYSTEM_PATH的值即可。

(2)指定映射文件的方式可用于库级和表空间的还原,可以指定一个或多个表空间数据文件的还原路径。

本次采用使用映射文件指定数据文件还原路径。

环境说明

OS:Kylin Linux Advanced Server release V10 (SP1) /(Tercel)-x86_64-Build19/20210319

DB_VERSION:DM8 1-1-190-21.04.16-137954-ENT Pack4

备份库:TEST,数据库文件路径:/data/dmdata/TEST

目的库:TEST2,数据库文件路径:/data/dmdata/TEST2

前提条件

1、dmap已正常启动运行;

2、数据库已配置归档模式;

操作步骤

表空间指定映射文件还原与数据库使用指定映射文件还原操作相同。

这里只写数据库使用映射文件指定数据文件路径进行还原恢复。

首先 备份TEST数据库

可以脱机备份也可以联机备份,这里直接使用联机备份:

SQL> backup database full backupset '/data/dmbak1'; 操作已执行 已用时间: 925.391(毫秒). 执行号:400. [dmdba@localhost dmbak1]$ pwd /data/dmbak1 [dmdba@localhost dmbak1]$ ls dmbak1_1.bak dmbak1.bak dmbak1.meta

第二步 生成映射文件

使用dmrman dump命令生成备份集的映射文件:

RMAN> dump backupset '/data/dmbak1' database '/data/dmdata/TEST2/dm.ini' mapped file '/home/dmdba/map_file_test2.txt';

image-20210511152909262

生成的映射文件内容如下:

[dmdba@localhost ~]$ cat map_file_test2.txt 
/**************************************************************/
/***  Delete the unnecessary modified groups                 **/
/***  Modify the data_path or mirror_path only in one group  **/
/**************************************************************/

/**=============================================================**/
/*[TEST_SYSTEM_FIL_0]*/
fil_id         = 0
ts_id          = 0
ts_name        = SYSTEM
data_path      = /data/dmdata/TEST2/SYSTEM.DBF
mirror_path    = 

/**=============================================================**/
/*[TEST_ROLL_FIL_0]*/
fil_id         = 0
ts_id          = 1
ts_name        = ROLL
data_path      = /data/dmdata/TEST2/ROLL.DBF
mirror_path    = 

/**=============================================================**/
/*[TEST_MAIN_FIL_0]*/
fil_id         = 0
ts_id          = 4
ts_name        = MAIN
data_path      = /data/dmdata/TEST2/MAIN.DBF
mirror_path    = 

/**=============================================================**/
/*[TEST_MAIN_FIL_1]*/    
fil_id         = 1
ts_id          = 4
ts_name        = MAIN
data_path      = /data/dmdata/TEST2/MAIN02.DBF
mirror_path    = 

/***************************** END ****************************/

查看映射文件内容很容易理解文件中相关选项的大概含义:

/*[数据库名_表空间名_FIL_数据文件ID]*/
fil_id:表空间对应的数据文件的ID(应该是对应v$datafile中的ID 或者 dba_data_files中的FILE_ID)
ts_id:表空间的ID(应该是对应v$datafile的GROUP_ID 或者 v$tablespace的ID)
ts_name:表空间的名称
data_path:表空间对应的数据文件(应该是对应v$datafile的PATH 或者是dba_data_files中的FILE_NAME)
mirror_path:表空间对应数据文件镜像文件(应该是对应v$datafile的MIRROR_PATH)

第三步 修改映射文件

根据映射文件内容说明,只需要编辑修改映射文件中对应表空间的data_path或者mirror_path修改为指定路径即可,其余不需要修改的表空间内容可以删除也可以不删除。

这里我们修改MAIN表空间的MAIN02.DBF数据文件的路径为:/data/dmdata/datafile/TEST2/MAIN02.DBF

如下:

/*[TEST_MAIN_FIL_1]*/
fil_id         = 1
ts_id          = 4
ts_name        = MAIN
data_path      = /data/dmdata/datafile/TEST2/MAIN02.DBF
mirror_path    = 

第四步 使用映射文件进行还原恢复

关闭TEST2数据库

[dmdba@localhost bin]$ ./DmServiceTEST2 stop
Stopping DmServiceTEST2:                                   [ OK ]

使用DMRMAN进行脱机还原恢复

RMAN> restore database '/data/dmdata/TEST2/dm.ini' from backupset '/data/dmbak1' mapped file '/home/dmdba/map_file_test2.txt';
RMAN> recover database '/data/dmdata/TEST2/dm.ini' from backupset '/data/dmbak1';
RMAN> recover database '/data/dmdata/TEST2/dm.ini' update db_magic;

image-20210511160253528

image-20210511160324669

image-20210511160349324

第五步 启动数据库查看数据文件

启动数据

[dmdba@localhost bin]$ ./DmServiceTEST2 start
Starting DmServiceTEST2:                                   [ OK ]

查看数据文件

image-20210511161021884

image-20210511161159027

至此,备份恢复完成。

结语

达梦数据库使用映射文件的方式与Oracle RMAN中使用set newname相似。

达梦数据库在还原恢复时除了使用映射文件的方式指定数据文件恢复路径,也可以修改dm.ini中SYSTEM_PATH参数指定所有数据文件的路径,但是使用映射文件的方式更友好更灵活方便。

更多资讯请上达梦技术社区了解:https://eco.dameng.com

最后修改时间:2021-08-03 11:32:13
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论