学习目标:
如何更改数据库数据文件到新的存储位置
例如:
在数据库关闭后,将达梦8的数据文件从一个位置,移动到了另外一个新的位置。但是仅这样做,是不能将数据库启动起来的
迁移过程:
1、查看变更新路径的大小和路径
df -h
-------------------------------------------
2、对新路径授予dmdba权限
chown -R dmdba:dinstall /data/dmdata
-------------------------------------------
3、停止数据库服务、备份数据库
-------------------------------------------
4、将原路径DAMENG文件夹冷拷贝至新路径中(前提是所有DBF数据文件都在DAMENG文件夹下)
cp -r DAMENG /data/dmdata/
-------------------------------------------
5、更改dm.ini、dm.ctl、dmarch.ini、dmwatcher.ini文件,更改原始路径为新路径
dm.ini
CTL_PATH = /data/dmdata/DAMENG/dm.ctl #ctl file path
CTL_BAK_PATH = /data/dmdata/DAMENG/ctl_bak #dm.ctl backup path
CTL_BAK_NUM = 10 #backup number of dm.ctl, allowed to keep one more backup file besides specified number.
SYSTEM_PATH = /data/dmdata/DAMENG #system path
CONFIG_PATH = /data/dmdata/DAMENG #config path
TEMP_PATH = /data/dmdata/DAMENG #temporary file path
BAK_PATH = /data/dmdata/DAMENG/bak #backup file path
DFS_PATH = $/DAMENG #path of db_file in dfs
dm.ctl(利用dmctlcvt工具,将ctl文件转换为txt文档进行修改,修改完成之后再将txt转换为ctl)
./dmctlcvt TYPE=1 SRC=/data/dmdata/DAMENG/dm.ctl DEST=/data/dmdata/dmctl.txt
./dmctlcvt TYPE=2 SRC=/data/dmdata/dmctl.txt DEST=/data/dmdata/DAMENG/dm.ctl
dmarch.ini
ARCH_DEST = /data/dmdata/DAMENG/arch #本地归档文件存放路径
dmwatcher.ini
INST_INI = /data/dmdata/DAMENG/dm.ini #dm.ini配置文件路径
-------------------------------------------
6、清除原有归档内容
mv /data/dmdata/DAMENG/arch /data/dmdata/DAMENG/arch_old
mkdir /data/dmdata/DAMENG/arch
-------------------------------------------
7、利用mount方式启动数据库单个节点查看是否能正常启动
cd /home/dmdba/dmdbms/bin
./dmserver/data/dmdata/DAMENG/dm.ini mount
-------------------------------------------
8、更改启动脚本,将原始路径改为新路径
vi DmServiceXXX
vi DmWatcherServiceXXX
-------------------------------------------
9、启动数据库库集群
-------------------------------------------
10、更改作业中定时备份路径并进行全库备份