文章目录
学习过程参考了:参考文章,这篇文章
单机修改数据文件路径
| 旧路径 | 新路径 |
|---|---|
| /dmdata | /dmbak |
- 查看旧路径
[dmdba@dmdb03 dmdb]$ ps -ef | grep dmdb
dmdba 1621 1 0 10:21 ? 00:00:01 /home/dmdba/dmdbms/bin/dmap
dmdba 1627 1 0 10:21 ? 00:00:35 /home/dmdba/dmdbms/bin/dmserver path=/dmdata/dmdb/dm.ini -noconsole
root 4016 3967 0 22:16 pts/0 00:00:00 su - dmdba
dmdba 4017 4016 0 22:16 pts/0 00:00:00 -bash
dmdba 4163 4017 0 22:17 pts/0 00:00:00 ps -ef
dmdba 4164 4017 0 22:17 pts/0 00:00:00 grep dmdb
[root@dmdb02 ~]# find / -name dm.ini
/dmdata/dmdb/dm.ini
停止服务
[dmdba@dmdb03 dmdb]$ DmServicedw stop
Stopping DmServicedw: [ OK ]
复制文件
[dmdba@dmdb03 dmdata]$ cp -r /dmdata/dmdb /dmbak/
[dmdba@dmdb03 dmdata]$ cd /dmbak/
[dmdba@dmdb03 dmbak]$ ll
total 4
drwxrwxr-x 6 dmdba dmdba 4096 Mar 29 22:20 dmdb
转换控制文件为txt,修改路径
- 控制文件转换为txt文件
[dmdba@dmdb03 dmdb]$ cd /home/dmdba/dmdbms/bin
[dmdba@dmdb03 bin]$ ./dmctlcvt type=1 src=/dmdata/dmdb/dm.ctl dest=/dmdata/dmdb/dm.txt
DMCTLCVT V8
convert ctl to txt success!
- 修改路径
[dmdba@dmdb03 dmdb]$ cat dm.txt |grep dmdata
fil_path=/dmdata/dmdb/SYSTEM.DBF
fil_path=/dmdata/dmdb/ROLL.DBF
fil_path=/dmdata/dmdb/dmdb01.log
fil_path=/dmdata/dmdb/dmdb02.log
fil_path=/dmdata/dmdb/MAIN.DBF
htspath=/dmdata/dmdb/HMAIN
[dmdba@dmdb03 dmdb]$ sed -i "s#/dmdata/dmdb#/dmbak/dmdb#g" dm.txt
[dmdba@dmdb03 dmdb]$ cat dm.txt |grep dmdb
dbname=dmdb
fil_path=/dmbak/dmdb/SYSTEM.DBF
fil_path=/dmbak/dmdb/ROLL.DBF
fil_path=/dmbak/dmdb/dmdb01.log
fil_path=/dmbak/dmdb/dmdb02.log
fil_path=/dmbak/dmdb/MAIN.DBF
htspath=/dmbak/dmdb/HMAIN
- 转换回控制文件
[dmdba@dmdb03 dmdb]$ pwd
/dmbak/dmdb
[dmdba@dmdb03 dmdb]$ mv dm.ctl dm.ctl.bk
[dmdba@dmdb03 bin]$ ./dmctlcvt type=2 src=/dmdata/dmdb/dm.txt dest=/dmbak/dmdb/dm.ctl
DMCTLCVT V8
convert txt to ctl success!
修改dm.ini文件
[dmdba@dmdb03 dmdb]$ pwd
/dmbak/dmdb
[dmdba@dmdb03 dmdb]$ cat dm.ini | grep /dmdata
CTL_PATH = /dmdata/dmdb/dm.ctl #ctl file path
CTL_BAK_PATH = /dmdata/dmdb/ctl_bak #dm.ctl backup path
SYSTEM_PATH = /dmdata/dmdb #system path
CONFIG_PATH = /dmdata/dmdb #config path
TEMP_PATH = /dmdata/dmdb #temporary file path
BAK_PATH = /dmdata/dmdb/bak #backup file path
[dmdba@dmdb03 dmdb]$ sed -i "s#/dmdata/dmdb#/dmbak/dmdb#g" /dmbak/dmdb/dm.ini
[dmdba@dmdb03 dmdb]$ cat dm.ini | grep /dmbak
CTL_PATH = /dmbak/dmdb/dm.ctl #ctl file path
CTL_BAK_PATH = /dmbak/dmdb/ctl_bak #dm.ctl backup path
SYSTEM_PATH = /dmbak/dmdb #system path
CONFIG_PATH = /dmbak/dmdb #config path
TEMP_PATH = /dmbak/dmdb #temporary file path
BAK_PATH = /dmbak/dmdb/bak #backup file path
修改服务器启动脚本
[dmdba@dmdb03 bin]$ pwd
/home/dmdba/dmdbms/bin
[dmdba@dmdb03 bin]$ cat DmServicedw | grep /dmdata
INI_PATH="/dmdata/dmdb/dm.ini"
[dmdba@dmdb03 bin]$ sed -i "s#/dmdata/dmdb#/dmbak/dmdb#g" DmServicedw
[dmdba@dmdb03 bin]$ cat DmServicedw | grep /dmbak
INI_PATH="/dmbak/dmdb/dm.ini"
启动服务测试
[dmdba@dmdb03 bin]$ DmServicedw start
Starting DmServicedw: [ OK ]
[dmdba@dmdb03 bin]$ disql
SQL> select group_id,file_id,path from v$rlogfile;
行号 GROUP_ID FILE_ID PATH
---------- ----------- ----------- -----------------------
1 2 0 /dmbak/dmdb/dmdb01.log
2 2 1 /dmbak/dmdb/dmdb02.log
主备集群修改数据文件路径
分离备库出来
##查看组名
show global info
##查看备库
show database grp_dw.dw02
##踢出集群
detach database grp_dw.dw02
将实例(DW02)分离出守护进程组GRP_DW成功
修改数据文件路径
- 同单机,注意关闭守护进程
- 主备正常使用
启动备库,重新加入集群
[dmdba@dmdb02 bin]$ DmServicedw start
Starting DmServicedw: [ OK ]
[dmdba@dmdb02 bin]$ DmWatcherServicedw start
Starting DmWatcherServicedw: [ OK ]
##监控器查看
show database grp_dw.dw02
<<DATABASE GLOBAL INFO:>>
DW_IP MAL_DW_PORT WTIME WTYPE WCTLSTAT WSTATUS INAME INST_OK N_EP N_OK ISTATUS IMODE DSC_STATUS RTYPE RSTAT
10.10.10.5 7436 2022-03-30 00:14:36 GLOBAL VALID OPEN dw02 OK 1 1 OPEN STANDBY DSC_OPEN REALTIME INVALID
EP INFO:
INST_IP INST_PORT INST_OK INAME ISTATUS IMODE DSC_SEQNO DSC_CTL_NODE RTYPE RSTAT FSEQ FLSN CSEQ CLSN DW_STAT_FLAG
192.168.31.5 5236 OK DW02 OPEN STANDBY 0 0 REALTIME INVALID 24588 91049 24588 91049 NONE
##加入集群
attach database grp_dw.dw02
实例(DW02)加回到守护进程组(GRP_DW)成功
733

被折叠的 条评论
为什么被折叠?



