DM修改数据文件路径
生产系统运行一段时间后,由于数据量的急剧增长,原有数据目录空间剩余可用容量已经不多,需要将数据文件、控制文件、重做日志文件移动到新的目录下。本操作基于单实例为例,仅供参考。DMDSC和DMDW操作方法与此略有不同。
1、查询数据文件路径
SELECT * FROM DBA_DATA_FILES;
2、查询重做日志文件路径
SELECT GROUP_ID, FILE_ID, PATH FROM V$RLOGFILE ORDER BY 2;
规划信息如下所示:
项目 |
修改前 |
修改后 |
数据文件路径 |
/home/dmdba/dmdbms/data/DMOA/SYSTEM.DBF /home/dmdba/dmdbms/data/DMOA/TBS02.DBF /home/dmdba/dmdbms/data/DMOA/TBS01.DBF /home/dmdba/dmdbms/data/DMOA/DMHR.DBF /home/dmdba/dmdbms/data/DMOA/BOOKSHOP.DBF /home/dmdba/dmdbms/data/DMOA/MAIN.DBF /home/dmdba/dmdbms/data/DMOA/TEMP.DBF /home/dmdba/dmdbms/data/DMOA/ROLL.DBF |
/home/dmdba/dmdbms/dmdata/DMOA/SYSTEM.DBF /home/dmdba/dmdbms/dmdata/DMOA/TBS02.DBF /home/dmdba/dmdbms/dmdata/DMOA/TBS01.DBF /home/dmdba/dmdbms/dmdata/DMOA/DMHR.DBF /home/dmdba/dmdbms/dmdata/DMOA/BOOKSHOP.DBF /home/dmdba/dmdbms/dmdata/DMOA/MAIN.DBF /home/dmdba/dmdbms/dmdata/DMOA/TEMP.DBF /home/dmdba/dmdbms/dmdata/DMOA/ROLL.DBF |
日志文件路径 |
/home/dmdba/dmdbms/data/DMOA/DMOA01.log /home/dmdba/dmdbms/data/DMOA/DMOA02.log /home/dmdba/dmdbms/data/DMOA/DMOA03.log |
/home/dmdba/dmdbms/dmdata/DMOA/DMOA01.log /home/dmdba/dmdbms/dmdata/DMOA/DMOA02.log /home/dmdba/dmdbms/dmdata/DMOA/DMOA03.log |
参数文件中相关路径 |
CTL_PATH = /home/dmdba/dmdbms/data/DMOA/dm.ctl #ctl file path CTL_BAK_PATH=/home/dmdba/dmdbms/data/DMOA/ctl_bak #dm.ctl backup path SYSTEM_PATH = /home/dmdba/dmdbms/data/DMOA #system path CONFIG_PATH = /home/dmdba/dmdbms/data/DMOA #config path TEMP_PATH = /home/dmdba/dmdbms/data/DMOA #temporary file path BAK_PATH= /home/dmdba/dmdbms/data/DMOA/bak #backup file path |
CTL_PATH = /home/dmdba/dmdbms/dmdata/DMOA/dm.ctl #ctl file path CTL_BAK_PATH=/home/dmdba/dmdbms/dmdata/DMOA/ctl_bak #dm.ctl backup path SYSTEM_PATH = /home/dmdba/dmdbms/dmdata/DMOA #system path CONFIG_PATH = /home/dmdba/dmdbms/dmdata/DMOA #config path TEMP_PATH = /home/dmdba/dmdbms/dmdata/DMOA #temporary file path BAK_PATH= /home/dmdba/dmdbms/dmdata/DMOA/bak #backup file path |
3、停止数据库
cd /home/dmdba/dmdbms/bin
dmdba@dmdca:/home/dmdba/dmdbms/bin$ ./DmServiceDMOA stop
4、原DM数据文件全部拷贝到新目录
cp -r /home/dmdba/dmdbms/data/DMOA/* /home/dmdba/dmdbms/dmdata/DMOA
5、修改dm.ini文件里面的路径
把dm.ini文件中的与PATH有关的目录修改为新的目录。
修改前,路径信息如下
CTL_PATH = /home/dmdba/dmdbms/data/DMOA/dm.ctl
#ctl file path
CTL_BAK_PATH=/home/dmdba/dmdbms/data/DMOA/ctl_bak
#dm.ctl backup path
SYSTEM_PATH = /home/dmdba/dmdbms/data/DMOA
#system path
CONFIG_PATH = /home/dmdba/dmdbms/data/DMOA
#config path
TEMP_PATH = /home/dmdba/dmdbms/data/DMOA
#temporary file path
BAK_PATH= /home/dmdba/dmdbms/data/DMOA/bak
#backup file path
修改后,路径信息如下
CTL_PATH = /home/dmdba/dmdbms/dmdata/DMOA/dm.ctl
#ctl file path
CTL_BAK_PATH=/home/dmdba/dmdbms/dmdata/DMOA/ctl_bak
#dm.ctl backup path
SYSTEM_PATH = /home/dmdba/dmdbms/dmdata/DMOA
#system path
CONFIG_PATH = /home/dmdba/dmdbms/dmdata/DMOA
#config path
TEMP_PATH = /home/dmdba/dmdbms/dmdata/DMOA
#temporary file path
BAK_PATH= /home/dmdba/dmdbms/dmdata/DMOA/bak
#backup file path
6、修改dm.ctl文件里面的路径
1)利用dmctlcvt转换工具,将dm.ctl转换成txt类型进行修改:
cd /home/dmdba/dmdbms/bin
./dmctlcvt TYPE=1 SRC=/home/dmdba/dmdbms/dmdata/DMOA/dm.ctl DEST=/home/dmdba/dmdbms/dmdata/DMOA/dmctl.txt
2)修改dmctl.txt文件中的所有PATH路径是/home/dmdba/dmdbms/data的,修改为/home/dmdba/dmdbms/dmdata
sed -i "s#/home/dmdba/dmdbms/data#/home/dmdba/dmdbms/dmdata#g" dmctl.txt
3)修改完成之后,再将dmctl.txt转换成dm.ctl格式
cd /home/dmdba/dmdbms/bin
./dmctlcvt TYPE=2 SRC=/home/dmdba/dmdbms/dmdata/DMOA/dmctl.txt DEST=/home/dmdba/dmdbms/dmdata/DMOA/dm.ctl
7、重新启动数据库
启动服务建议使用命令方式。服务中保存的还是修改前的路径信息,直接启动会报错。建议将原启动服务删除,然后依据新的dm.ini文件注册启动服务。
cd /home/dmdba/dmdbms/bin
./dmserver /home/dmdba/dmdbms/dmdata/DMOA/dm.ini
8、查看表空间状态及所对应的数据文件
select
t.name ,
t.status$ ,
d.path ,
d.status$ ,
d.total_size*d.page_size/1024/1024 total_mb,
d.free_size *d.page_size/1024/1024 free_mb ,
d.auto_extend ,
d.max_size/1024
from
V$DATAFILE d,
v$tablespace t
where
d.GROUP_ID=t.ID;
SYSTEM 0 /home/dmdba/dmdbms/dmdata/DMOA/SYSTEM.DBF 1 43 33 1 32767
TBS 0 /home/dmdba/dmdbms/dmdata/DMOA/TBS02.DBF 1 64 63 1 32767
TBS 0 /home/dmdba/dmdbms/dmdata/DMOA/TBS01.DBF 1 65 64 1 10
DMHR 0 /home/dmdba/dmdbms/dmdata/DMOA/DMHR.DBF 1 128 127 1 32767
BOOKSHOP 0 /home/dmdba/dmdbms/dmdata/DMOA/BOOKSHOP.DBF 1 150 148 1 32767
MAIN 0 /home/dmdba/dmdbms/dmdata/DMOA/MAIN.DBF 1 128 126 1 32767
TEMP 0 /home/dmdba/dmdbms/dmdata/DMOA/TEMP.DBF 1 26 25 1 32767
ROLL 0 /home/dmdba/dmdbms/dmdata/DMOA/ROLL.DBF 1 128 109 1 32767
9、查询重做日志文件
SELECT GROUP_ID, FILE_ID, PATH FROM V$RLOGFILE ORDER BY 2;
2 0 /home/dmdba/dmdbms/dmdata/DMOA/DMOA01.log
2 1 /home/dmdba/dmdbms/dmdata/DMOA/DMOA02.log
2 2 /home/dmdba/dmdbms/dmdata/DMOA/DMOA03.log
10、用新的dm.ini文件注册服务
cd /home/dmdba/dmdbms/script/root
#./dm_service_installer.sh -t dmserver -p DMOA -dm_ini /home/dmdba/dmdbms/dmdata/DMOA/dm.ini
启动服务:
cd /home/dmdba/dmdbms/bin
dmdba@dmdca:/home/dmdba/dmdbms/bin$ ./DmServiceDMOA start
特别说明:注册新的服务之前,建议将原来的服务删除,以免服务太多,容易弄混。
删除服务命令如下
cd /home/dmdba/dmdbms/script/root
#./dm_service_uninstaller.sh -n DmServiceDMOA
到此为止,数据文件目录修改完成。可以重启服务,通过disql或DM管理工具进行连接。
更多内容链接:https://edu.dameng.com,https://eco.dameng.com/
版权声明:本文为博主原创文章,未经博主允许不得转载。
https://edu.dameng.com,https://eco.dameng.com/
- 上一篇:DMDSC更换DCR和VOTE磁盘
- 下一篇:DM DSC和ASM相关信息