达梦数据库-数据库主备集群更改实例目录及相关目录步骤-记录总结

1达梦数据库-数据库主备集群更改实例目录及相关目录步骤-记录总结

1.1常见需求

当前数据库实例所在磁盘性能较差或空间不足,需格式化性能较好空间足的新磁盘并挂载,挂载到原目录或者新目录,然后把数据库实例目录移动到新磁盘。

1.2流程步骤

(1) 检查确认数据库实例相关的各种路径,如数据库系统表空间初始路径、自定义表空间数据文件路径、归档路径、跟踪日志路径、备份作业备份路径、审计日志路径(如果开启了审计);

(2) 格式化磁盘并挂载;

(3) 停止应用系统,对数据库进行联机在线物理热备份;

(4) 停止数据库集群,对主备数据库节点涉及文件和目录(包括实例目录、归档日志目录、自定义表空间目录)进行操作系统级别拷贝备份,如果操作过程中出现问题或其它特殊需求,可以快速回退到操作前状态。

( 5 )新磁盘挂载到原同名目录

  1. 主备数据库节点操作,数据库实例拷贝到新目录;

  2. 主备数据库节点操作,原目录修改名称或备份,卸载挂载原实例目录

  3. 主备数据库节点操作,新磁盘卸载,重新挂载到同原名目录;

  4. 启动数据库集群;

  5. 登录数据库检查状态和路径情况;

  6. 确认无误后,全备份,然后清除主备库机上操作过程中各种备份文件。

( 6 )新磁盘挂载到新目录名

  1. 主备数据库节点操作,数据库实例拷贝到新目录;

  2. 主备库修改新目录下实例dm.ini中的路径相关;

  3. 主备库修改新目录下实例dmwatcher.ini中路径相关;

  4. 主备库修改新目录下实例dmmal.ini中路径相关;

  5. 主备库修改新目录下实例sqllog.ini中路径相关;

  6. 主备库修改新目录下实例dmarch.ini中归档路径相关;

  7. 主备库修改新目录下实例控制文件dm.ctl中路径相关;

  8. 主备库修改DmServiceDAMENG命令工具中路径相关;

  9. 主备库修改DmWatcherServiceGRP1命令工具中路径相关;

10)启动数据库主备集群,启动确认监视器服务;

11)登录数据库,修改备份作业路径相关。

12)登录数据库,检查状态和路径修改情况,检查表数据情况,数据库全备。

13)确认无误后,全备份,然后清除主备库机上操作过程中各种备份文件。

1.3初始环境说明

数据库集群GRP1

主库IP端口 192.168.118.236 5237

备库IP端口 192.168.118.237 5237

监视器机器 192.168.118.238

安装目录:/opt/dmdbms/bin

实例目录:/data/dmdata/DAMENG

归档目录:/data/dmarch/DAMENG

备份路径:/data/dmbak/DAMENG/bak/

用户和自定义表空间;TEST用户默认TEST表空间,路径/opt/tbspc/test.DBF

创建测试表及测试数据:TEST.t1 CALL SP_TABLEDEF('TEST', 'T1');

1.4lvm方式挂载新磁盘示例

pvcreate /dev/sdc

pvdisplay

vgcreate dbdata /dev/sdc

vgdisplay

lvcreate -l +100%free -n lv_data dbdata

lvdisplay

mkfs.xfs /dev/dbdata/lv_data

挂载分区到/datas目录

mkdir /datas

blkid

vi /etc/fstab

UUID=xxx /datas xfs defaults 0 0

mount -a

1.5数据库集群各种查询信息

查询确认数据库中各种相关路径情况:

本示例中只涉及 /data 和/opt/tbspc/

(1)数据库中各种路径梳理检查

--查询参数文件中路径设置

select PARA_NAME,PARA_VALUE from v$dm_ini where PARA_NAME like '%PATH';

--查看表空间与数据文件对应关系

SELECT * FROM V$DATAFILE;

SELECT * FROM V$HUGE_TABLESPACE;

SELECT TS.NAME, DF.PATH FROM VTABLESPACE AS TS, VDATAFILE AS DF WHERE TS.ID = DF.GROUP_ID;

--检查归档文件路径

select arch_mode from v$database;

select ARCH_TYPE,ARCH_DEST,ARCH_FILE_SIZE,ARCH_SPACE_LIMIT from v$dm_arch_ini;

--检查是否开启跟踪日志

select PARA_NAME,PARA_VALUE from v$dm_ini where PARA_NAME ='SVR_LOG';

