数据文件迁移

文章目录

1 单机环境修改非系统不统一的数据文件路径为统一数据文件路径

1.1 操作前记得备份数据库

SQL>BACKUP DATABASE BACKUPSET ‘/home/dm_bak/db_bak_3_01’;
select t.name,t.status , d . p a t h , d . s t a t u s ,d.path,d.status ,d.path,d.status,d.total_sized.page_size/1024/1024 total_mb,d.free_sized.page_size/1024/1024 free_mb,d.auto_extend,d.max_size/1024 from V D A T A F I L E d , v DATAFILE d,v DATAFILEd,vtablespace t where d.GROUP_ID=t.ID; --查询表空间及数据文件路径及使用量

1.2 重命名表空间

alter tablespace PRE_RELATION OFFLINE;
alter tablespace PRE_RELATION rename datafile ‘/data/RE_RELATION.DBF’ to ‘/data/dmdata/DAMENG/RE_RELATION.DBF’;
alter tablespace PRE_RELATION ONLINE;
select path from v$datafile;

如果需要把小写改为大写,则需要如下操作:
alter tablespace TS_TEST_LDY offline;
alter tablespace TS_TEST_LDY rename datafile ‘/data/dmdata/DAMENG/ts_test_ldy.dbf’ to ‘/data/TS_TEST_LDY.DBF’;
alter tablespace TS_TEST_LDY rename datafile ‘/data/TS_TEST_LDY.DBF’ to ‘/data/dmdata/DAMENG/TS_TEST_LDY.DBF’;
alter tablespace TS_TEST_LDY online;

2 单机环境修改统一的数据文件路径到新的路径

把 /data/dmdata/XIJIUERP 路径修改为 /data/dmdata/LIMITS 路径
mkdir /data/dmdata/LIMITS
chmod -R 775 /data/dmdata/LIMITS/

/data/dmdata/XIJIUERP 替换为 /data/dmdata/LIMITS

2.1 停库

DmServiceXIJIUERP1 stop

2.2 备份数据库

./dmrman CTLSTMT=“BACKUP DATABASE ‘/data/dmdata/XIJIUERP/dm.ini’ FULL BACKUPSET ‘/data/dmdata/LIMITS/db_full_01_bak’”;
备份路径:/data/dmdata/LIMITS/db_full_01_bak

2.3 拷贝数据文件

