达梦数据库在Linux,信创云 安装,备份,还原

(一)系统环境检查

1操作系统:确认使用的是国产麒麟操作系统,检查系统版本是否兼容达梦数据库 V8。可以通过以下命令查看系统版本:

cat /etc/os-release

2硬件资源:确保服务器具备足够的硬件资源,建议最低配置为:

CPU:2 核及以上

内存:4GB 及以上

磁盘空间:安装目录至少需要 2GB 可用空间,数据存储目录根据实际需求预留足够空间。

命令

(一)挂载资源cd /opt 切换到 opt 目录:把对应安装包放入上去

安装包拖拽到 opt

安装前必须创建 dmdba 用户,禁止使用 root 用户安装数据库

(二)创建用户和用户组

为了安全和管理方便,创建专门的用户和用户组来安装和运行达梦数据库。

1.创建用户所在的组,命令如下:

groupadd dinstall -g 2001

2.创建用户,命令如下:

useradd -G dinstall -m -d /home/dmdba -s /bin/bash -u 2001 dmdba

3.修改用户密码,命令如下:

passwd dmdba

passwd Dameng123

(三)、修改文件打开最大数

1.limits.conf追加参数 使用 root 用户

vi /etc/security/limits.conf

追加

dmdba soft nice 0

dmdba hard nice 0

dmdba soft as unlimited

dmdba hard as unlimited

dmdba soft fsize unlimited

dmdba hard fsize unlimited

dmdba soft nproc 65536

dmdba hard nproc 65536

dmdba soft nofile 65536

dmdba hard nofile 65536

dmdba soft core unlimited

dmdba hard core unlimited

dmdba soft data unlimited

dmdba hard data unlimited

修改配置文件后重启服务器生效

切换到 dmdba 用户,查看是否生效

su - dmdba

ulimit -a

看到上面的65536对应上了就好

(四)目录

默认配置 DM 数据库安装在 /home/dmdba 文件夹下

##实例保存目录

mkdir -p /dmdata/data

##归档保存目录

mkdir -p /dmdata/arch

##备份保存目录

mkdir -p /dmdata/dmbak

4.1修改目录权限

将新建的路径目录权限的用户修改为 dmdba,用户组修改为 dinstall。命令如下:

chown -R dmdba:dinstall /dmdata/data

chown -R dmdba:dinstall /dmdata/arch

chown -R dmdba:dinstall /dmdata/dmbak

给路径下的文件设置 755 权限。命令如下:

chmod -R 755 /dmdata/data

chmod -R 755 /dmdata/arch

chmod -R 755 /dmdata/dmbak

4.进行安装(opt是上传的路径,mnt是解压包安装路径)

切换到 root 用户,将 DM 数据库的 iso 安装包保存在任意位置,例如 /opt 目录下,执行如下命令挂载镜像:

cd /opt

mount -o loop dm8_20240116_x86_rh7_64.iso /mnt

切换至 dmdba 用户

su - dmdba

cd /mnt

执行安装命令:

./DMInstall.bin -i

回答

1 y y 21 1 y

从这里开始都是用root用户进行操作

su - root

创建 DmAPService,否则会影响数据库备份

/home/dmdba/dmdbms/script/root/root_installer.sh

5.配置环境变量

切换到root用进入dmdba用户根目录下,配置相对应环境变量,DM_HOME会在数据库安装完成之后自动导入

cd /home/dmdba/

vi .bash_profile

su - dmdba

source .bash_profile

三、配置实例

cd /home/dmdba/dmdbms/bin

开始配置实例,初始化实例参数

./dminit path=/dmdata/data PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=N

CHARSET=1 DB_NAME=DMTEST INSTANCE_NAME=DBSERVER PORT_NUM=5237 BUFFER=2048

SYSDBA_PWD=MyDb@2025Pass SYSAUDITOR_PWD=Audit@2025Secure

四、注册成服务

注册服务需要使用root用户注册,使用root用户进入数据库的安装目录的 /script/root下

cd /home/dmdba/dmdbms/script/root/

注意:

配置的路径中的DAMENG就是第三步配置的名称,检查第三步所配置的是否一致

DMSERVER是即将被注册成服务的服务名

./dm_service_installer.sh -t dmserver -dm_ini /dmdata/data/DMTEST/dm.ini -p DMTEST

备注(安装路径)

cd /home/dmdba/dmdbms/bin

五、启动、停止、重启数据库

自动开机开启服务

systemctl enable DmServiceDMTEST.service

systemctl start DmServiceDMTEST.service

systemctl stop DmServiceDMTEST.service

systemctl status DmServiceDMTEST.service

