达梦数据库-后期更改数据库(单机)实例目录及相关目录步骤-记录总结

达梦数据库-后期更改数据库(单机)实例目录及相关目录步骤-记录总结

流程步骤

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

(2) 提前创建好预期更改后目录;

(3) 停止应用系统,对数据库进行备份;

(4) 移动数据库实例目录到新目录;

(5) 根据前期路径检查情况,修改各种路径(数据库系统表空间初始路径、自定义添加表空间数据文件路径、归档路径、跟踪日志路径、备份作业备份路径、审计日志路径),涉及dm.ini、dmarch.ini、sqllog.ini、dm.ctl等文件;

(6) 重新注册数据库服务;

(7) 启动数据库服务,登录数据库检查确认路径修改情况;

(8) 连接登录数据库,修改备份作业路径并检查确认。

步骤示例

测试环境:

--DM v8 03134284368-20260306-316451-20149 Pack62 + Kylin 10 + x86_64

示例需求:

初始数据库实例目录为/data/dmdata 更改为/datas/dmdata

如果有用户表空间,新增不同路径数据文件 更改为/datas/dmdata

如果有归档,归档路径改为/datas/dmarch

如果有备份,备份路径改为/datas/dmbak

如果其它路径相关,都改为/datas/下

示例步骤:

(1)准备安装初始数据库环境(过程略)

select id_code,* from v$version;

(2)构造环境

--创建测试表空间

create tablespace TEST datafile '/datatest/test.dbf' size 128 autoextend on maxsize 67108863 CACHE = NORMAL;

--创建测试用户

CREATE USER "TEST" IDENTIFIED BY HUN_admin2026 DEFAULT TABLESPACE "TEST" DEFAULT INDEX TABLESPACE "TEST";

grant "RESOURCE","PUBLIC","VTI","SOI","SVI" to TEST;

grant CREATE SESSION to TEST;

--创建测试表及测试数据

create table test.test(id int,info varchar2(10),sjtime DATETIME);

insert into test.test values(1,'test1',now());

commit;

select * from test.test;

--开启归档

alter database mount;

alter database ARCHIVELOG;

ALTER DATABASE ADD ARCHIVELOG 'DEST=/data/dmarch, TYPE=LOCAL, FILE_SIZE=2048, SPACE_LIMIT=102400';

--开启全备、增量备份、删除备份作业、sql日志跟踪等

开启过程略

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

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

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

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