拷贝旧的数据文件到新的数据文件路径
cp -r /data/dmdata/XIJIUERP/* /data/dmdata/LIMITS

2.4 修改新的路径下的参数文件,替换参数文件对应的数据文件路径

vim /data/dmdata/LIMITS/dm.ini
:%s#/data/dmdata/XIJIUERP#/data/dmdata/LIMITS#g

2.5 修改控制文件路径

./dmctlcvt TYPE=1 SRC=/data/dmdata/LIMITS/dm.ctl DEST=/data/dmdata/LIMITS/dmctl.txt

vim /data/dmdata/LIMITS/dmctl.txt
把旧数据文件路径替换为新的数据文件路径
:%s#/data/dmdata/XIJIUERP#/data/dmdata/LIMITS#g

./dmctlcvt TYPE=2 SRC=/data/dmdata/LIMITS/dmctl.txt DEST=/data/dmdata/LIMITS/dm.ctl

2.6 前台启动测试

dmserver /data/dmdata/LIMITS/dm.ini

2.7 重新注册

root用户执行:
cd /home/dmdba/dmdbms/script/root/
./dm_service_installer.sh -t dmserver -dm_ini /data/dmdata/LIMITS/dm.ini -p LIMITS

2.8 卸载旧数据库实例

root用户执行:
cd /home/dmdba/dmdbms/script/root/
./dm_service_uninstall.sh -n DmServiceXIJIUERP1

2.8 注意归档要根据实际情况调整

nohup dmserver /data/dmdata/LIMITS/dm.ini &
disql SYSDBA/GZ_SYSDBA2021:5238
select * from v$arch_status;
行号 ARCH_TYPE ARCH_DEST ARCH_STATUS ARCH_SRC


1 LOCAL /data/dmdata/XIJIUERP/arch VALID XIJIUERP1

alter database mount;
alter database noarchivelog;
alter database add archivelog ‘dest=/data/dmdata/LIMITS/arch,type=local,file_size=1024,space_limit=102400’;
alter database archivelog;
alter database open;

2.9 注意实例名要更加实际情况调整

实例名修改为:LIMITS_01
vim /data/dmdata/LIMITS/dm.ini
INSTANCE_NAME = LIMITS_01

2.10 重启数据库

DmServiceLIMITS restart

3 主备守护集群数据文件迁移

3.1 主备守护集群环境修改非系统不统一的数据文件路径为统一数据文件路径

3.1.1 操作前备份数据库

SQL>BACKUP DATABASE BACKUPSET ‘/home/dm_bak/db_bak_3_01’;

3.1.2 停止主备守护集群

停止监视器–>停止备库守护进程–>停止主库守护进程–>停止主库实例–>停止备库实例

3.1.3 拷贝旧的数据文件到新的数据文件路径

主备库拷贝原数据文件路径到新路径
cp -r /data/ERP_NCC_DB/ERP_NCC.DBF /data/dmdata/DAMENG/ERP_NCC.DBF
cp -r /data/LIMS/DM_ERP01_CFR08I_04.DBF /data/dmdata/DAMENG/DM_ERP01_CFR08I_04.DBF

3.1.4 修改主备库dm.ini参数文件

vim /data/dmdata/DAMENG/dm.ini
:%s#/data/ERP_NCC_DB/ERP_NCC.DBF#/data/dmdata/DAMENG/ERP_NCC.DBF#g
:%s#/data/LIMS/DM_ERP01_CFR08I_04.DBF#/data/dmdata/DAMENG/DM_ERP01_CFR08I_04.DBF#g

3.1.5 修改控制文件

3.1.5.1 主备库都要转换控制文件

./dmctlcvt TYPE=1 SRC=/data/dmdata/DAMENG/dm.ctl DEST=/data/dmdata/DAMENG/dmctl.txt

3.1.5.2 修改主备库控制文件路径信息

vim /data/dmdata/DAMENG/dmctl.txt
把主备库需要修改的路径改了
fil_path=/data/ERP_NCC_DB/ERP_NCC.DBF 修改为 fil_path=/data/dmdata/DAMENG/ERP_NCC.DBF
fil_path=/data/LIMS/DM_ERP01_CFR08I_04.DBF 修改为 fil_path=/data/dmdata/DAMENG/DM_ERP01_CFR08I_04.DBF

3.1.5.3 再转换控制文件

./dmctlcvt TYPE=2 SRC=/data/dmdata/DAMENG/dmctl.txt DEST=/data/dmdata/DAMENG/dm.ctl

3.1.5.4 打开主备守护集群

打开主库实例–>打开备库实例–>打开备库守护进程–>打开主库守护进程–>打开监视器

3.2 主备守护集群修改统一的数据文件路径到新的路径

把 /data/XIJIUDB/XIJIUDB_ORACLE 修改为 /data/dmdata/ERP

[dmdba@localhost bin]$ mkdir /data/dmdata/ERP
[dmdba@localhost bin]$ chmod -R 775 /data/dmdata/ERP/

3.2.1 停止守护集群

停止监视器–>停止备库守护进程–>停止主库守护进程–>停止主库实例–>停止备库实例

3.2.2 备份数据库

./dmrman CTLSTMT=“BACKUP DATABASE ‘/data/XIJIUDB/XIJIUDB_ORACLE/dm.ini’ FULL BACKUPSET ‘/data/dmdata/ERP/db_full_bak_20220519’”;
备份路径:/data/dmdata/ERP/db_full_bak_20220519

3.2.3 拷贝主备库原数据文件至新路径

cp -r /data/XIJIUDB/XIJIUDB_ORACLE/* /data/dmdata/ERP

3.2.4 修改主备库新路径下的dm.ini

vim /data/dmdata/ERP/dm.ini
:%s#/data/XIJIUDB/XIJIUDB_ORACLE#/data/dmdata/ERP#g
修改前:
CTL_PATH = /data/XIJIUDB/XIJIUDB_ORACLE/dm.ctl
CTL_BAK_PATH = /data/XIJIUDB/XIJIUDB_ORACLE/ctl_bak
SYSTEM_PATH = /data/XIJIUDB/XIJIUDB_ORACLE
CONFIG_PATH = /data/XIJIUDB/XIJIUDB_ORACLE
TEMP_PATH = /data/XIJIUDB/XIJIUDB_ORACLE
BAK_PATH = /data/XIJIUDB/XIJIUDB_ORACLE/bak
修改后:
CTL_PATH = /data/dmdata/ERP/dm.ctl
CTL_BAK_PATH = /data/dmdata/ERP/ctl_bak
SYSTEM_PATH = /data/dmdata/ERP
CONFIG_PATH = /data/dmdata/ERP
TEMP_PATH = /data/dmdata/ERP
BAK_PATH = /data/dmdata/ERP/bak

3.2.5 修改控制文件

3.2.5.1 主备库新路径都要转换控制文件

./dmctlcvt TYPE=1 SRC=/data/dmdata/ERP/dm.ctl DEST=/data/dmdata/ERP/dmctl.txt

3.2.5.2 修改主备控制文件路径

vim /data/dmdata/ERP/dmctl.txt
:%s#/data/XIJIUDB/XIJIUDB_ORACLE#/data/dmdata/ERP#g
把/data/XIJIUDB/XIJIUDB_ORACLE修改为/data/dmdata/ERP

3.2.5.3 再转换控制文件

./dmctlcvt TYPE=2 SRC=/data/dmdata/ERP/dmctl.txt DEST=/data/dmdata/ERP/dm.ctl

3.2.6 修改监视器路径

mv /data/dmmonitor/dmmonitor_oracle/dmmonitor_manual.ini /data/dmdata/ERP

3.2.7 修改实例名(实例修改后需要把归档配置文件也要修改)

主节点:
vim /data/dmdata/ERP/dm.ini
INSTANCE_NAME = ERP_01

备节点:
vim /data/dmdata/ERP/dm.ini
INSTANCE_NAME = ERP_02

3.2.8 主备库修改dmmal.ini

MAL_INST_NAME = XIJIUDB_01 #实例名,和 dm.ini 中的 INSTANCE_NAME 一致
MAL_INST_NAME = XIJIUDB_02

3.2.9 主备库修改dmwatcher.ini

INST_INI = /data/dmdata/ERP/dm.ini #dm.ini 配置文件路径

3.2.10 注册服务

主节点:
root
cd /home/dmdba/dmdbms/script/root/
./dm_service_installer.sh -t dmserver -dm_ini /data/dmdata/ERP/dm.ini -p ERP_01 -m mount
./dm_service_installer.sh -t dmwatcher -watcher_ini /data/dmdata/ERP/dmwatcher.ini -p ERP_01

备节点:
root
cd /home/dmdba/dmdbms/script/root/
./dm_service_installer.sh -t dmserver -dm_ini /data/dmdata/ERP/dm.ini -p ERP_02 -m mount
./dm_service_installer.sh -t dmwatcher -watcher_ini /data/dmdata/ERP/dmwatcher.ini -p ERP_02
./dm_service_installer.sh -t dmmonitor -monitor_ini /data/dmdata/ERP/dmmonitor_manual.ini -p ERP01_02

3.2.11 打开主备守护集群

启动主库实例–>启动备库实例–>启动备库守护进程–>启动主库守护进程–>启动监视器

3.2.12 修改归档路径

ARCH_DEST = ERP_01/ERP_02
ARCH_DEST = /data/dmdata/ERP/arch
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 102400

3.2.13 修改备份路径

打开管理工具连接数据库修改job

3.2.14 卸载旧的注册的服务

主节点:
root
cd /home/dmdba/dmdbms/script/root/
./dm_service_uninstaller.sh -n DmServiceXIJIUDB_01
./dm_service_uninstaller.sh -n DmWatcherServiceXIJIUDB_01

备节点:
root
cd /home/dmdba/dmdbms/script/root/
./dm_service_uninstaller.sh -n DmServiceXIJIUDB_02
./dm_service_uninstaller.sh -n DmWatcherServiceXIJIUDB_02
./dm_service_uninstaller.sh -n DmMonitorServiceXIJIUDB

3.2.15 重启机器验证

停止监视器–>停止备库守护进程–>停止主库守护进程–>停止主库实例–>停止备库实例
启动主库实例–>启动备库实例–>启动备库守护进程–>启动主库守护进程–>启动监视器

达梦社区地址:https://eco.dameng.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值