数据库物理迁移方案

1. 应用场景

主要应用于数据库磁盘更换,磁盘的扩容和目录的更换,搭建测试库等应用场景。

2. 实验环境

实例

迁移前数据库目录

迁移后数据库目录

DMTESTSVR

/dm8/data/DMTEST

/data/DMTEST

3. 迁移方案

迁移方案有2种(两种方案都需要脱机):

1. 拷贝数据库文件目录的方案。

2. 使用rman脱机备份方案。

方案一:拷贝数据库文件目录方案操作步骤:

3.1.1 关闭数据库

cd /dm8/bin

./DmServiceDMTESTSVR stop

数据库物理迁移方案_数据库

3.1.2 把数据库目录迁移到新的目录

Mkdir /data

Chown dmdba:dinstall /data

cp -r /dm8/data/DMTEST  /data

3.1.3 修改dm.ini配置文件

把控制文件目录和系统文件目录,临时文件目录等配置修改成迁移目录。

Vi /data/DMTEST/dm.ini

数据库物理迁移方案_文件目录_02

3.1.4 修改控制文件

控制文件是二进制文件,达梦提供把控制文件修改成文本文件的工具。具体操作如下。

数据库物理迁移方案_控制文件_03

1. 把二进制dm.ctl控制文件生产文本文件。

./dmctlcvt TYPE=1 SRC=/data/DMTEST/dm.ctl DEST=/data/DMTEST/dmctl.txt

2. 修改dmctl.txt文件,修改相应表空间数据库文件路径。

Vi dmctl.txt

数据库物理迁移方案_文件目录_04

3. 生成新的控制文件

./dmctlcvt TYPE=2 SRC=/data/DMTEST/dmctl.txt DEST=/data/DMTEST/dm.ctl

3.1 注册服务

3.1.1 卸载之前注册的服务

以root用户执行该脚本

cd /dm8/script/root

./dm_service_uninstaller.sh  -n  服务名

3.2.1 重新注册服务

cd /dm8/script/root

./dm_service_installer.sh -t dmserver -dm_ini  /data/DMTEST/dm.ini -p DMTEST

方案二:脱机备份还原高级应用场景

该应用场景在磁盘有足够的磁盘空间,保证磁盘可以存放备份集。

1. 正常关闭数据库

确保所有的redo日志都刷新到数据文件中。

./DmServerDMTEST stop

2. 使用dmrman脱机备份数据库

RMAN> BACKUP DATABASE '/data/DMTEST/dm.ini'  BACKUPSET'/data/db_bak_for_map_01';

数据库物理迁移方案_文件目录_05

3. 使用dump工具生成映射文件

RMAN>  DUMP BACKUPSET '/data/db_bak_for_map_01' DATABASE  '/data/DMTEST/dm.ini'  MAPPED FILE'/data/map_file_01.txt';

4. 修改map_file_01.txt文件路径

数据库物理迁移方案_数据库_06

保存

5. 还原数据库

还原数据库

RESTORE DATABASE '/data/DMTEST/dm.ini' FROM BACKUPSET '/data/db_bak_for_map_01' MAPPED FILE '/data/map_file_01.txt';

更新数据库魔数

RMAN> recover database '/data/DMTEST/dm.ini' update db_magic;