SELECT * FROM V$TABLESPACE;

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/2edff5b6aaff47159ad2dfba5e4dd676.png) --检查是否开启审计及审计日志相关 \[dmdba@192 \~\]$ disql SYSAUDITOR/HUN_admin2026@localhost:5237 SELECT \* FROM V$DM_INI WHERE PARA_NAME='ENABLE_AUDIT'; select \* from V$AUDIT_SPACE; ![](https://i-blog.csdnimg.cn/direct/8cf741ddf113409482405610013afa8f.png) --检查备份作业文件路径 select \* from SYSJOB.SYSJOBS; select \* from SYSJOB.SYSJOBSTEPS; ![](https://i-blog.csdnimg.cn/direct/96063ade85e84e06a4dbc7dc3818a179.png) (4)数据库备份 关闭应用系统,数据库物理热备份; 停止数据库服务,数据库物理冷备份或者操作系统级别文件备份。 过程略 (5)创建目标目录与拷贝数据库实例目录到新目录 \[root@192 \~\]# mkdir /datas \[root@192 \~\]# mkdir -p /datas/dmdata \[root@192 \~\]# mkdir -p /datas/dmbak/ \[root@192 \~\]# chown -R dmdba:dinstall /datas \[root@192 \~\]#su - dmdba \[dmdba@192 \~\]$ cp -r /data/dmdata/DAMENG /datas/dmdata/ \[dmdba@192 \~\]$ cp -r /data/dmbak/DAMENG /datas/dmbak/ \[dmdba@192 \~\]$ cp -r /datatest/test.dbf /datas/dmdata/DAMENG/ (6)修改dm.ini文件中路径修改 vi /datas/dmdata/DAMENG/dm.ini cat /datas/dmdata/DAMENG/dm.ini \|grep PATH ![](https://i-blog.csdnimg.cn/direct/32cc572f49a54ef89fa8dbf729d140f5.png) 如果有开启审计,如果需要修改审计日志路径再 dm_ini中修改AUD_PATH值 AUD_PATH = /data/dmdata/DAMENG/aud_pathlog (7)修改/datas/dmdata/DAMENG/sqllog.ini文件中配置 \[dmdba@192 \~\]$ vi /datas/dmdata/DAMENG/sqllog.ini \[dmdba@192 \~\]$ cat /datas/dmdata/DAMENG/sqllog.ini ![](https://i-blog.csdnimg.cn/direct/3ec9c074e6494668a0be9031591a104b.png) (8)修改/datas/dmdata/DAMENG/dmarch.ini归档路径配置 \[dmdba@192 DAMENG\]$ vi /datas/dmdata/DAMENG/dmarch.ini \[dmdba@192 DAMENG\]$ cat /datas/dmdata/DAMENG/dmarch.ini ![](https://i-blog.csdnimg.cn/direct/6a2b34842ec644309fc01ba285ca7ed2.png) (9)修改控制文件中配置并检查确认 \[dmdba@192 \~\]$ dmctlcvt TYPE=1 SRC=/datas/dmdata/DAMENG/dm.ctl DEST=/datas/dmdata/DAMENG/dmctl.txt \[dmdba@192 \~\]$ vi /datas/dmdata/DAMENG/dmctl.txt \[dmdba@192 \~\]$ cat /datas/dmdata/DAMENG/dmctl.txt \|grep data \[dmdba@192 \~\]$ mv /datas/dmdata/DAMENG/dm.ctl /datas/dmdata/DAMENG/dm.ctlbak \[dmdba@192\~\]$dmctlcvt TYPE=2 SRC=/datas/dmdata/DAMENG/dmctl.txt DEST=/datas/dmdata/DAMENG/dm.ctl ![](https://i-blog.csdnimg.cn/direct/906840bd3bc643fda7d8be581518c8a7.png) (10)重新注册实例并启动数据库服务 ##取消原数据库服务注册 bash /opt/dmdbms/script/root/dm_service_uninstaller.sh -n DmServiceDAMENG ##使用root用户新注册数据库服务 \[root@\]#bash /opt/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /datas/dmdata/DAMENG/dm.ini -p DAMENG \[root@\]# systemctl enable DmServiceDAMENG.service ##启动数据库服务 \[root@\]# systemctl start DmServiceDAMENG.service (11)登录数据库查询操作 \[dmdba@192 \~\]$ disql sysdba/HUN_admin2026@localhost:5237 --数据检查 select \* from test.test; --参数检查 select PARA_NAME,PARA_VALUE from v$dm_ini where PARA_NAME like '%PATH'; --表空间路径检查 SELECT TS.NAME, DF.PATH FROM V$TABLESPACE AS TS, V$DATAFILE AS DF WHERE TS.ID = DF.GROUP_ID; --归档路径检查 select ARCH_TYPE,ARCH_DEST,ARCH_FILE_SIZE,ARCH_SPACE_LIMIT from v$dm_arch_ini; --修改备份作业备份路径及检查 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'); call SP_JOB_CONFIG_START('bak_inc'); call SP_ALTER_JOB_STEP_EX('bak_inc', 'bak_inc', 6, '11000000/data/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'); select \* from SYSJOB.SYSJOBS; select \* from SYSJOB.SYSJOBSTEPS; ![](https://i-blog.csdnimg.cn/direct/8a1da567dfd4428b9638d01d92bd5da9.png) ![](https://i-blog.csdnimg.cn/direct/bd347a7f404b471eb8875d9de13d136d.png) 更多达梦数据库运维指南、在线文档、相关资料、社区在线提问以及技术分享 访问 https://eco.dameng.com/

相关推荐
9稳2 小时前
基于智能巡检机器人与PLC系统联动控制设计
开发语言·网络·数据库·嵌入式硬件·plc
我不听你讲话2 小时前
第 2 章 MySQL 数据库操作
数据库·mysql·adb
小年糕是糕手2 小时前
【35天从0开始备战蓝桥杯 -- Day5】
数据结构·数据库·c++·算法·蓝桥杯
草莓熊Lotso3 小时前
Linux IPC 进阶:System V 消息队列与信号量(含内核管理深度解析)
linux·运维·服务器·数据库·c++·人工智能·mysql
星马梦缘8 小时前
数据库作战记录1
数据库·sql·mysql
短剑重铸之日10 小时前
《ShardingSphere解读》07 读写分离:如何集成分库分表+数据库主从架构?
java·数据库·后端·架构·shardingsphere·分库分表
njidf10 小时前
用Python制作一个文字冒险游戏
jvm·数据库·python
鸡蛋灌Bean11 小时前
MySQL优化系列
数据库·mysql
数巨小码人11 小时前
平滑迁移:传统到国产数据库的2026转型之路
数据库