或者目录启动

cd /home/dmdba/dmdbms/bin

./DmServiceDMTEST stop

查看是否打开防火墙,如果打开了,需要放开端口,不然不能访问

firewall-cmd --zone=public --add-port=5237/tcp --permanent (permanent永久生效,没有此参数重启后失效)

sudo firewall-cmd --reload

sudo firewall-cmd --list-all

测试访问

页面设置定时备份:一周一个全量,一天一个增量

删除30天前的数据代理脚本

call SF_BAKSET_BACKUP_DIR_ADD('DISK', '/data/dmdata/dmbak');

CALL SP_DB_BAKSET_REMOVE_BATCH('DISK', NOW()-30);

查找

find / -name "dm.ini" 2>/dev/null

find / -name "dmdbms" 2>/dev/null

文件查找/ n是下一个, sheft+n是上一个

--修改最大访问数MAX_SESSIONS

vi /dmdbms/data/DAMENG/dm.ini

--设置账号密码

./dminit path=/dmdata/data PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=y CHARSET=1 DB_NAME=DMTEST INSTANCE_NAME=DBSERVER PORT_NUM=5237 SYSDBA_PWD=MyDb@2025Pass SYSAUDITOR_PWD=Audit@2025Secure

1恢复全量数据命令

CHECK BACKUPSET '/opt/DB_CDMZHD_FULL_2025_03_01_23_00_42.bak';

RESTORE DATABASE '/dmdata/data/DMTEST/dm.ini' FROM BACKUPSET '/opt/DB_CDMZHD_FULL_2025_03_01_23_00_42';

2恢复增量数据命令

RECOVER DATABASE '/dmdata/data/DMTEST/dm.ini' FROM BACKUPSET '/opt/DB_CDMZHD_FULL_2025_03_01_23_00_42';

3更新数据库

RECOVER DATABASE '/dmdata/data/DMTEST/dm.ini' UPDATE DB_MAGIC;

注意!这里的是文件夹目录(依据备份产生的数据来)

里面的数据是全部要复制到指定目录里面去的

--查看最大会话数

SELECT SF_GET_PARA_VALUE(2, 'MAX_SESSIONS');

-- 获取INI文件中的配置参数值

SELECT SF_GET_PARA_VALUE(1, 'MAX_SESSIONS') FROM DUAL;

-- 获取内存中的配置参数值

SELECT SF_GET_PARA_VALUE(2, 'MAX_SESSIONS') FROM DUAL;

--查看所有参数

SELECT * FROM V$DM_INI;

--获取CPU核心数

SELECT N_CPU FROM V$SYSTEMINFO;

--获取物理内存大小(GB)

SELECT TOTAL_PHY_SIZE/1024/1024/1024 AS TOTAL_MEMORY_MB FROM V$SYSTEMINFO;

DECLARE

v_cpus INT;

v_mem_mb INT;

BEGIN

-- 获取CPU核心数

SELECT N_CPU INTO v_cpus FROM V$SYSTEMINFO;

-- 获取物理内存大小(GB)

SELECT TOTAL_PHY_SIZE/1024/1024/1024 INTO v_mem_mb FROM V$SYSTEMINFO;

-- 输出结果

PRINT 'CPU Cores: ' || v_cpus;

PRINT 'Total Memory (GB): ' || v_mem_mb;

END;

SELECT * FROM V$PARAMETER WHERE NAME LIKE '%SVR_LOG%';

SP_REFRESH_SVR_LOG_CONFIG();

sp_set_para_value(1,'SVR_LOG',1);

select * from v$parameter where name like 'SVR_LOG';

相关推荐
纷飞梦雪1 小时前
使用chroot预安装软件到ubuntu22中
linux·运维·ubuntu
小羊在奋斗4 小时前
【Linux网络】NAT技术、DNS系统、五种IO模型
linux·网络·智能路由器
明矾java5 小时前
MySQL进阶-关联查询优化
数据库·mysql
冰糖码奇朵5 小时前
大数据表高效导入导出解决方案,mysql数据库LOAD DATA命令和INTO OUTFILE命令详解
java·数据库·sql·mysql
迷路的小犀牛5 小时前
【MYSQL数据库异常处理】执行SQL语句报超时异常
数据库·sql·mysql
jiarg6 小时前
linux 内网下载 yum 依赖问题
linux·运维·服务器
yi个名字6 小时前
Linux第一课
linux·运维·服务器
Kurbaneli6 小时前
深入理解 C 语言函数的定义
linux·c语言·ubuntu
极限实验室6 小时前
INFINI Labs 产品更新 | Easysearch 增加异步搜索等新特性
数据库