主备架构切换为单机架构

  • 前言
  • 操作前的准备
  • 1、确认数据库状态
  • 登陆监视器
  • 2、检查相应的日志文件
  • 3、备份配置文件
  • 关闭数据库&修改配置
  • 1、关闭数据库
  • 1.1 停应用
  • 1.2 关闭确认监视器
  • 1.3 停止数据库服务
  • 1.4 停止守护进程
  • 2、修改配置
  • 2.1、修改dm.ini
  • 2.2、修改 dmarch.ini
  • 启动数据库
  • 修改后台服务脚本
  • 启动后台服务脚本
  • 修改服务名


前言

在我们使用达梦的过程中,会遇到采取架构判断错误的情况,为了节约服务器资源,我们可能会对数据库的架构进行一个降级。

下面,我们来试验一下,将主备架构(一主一备,监视器)改为单机库。

操作前的准备

1、确认数据库状态

登陆监视器

确认以下位置

数据库位置:/opt/dmdbms/bin
配置文件:/dmdata/dbdata/DAMENG/
cd /opt/dmdbms/bin
./dmmonitor path=/dmdata/dbdata/DAMENG/dmmonitor.ini

进入后 执行show 确认相关数据库状态。

达梦数据库切换mysql 达梦数据库切换库_数据库

2、检查相应的日志文件

数据库服务日志,守护进程日志,无异常情况,再执行下一步操作。

3、备份配置文件

cp /dmdata/dbdata/DAMENG/dm.ini /dmdata/dbdata/DAMENG/dm_old.ini

cp /dmdata/dbdata/DAMENG/dmmal.ini /dmdata/dbdata/DAMENG/dmmal_old.ini

cp /dmdata/dbdata/DAMENG/dmarch.ini /dmdata/dbdata/DAMENG/dmarch_old.ini

cp /dmdata/dbdata/DAMENG/dmwatcher.ini /dmdata/dbdata/DAMENG/dmwatch_old.ini

关闭数据库&修改配置

1、关闭数据库

1.1 停应用

首先停止在运行的应用,待数据库查询不到活动会话后,执行下面的操作。

1.2 关闭确认监视器

停止确认监视器

ps -ef|grep dmm   (确认确认监视器进程,在第三台服务器上)

./DmMonitor stop    (数据库bin目录下执行)

1.3 停止数据库服务

登录非确认监视器

. /dmmonitor path=./dmmonitor.ini(按照实际的来写)

执行以下操作

show
login
输入用户名:SYSDBA
输入密码:SYADBA

stop group

达梦数据库切换mysql 达梦数据库切换库_dba_02

1.4 停止守护进程

./DmWatcherService stop (数据库bin目录下执行,主备均需要)

2、修改配置

2.1、修改dm.ini

MAL_INI=0   //关闭mal通信

ALTER_MODE_STATUS=1 //是否允许手工修改服务器的模式、状态和 OGUID,1:允许;0:不允许。 注:数据守护环境下建议配置为 0,实例处于 主机或备机模式后,不允许用户直接通过 SQL 语句修改服务器的模式、状态和 OGUID。

2.2、修改 dmarch.ini

原配置(例子,按实际来写)

[ARCHIVE_REALTIME]
ARCH_TYPE     = REALTIME  #实时归档类型
ARCH_DEST     = dmrw2   #实时归档目标实例名(主库侧填写备库实例名)
[ARCHIVE_LOCAL1]
ARCH_TYPE     = LOCAL #本地归档类型
ARCH_DEST     = /dmdata /dmarch #本地归档文件存放路径
ARCH_FILE_SIZE    = 2048 #单位 MB,本地单个归档文件最大值
ARCH_SPACE_LIMIT  = 102400    #单位 MB,0 表示无限制,范围 1024~4294967294 MB

修改为:

[ARCHIVE_LOCAL1]
ARCH_TYPE     = LOCAL #本地归档类型
ARCH_DEST     = /dmdata /dmarch #本地归档文件存放路径
ARCH_FILE_SIZE    = 2048 #单位 MB,本地单个归档文件最大值
ARCH_SPACE_LIMIT  = 102400   #单位 MB,0 表示无限制,范围 1024~4294967294 MB

启动数据库

前台启动:(在保留的机器上做)

cd /opt/dmdbms/bin
./dmserver /dmdata/dbdata/DAMENG/dm.ini

./disql SYSDBA/SYSDBA

ALTER DATABASE NORMAL;
ALTER DATABASE OPEN;

检查数据库状态

SELECT * FROM V$INSTANCE;

确认状态为open以及normal

后exit退出disql 以及 数据库服务

达梦数据库切换mysql 达梦数据库切换库_数据库_03

测试环境截图

修改后台服务脚本

修改脚本启动的模式为open

达梦数据库切换mysql 达梦数据库切换库_database_04

查看是否有开机自动启动的服务,需要将dmwatcher,确认监视器的关闭掉,影响系统的错误日志,导致查看日志产生误解。

chkconfig --list 查看系统服务运行状态信息
chkconfig --del dmserverd  #删除httpd服务

检查到存在系统服务运行状态信息,需要修改/etc/init.d下的后台启动脚本,修改脚本启动的模式为open。

启动后台服务脚本

./DmServiced start

达梦数据库切换mysql 达梦数据库切换库_归档文件_05

查询v$instancev$license视图,确认信息无误。

达梦数据库切换mysql 达梦数据库切换库_归档文件_06

提示以上信息,完成作业。

修改服务名

操作完成后,如果有配置服务名方式连接,需要修改应用连接方式,采用ip直连的方式替换使用服务名的方式,需要注释掉服务名原有的配置。