更改数据库实例

  • 背景

在数据库使用的过程中,如果需要对磁盘空间的使用重新规划,就难免涉及到“迁移”的场景。或是将原有的数据库直接迁移到新的数据库,或是更改数据文件路径、再或者直接更改数据库实例。

本文就更改数据库实例做一个实战总结。

  • 案例需求

原本的数据库服务放在/dm8目录下,实例放在/DB/data下

现在需要将实例的路径更改为/dm8/data/下

  • 操作步骤
  • 停止数据库服务
  • ./DmServicePROD stop
  • 将原有的数据库实例复制到新的路径下
  • cp -r /DB/data/DAMENG/ /dm8/data/

  • 修改dm.ini文件,将dm.ini文件中原有的/DB/data/DAMENG/路径都更改为/dm8/data/DAMENG路径
  • Vim /dm8/data/DAMENG/dm.ini

  • 到bin目录下用dmctlcvt将控制文件更改为txt可读文
  • ./dmctlcvt help

  • ./dmctlcvt TYPE=1 SRC=/dm8/data/DAMENG/dm.ctl DEST=/dm8/data/DAMENG/dm.txt

  • 修改dm.txt文件,将文件中/DB/data/DAMENG/路径都更改为/dm8/data/DAMENG路径
  • vim dm.txt

  • 将dm.txt可读文件更改回dm.ctl
  • ./dmctlcvt TYPE=2 SRC=/dm8/data/DAMENG/dm.txt DEST=/dm8/data/DAMENG/dm.ctl

  • 更改dmserver服务文件中的ini路径
  • vim DmServicePROD

  • 启动服务
  • ./DmServicePROD start

  •  

  • 控制文件说明
  • 每个 DM 数据库都有一个名为 dm.ctl 的控制文件。控制文件是一个二进制文件,它记录了数据库必要的初始信息,其中主要包含以下内容:

  • 数据库名称;
  • 数据库服务器模式;
  • OGUID 唯一标识;
  • 数据库服务器版本;
  • 数据文件版本;
  • 数据库的启动次数;
  • 数据库最近一次启动时间;
  • 表空间信息,包括表空间名,表空间物理文件路径等,记录了所有数据库中使用的表空间,数组的方式保存起来;
  • 控制文件校验码,校验码由数据库服务器在每次修改控制文件后计算生成,保证控制文件合法性,防止文件损坏及手工修改。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值