达梦数据库单实例本地守护配置及故障模拟

配置单实例本地守护后,当单实例数据库故障导致服务进程中断时,达梦数据守护进程会尝试将数据库服务进程拉起,如果可以拉起并正常对外提供服务,可以一定程度上降低系统风险,减少损失,避免数据库的异常宕机问题。以下是简单配置方法:

本文目录规划:

数据库软件安装目录:/dm8/dmdbms

数据库及数据文件目录:/dmdata

1.初始化数据库

su - dmdba
cd /dm8/dmdbms/bin
./dminit path=/dmdata/ page_size=32 extent_size=32 charset=0 log_size=2048 db_name=DAMENG

2.注册数据库服务

su - root
cd /dm8/dmdbms/script/root
./dm_service_installer.sh -t dmserver -p DMSERVER -dm_ini /dmdata/DAMENG/dm.ini

3.前台启动数据库,查看是否异常(该步骤实际可忽略)

su - dmdba
cd /dm8/dmdbms/bin
./dmserver /dmdata/DAMENG/dm.ini

4.启动到mount状态,配置oguid

数据库初始化后,默认数据库oguid为0,此处也可不单独设置oguid,如果未设置,则配置dmwatcher.ini时参数INST_OGUID需配置为0

su - dmdba
cd /dm8/dmdbms/bin
./disql SYSDBA/SYSDBA@LOCALHOST:5236
SQL> alter database mount;
SQL> sp_set_oguid(20221229);

5.停库,修改dm.ini配置文件

su - dmdba
vim /dmdata/DAMENG/dm.ini
MAL_INI=1 #将该值修改为1
ARCH_INI=1 #将该值修改为1

6.修改dmmal.ini配置文件

su - dmdba
vim /dmdata/DAMENG/dmmal.ini
MAL_CHECK_INTERVAL=10
MAL_CONN_FAIL_INTERVAL=10
[MAL_INST]
MAL_INST_NAME=DMSERVER
MAL_HOST=10.10.10.13
MAL_PORT=61141
MAL_INST_HOST=192.168.10.13
MAL_INST_PORT=5236
MAL_DW_PORT=52141
MAL_INST_DW_PORT=33141

7.修改dmwatcher.ini配置文件

su - dmdba
vim /dmdata/DAMENG/dmwatcher.ini
[GRP1]
DW_TYPE = LOCAL
DW_MODE = AUTO
DW_ERROR_TIME = 10
INST_ERROR_TIME = 10
INST_OGUID = 20221229 #如果未单独设置过数据库OGUID,则此处应为0
INST_INI = /dmdata/DAMENG/dm.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /dm8/dmdbms/bin/DmServiceDMSERVER start

8.注册守护服务

su - root
cd /dm8/dmdbms/script/root
./dm_service_installer.sh -t dmwatcher -p DMSERVER -watcher_ini /dmdata/DAMENG/dmwatcher.ini

9.启动数据库服务

su - dmdba
cd /dm8/dmdbms/bin
./DmServiceDMSERVER start

10.启动守护服务

su - dmdba
cd /dm8/dmdbms/bin
./DmWatcherServiceDMSERVER start

11.模拟实例故障,查看是否会自动重启

--强制杀死数据库进程
pgrep dmserver|xargs kill -9
--检查进程是否存在或是否重启
ps -ef|grep dmserver

查询达梦数据库实例名通常需要通过相应的管理工具或者命令行界面进行操作,下面将分别介绍这两种情况下的查询方法。 ### 使用达梦数据管理工具 如果你正在使用达梦的数据管理工具,比如DMS(Data Management Studio),那么可以在工具界面上直接找到实例的信息。以下是基本步骤: 1. 打开DMS客户端并连接到你需要查询的数据库服务器。 2. 点击“实例”或“系统信息”的选项卡。 3. 在这里你可以看到当前连接的实例名称以及其他相关的系统信息。 ### 使用达梦SQL命令行 如果你更倾向于使用命令行的方式访问达梦数据库,可以利用`SHOW`命令来查看实例名等系统信息。以下是具体的命令: ```sql SHOW SYSTEM; ``` 这个命令会显示一系列关于当前数据库系统的详细信息,包括实例名、运行状态、版本、日期时间等等。其中实例名通常会在输出的结果中明确指出。 ### 相关问题 - 达梦数据库管理 1. **如何配置达梦数据库实例名**? 在安装达梦数据库过程中,通常需要设置实例名作为识别该特定数据库环境的一个标志,这一步骤往往在创建新实例时进行。 - **解答**:在安装达梦数据库软件时,在安装向导中选择新建实例时,用户会被提示输入实例名。这是一个关键步骤,确保了实例之间的区分,并影响着后续的一些配置文件命名和路径设定。 2. **达梦数据库实例的状态管理**有哪些常见的命令或者操作? 实例状态对于数据库的正常运行至关重要。 - **解答**:管理达梦数据库实例的状态,主要包括启动、停止、重启以及检查状态的操作。可以通过如下命令进行: ```bash dmctl stop INSTANCE_NAME dmctl start INSTANCE_NAME ``` 这里`INSTANCE_NAME`应该替换为你想要管理的具体实例名称。同时,可以使用 `dmctl status INSTANCE_NAME` 来检查实例的状态是否正常运行。 3. **在分布式环境中如何同步达梦数据库实例名**? 分布式环境下保证各节点对实例名的一致性非常重要。 - **解答**:在分布式环境中同步实例名主要是通过配置文件、元数据共享机制或者集群管理系统来实现一致性和协调性的。具体做法依赖于使用的集群管理和数据复制技术(如达梦数据库自身的集群功能或第三方工具)。例如,通过定期更新主从复制链路中的实例列表,或者利用配置中心(如果有提供)统一管理实例配置信息。 以上内容涵盖了查询、配置及管理达梦数据库实例的基本知识,希望能帮助您更好地理解和操作达梦数据库的相关事宜。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DB实践

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值