DM数据库文件迁移

一、部分迁移

部分迁移指:迁移除了SYSTEM、MAIN、TEMP、ROLL以外的表空间的数据文件


1. 创建测试用表空间

create tablespace test datafile 'test01.dbf' size 128 ,'test02.dbf' size 128;

2. 创建测试数据 

CREATE TABLE TEST.DM_INI AS SELECT * FROM  V$DM_INI ; 
INSERT INTO  TEST.DM_INI  SELECT * FROM  V$DM_INI ;  
COMMIT ; 

SELECT COUNT(1)  FROM   TEST.DM_INI  ;

3.确定需要移动的表空间

select tablespace_name, file_name, status  from dba_data_files where  tablespace_name not in ('MAIN','ROLL','SYSTEM','TEMP')order by 1;

 

 拼接批处理语句

select DISTINCT  tablespace_name, status , 'alter tablespace '||tablespace_name||' offline;' from dba_data_files where  tablespace_name not in ('MAIN','ROLL','SYSTEM','TEMP')order by 1;


  
 
4.使表空间离线 

alter tablespace test offline;

5.修改表空间对应数据文件路径 

 alter tablespace test rename datafile '/home/dmdba/dmdbms/data/DAMENG/test01.dbf' to '/home/dmdba/dmdata/test01.dbf' ;
 alter tablespace test rename datafile '/home/dmdba/dmdbms/data/DAMENG/test02.dbf' to '/home/dmdba/dmdata/test02.dbf' ;


 6.使表空间在线

alter tablespace test online;

二、全部迁移(包括SYSTEM、MAIN、TEMP、ROLL表空间)


1.关闭数据库服务

 

2.转换控制文件为txt,并修改txt中数据文件路径到指定路径

./dmctlcvt TYPE=1 SRC=/home/dmdba/dmdbms/data/DAMENG/dm.ctl DEST=/home/dmdba/dmdbms/data/DAMENG/dmctl.txt
vi /home/dmdba/dmdbms/data/DAMENG/dmctl.txt

 

 ... 

对应调整文件中的所有DBF路径即可。

3. 移动所有数据文件到数据盘 

 mv *.DBF /home/dmdba/dmdata/


4.转换控制文件为ctl

#备份原ctl文件
mv /home/dmdba/dmdbms/data/DAMENG/dm.ctl /home/dmdba/dmdbms/data/DAMENG/dm_bak.ctl

#转换新的控制文件
dmctlcvt TYPE=2 SRC=/home/dmdba/dmdbms/data/DAMENG/dmctl.txt DEST=/home/dmdba/dmdbms/data/DAMENG/dm.ctl

 
5.启动数据库

6.确定所有数据文件的状态都是 AVAILABLE

select tablespace_name, file_name, status from dba_data_files order by 1;

 更多资讯请上达梦技术社区了解:https://eco.dameng.com/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值