数据库物理迁移方案
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
3.1.4 修改控制文件
控制文件是二进制文件,达梦提供把控制文件修改成文本文件的工具。具体操作如下。
1. 把二进制dm.ctl控制文件生产文本文件。
./dmctlcvt TYPE=1 SRC=/data/DMTEST/dm.ctl DEST=/data/DMTEST/dmctl.txt
2. 修改dmctl.txt文件,修改相应表空间数据库文件路径。
Vi dmctl.txt
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';
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文件路径
保存
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;