有些项目在初始化实例时可能随便指向了基目录,但是随着项目运行,基目录空间不足。
为避免磁盘空间不足的情况发生,后期新挂了数据盘,需要修改实例路径。
将/data1/DAMENG 迁移到 /data/DAMENG,流程如下:
cd /home/dmdba/dmdbms/bin
./dmserver stop DmServiceDMSERVER
./dmrman
RMAN> BACKUP DATABASE '/ data1/DAMENG/dm.ini' full to "DB_DMOA_FULL_2021_03_31_10_29_20" BACKUPSET '/home/dmbak/db_full_bak_01';
进入到数据库的安装路径的bin目录,假设安装路径是 /opt/dmdbms
cd /opt/dmdbms/bin
./dmctlcvt TYPE=1 SRC=/data1/DAMENG/dm.ctl DEST=/data1/DAMENG/dmctl.txt

执行后 ,在/data1/DAMENG目录下生成文件dmctl.txt,可以对其进行编辑。
先查一下,有多少内容需要被修改的 :
cat dmctl.txt |grep /data1/

旧路径修改为新路径(将/data1/ 改为 /data/):
vi dmctl.txt
提示: 可以采用通配符 批量修改。
示例 :%s/well/good/g 替换所有 well 为 good
同理,/data1/ 改为 /data/ (其中\表示转义符)
:%s/\/data1\//\/data\//g
删除原来的dm.ctl文件,将修改完的dmctl.txt 恢复成新的控制文件:
[dmdba@db1 DAMENG]$ rm dm.ctl
cd /opt/dmdbms/bin
./dmctlcvt TYPE=2 SRC=/data1/DAMENG/dmctl.txt DEST=/data1/DAMENG/dm.ctl

vi dm.ini 把所有的/data1/改为 /data/

:%s/\/data1\//\/data\//g
以上修改完成后,整个/data1文件复制到新的存储路径/data下

进入安装目录bin:
cd /home/dmdba/dmdbms/bin/
服务启动脚本名DmServiceDMSERVER,将路径改为/data
vi DmServiceDMSERVER
INI_PATH="/data/DAMENG/dm.ini"
注意,创建服务时知道新的dm.ini文件路径
systemctl start DmServiceDMSERVER
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69998466/viewspace-2772007/ ,如需转载,请注明出处,否则将追究法律责任。