dmdba@192 \~\]$ cat /data/dmdata/DAMENG/sqllog.ini ![](https://i-blog.csdnimg.cn/direct/95e7d48cd3794aa99acdf1c69e633483.png) --检查是否开启审计及审计日志相关 SELECT \* FROM V$DM_INI WHERE PARA_NAME='ENABLE_AUDIT'; select \* from V$AUDIT_SPACE; --检查备份作业文件路径 select \* from SYSJOB.SYSJOBS; select \* from SYSJOB.SYSJOBSTEPS; ![](https://i-blog.csdnimg.cn/direct/8df67cdedc1648d1b9ad7a5f6957f4cb.png) ### 1.6******数据库备份****** 关闭应用系统,数据库进行在线联机物理热备份。 SP_DBMS_JOB_RUN(1779546714); ![](https://i-blog.csdnimg.cn/direct/bee72abfc0b043acb8c3e8d57bde38f6.png) ### 1.7******关闭数据库集群****** (1)监视器机器停止确认监视器服务 root用户执行 systemctl stop DmMonitorServiceGRP1.service 或 dmdba用户执行DmMonitorServiceGRP1 stop (2)主备服务器停止守护服务 root用户执行systemctl stop DmWatcherServiceGRP1 或者 dmdba用户执行DmWatcherServiceGRP1 stop (3)主备服务器停止数据库服务 root用户执行systemctl stop DmServiceDAMENG.service 或者 dmdba用户执行DmServiceDAMENG stop ![](https://i-blog.csdnimg.cn/direct/a042d6d94d554f6fb01d9b9c70c5c5f8.png) ### ​​​​​​​1.8******目录名称保持不变****** 挂载新磁盘后,实例目录放到新磁盘,最终目录名称保持不变,这种相对简单。 #### ​​​​​​​1.8.1**实例目录拷贝到新磁盘** --拷贝原实例目录/data下相关目录文件到/datas。 cp -r /data/dmbak /datas/ cp -r /data/dmdata /datas/ cp -r /data/dmarch /datas/ --拷贝TEST表空间数据文件目录 cp -r /opt/tbspc /opt/tbspc_bak #### ​​​​​​​1.8.2**实例目录更名及拷贝** ****多一份备份少一份数据操作风险**** ****。**** --重命名原实例目录/data,保留操作前的状态,更改名称防止误操作,同时可以根据需要进行快速回退,回退时操作系统级别拷贝复制即可。 mv data data_bak 或者 --如果原磁盘挂载在/data目录下,则卸载/data umount /data --后续如果要挂载,可挂载到其它目录 mkdir /data_old mount /dev/sdb1 /data_old --临时挂载,修改/etc/fstab永久生效。 #### ​​​​​​​1.8.3**新磁盘重新挂载到/data目录** umount /datas mv datas data vi /etc/fstab UUID=xxx /data xfs defaults 0 0 mount -a df -h #### ​​​​​​​1.8.4**重新启动数据库集群** (1)主备服务器启动守护服务,启动守护服务后会自动拉起数据库服务 systemctl start DmWatcherServiceGRP1 (2)监视器机器启动非确认监视服务和确认监视器服务 systemctl start DmMonitorServiceGRP #### **1.8.5检查数据库集群中各种路径修改情况和表相关信息** #### **1.8.6确认无误后,全备份,然后根据情况清除主备库机上操作过程中各种备份文件** ### ​​​​​​​1.9******目录名称发生改变****** 数据库实例目录由/data更换到/datas。 数据库本地归档目录,备份目录,日志跟踪目录都放到/datas下。 #### ​​​​​​​1.9.1**主备机-** **实例目录拷贝到新磁盘目录** (1)分别拷贝实例目录到新目录 chown -R dmdba:dinstall /datas su - dmdba cd data cp -r \* /datas/ (2)冷备份,防止误操作和根据特殊需求方便进行快速回退 ****多一份备份少一份数据操作风险。**** --然后原目录更名 mv /data /databak --原自定义TEST表空间数据文件目录拷贝备份 cp -r /opt/tbspc /opt/tbspc_bak chown -R dmdba:dinstall /opt/tbspc_bak/ #### ​​​​​​​1.9.2**主备机-配置文件和命令工具中更改路径** (1)修改主备库实例中dm.ini中的路径 su - dmdba vi /datas/dmdata/DAMENG/dm.ini ![](https://i-blog.csdnimg.cn/direct/1536d68a69674fe584013afdd9fa8699.png) (2)修改主备实例dmwatcher.ini中目录 vi /datas/dmdata/DAMENG/dmwatcher.ini ![](https://i-blog.csdnimg.cn/direct/ef9398753fd540acae1049537e4b496c.png) (3)修改主备实例dmmal.ini中目录 vi /datas/dmdata/DAMENG/dmmal.ini ![](https://i-blog.csdnimg.cn/direct/5355e1c8312b4423aab356af8fccfed4.png) (4)修改主备实例sqllog.ini中目录 vi /datas/dmdata/DAMENG/sqllog.ini ![](https://i-blog.csdnimg.cn/direct/eded099e386a4bc5b095418d559819e1.png) (5)修改主备实例dmarch.ini中归档目录 vi /datas/dmdata/DAMENG/dmarch.ini ![](https://i-blog.csdnimg.cn/direct/f529a90798214ba9b0e8e2c6d389e163.png) (6)修改主备控制文件中目录 dmctlcvt TYPE=1 SRC=/datas/dmdata/DAMENG/dm.ctl DEST=/datas/dmdata/DAMENG/dmctl.txt vi /datas/dmdata/DAMENG/dmctl.txt cat /datas/dmdata/DAMENG/dmctl.txt \|grep _path dmctlcvt TYPE=2 SRC=/datas/dmdata/DAMENG/dmctl.txt DEST=/datas/dmdata/DAMENG/dm.ctl ![](https://i-blog.csdnimg.cn/direct/45ef8fc7e97c4ffa8add0d46b9034560.png) (7)修改主备库DmServiceDAMENG中目录 vi /opt/dmdbms/bin/DmServiceDAMENG cat /opt/dmdbms/bin/DmServiceDAMENG \|grep data ![](https://i-blog.csdnimg.cn/direct/76405a5379d341de8d98d2af891002e9.png) (8)修改主备库DmWatcherServiceGRP1中目录 vi /opt/dmdbms/bin/DmWatcherServiceGRP1 cat /opt/dmdbms/bin/DmWatcherServiceGRP1 \|grep data ![](https://i-blog.csdnimg.cn/direct/ca0a958d3f1142f7a340e1eef9f441d3.png) #### ​​​​​​​1.9.3**启动数据库集群服务** (1)主备机启动守护服务,守护服务启动后会自动拉起数据库服务 systemctl start DmWatcherServiceGRP1.service ![](https://i-blog.csdnimg.cn/direct/21767ecc14534319a42b6401cd488e5a.png) (2)监视器机器启动非确认监视器,检查数据库状态无误后启动确认监视器服务 systemctl start DmMonitorServiceGRP1.service ![](https://i-blog.csdnimg.cn/direct/0632d50a833b4adc8ab3c1a1389b6f07.png) #### ​​​​​​​1.9.4**登录集群主库修改备份目录路径** (1)修改全备作业路径 call SP_JOB_CONFIG_START('bak_full'); call SP_ALTER_JOB_STEP_EX('bak_full', 'bak_full', 6, '01000000/datas/dmbak/DAMENG/bak', 3, 1, 0, 0, NULL, 0, ''); call SP_ALTER_JOB_STEP_EX('bak_full', 'bak_del', 0, 'CALL SF_BAKSET_BACKUP_DIR_ADD(''DISK'',''/datas/dmbak/DAMENG/bak''); CALL SP_DB_BAKSET_REMOVE_BATCH(''DISK'',NOW()-15);', 1, 1, 0, 0, NULL, 0, ''); call SP_JOB_CONFIG_COMMIT('bak_full'); (2)修改增量备备份作业路径 call SP_JOB_CONFIG_START('bak_inc'); call SP_ALTER_JOB_STEP_EX('bak_inc', 'bak_inc', 6, '11000000/datas/dmbak/DAMENG/bak\|/datas/dmbak/DAMENG/bak', 1, 3, 2, 6, NULL, 0, ''); call SP_ALTER_JOB_STEP_EX('bak_inc', 'switch_bak_full', 6, '01000000/datas/dmbak/DAMENG/bak', 1, 1, 0, 0, NULL, 0, ''); call SP_JOB_CONFIG_COMMIT('bak_inc'); #### ​​​​​​​1.9.5**检查数据库集群中各种路径修改情况和表相关信息** **![](https://i-blog.csdnimg.cn/direct/a95f4fc61d3648a2a843f742283118c5.png)** **![](https://i-blog.csdnimg.cn/direct/db0c831d24b34667bdbfcafcb50c38cf.png)** ![](https://i-blog.csdnimg.cn/direct/3a40c7662e924a729acd9bdd22057830.png) ![](https://i-blog.csdnimg.cn/direct/a78c28555dfe4c8aae48bb7c4ec98f75.png) #### ​​​​​​​1.9.6**确认无误后,全备份,然后清除主备库机上操作过程中各种备份文件。** 更多达梦数据库运维指南、在线文档、相关资料、社区在线提问以及技术分享 访问 [https://eco.dameng.com/](https://eco.dameng.com/ "https://eco.dameng.com/")

相关推荐
会编程的土豆8 小时前
GORM 标签详解(数据库字段映射核心)
数据库·gorm
KaMeidebaby9 小时前
卡梅德生物技术快报|真核蛋白表达信号肽筛选实验全流程复盘
服务器·前端·数据库·人工智能·算法
malog_9 小时前
Milvus向量数据库:AI时代的搜索革命
数据库·人工智能·后端·milvus
胡耀超9 小时前
《设计数据密集型应用》(DDIA, 2nd ed.) 心智模型导览——《Designing Data-Intensive Applications》书介绍导航
大数据·数据库·分布式·ai·架构·数据
ai安歌9 小时前
鸿蒙PC:Qt适配OpenHarmony实战【人名录】:单机联系人卡片,不读系统通讯录也能演示详情联动
数据库·qt·harmonyos
夏贰四9 小时前
数据库管理有哪些核心要点?数据库管理该如何规范落地?
大数据·数据库·数据库管理·数据库管理员
彦为君9 小时前
JavaSE-11-ByteBuffer(NIO核心组件)
java·开发语言·前端·数据库·后端·spring·nio
2301_8035389510 小时前
数据分析中count函数怎么用更高效
数据库·oracle
YL2004042610 小时前
【Redis基础篇】Redis常见命令
数据库·redis·缓存