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

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

流程步骤

(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

--检查是否开启审计及审计日志相关

dmdba@192 \~$ disql SYSAUDITOR/HUN_admin2026@localhost:5237

SELECT * FROM V$DM_INI WHERE PARA_NAME='ENABLE_AUDIT';

select * from V$AUDIT_SPACE;

--检查备份作业文件路径

select * from SYSJOB.SYSJOBS;

select * from SYSJOB.SYSJOBSTEPS;

(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

如果有开启审计,如果需要修改审计日志路径再 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

(8)修改/datas/dmdata/DAMENG/dmarch.ini归档路径配置

dmdba@192 DAMENG$ vi /datas/dmdata/DAMENG/dmarch.ini

dmdba@192 DAMENG$ cat /datas/dmdata/DAMENG/dmarch.ini

(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

(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 VTABLESPACE AS TS, VDATAFILE 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://eco.dameng.com/

相关推荐
数字智核7 小时前
2026昆山工厂空压机突然停机怎么办?找谁抢修
服务器·网络·数据库
AAA代码批发商7 小时前
Days 39 Linux C 开发之 SQLite 数据库完整学习笔记
linux·c语言·数据库
笑梦无境7 小时前
mysql的安装及配置(3)
数据库·mysql·adb
电商API_180079052477 小时前
跨境1688代采商家,如何借助API打通供应链,实现效率跃迁
大数据·数据库·网络爬虫
小雪崩7 小时前
嵌入式学习 day40:数据库
数据库·学习
Aloudata7 小时前
语义层 vs MCP 工具层:Agent 调用数据时,语义应该放在哪一层
数据库·数据分析·chatbi·data agent·语义层
zcmodeltech7 小时前
源网荷储一体化沙盘模型多场景控制系统设计——基于STM32与Modbus RTU的源网荷储、多能互补、冷热电三联供全场景联动方案,服务范围覆盖全国
数据库·人工智能·stm32·单片机·嵌入式硬件
数智启示录7 小时前
PostgreSQL 执行计划实战(第 9 篇):SQL 和索引没变,计划为什么突然慢一百倍
数据库·经验分享·sql·postgresql·面试
Gent_倪8 小时前
MySQL分库、分表、分区详解
数据库·mysql
额额额对了8 小时前
Linux 数据库开发实战:使用 C 语言与 SQLite3 构建轻量级终端词典
linux·数据库·oracle