银河麒麟V10SP1部署达梦实时主备详细操作步骤(从创建虚拟机开始)

准备:VMware、银河麒麟V10SP1操作系统iso文件

ps:银河麒麟v10 SP1 下载地址

ps:达梦8  X86  Kylin10 下载地址

第一步:将iso文件复制出两份 共三份

主机 备机 监视器 三台设备不可用同一个iso文件!!!!!!!!!!!!!!!!

第二步:创建虚拟机,安装系统

按照图一步步走,版本不同可能会有区别

-------磁盘大小最低设置50GB不然装不上系统

打开虚拟机,选择安装系统选项。没来得及选也没关系,进入系统后,桌面有安装软件点击依然可以安装

现在不创建用户进入系统后也可创建

密码最低8位,后面安装达梦和设置root用户密码如果记不住可以和这个密码设置一样(学习使用)

第三步: 安装达梦数据库

3.1 设置root密码

sudo passwd root

切换root用户安装防火墙 ssh: 
apt-get update
apt-get install firewalld
apt-get install ssh

3.2 修改ssh配置:

vim /etc/ssh/sshd_config

键入 i 修改为下图所示

键入 Esc , :wq保存

3.3 开放 22;5236; 5336;5436;5536端口 :

firewall-cmd --add-port=22/tcp --permanent
firewall-cmd --add-port=5236/tcp --permanent
firewall-cmd --add-port=5336/tcp --permanent
firewall-cmd --add-port=5436/tcp --permanent
firewall-cmd --add-port=5536/tcp --permanent

重启防火墙:service firewalld restart

查看已开放的端口:firewall-cmd --list-all

3.4 设置共享文件(通过VMware设置共享文件夹后,再/mnt/路径下没有hfgs文件,所以使用此方法)

将Windows下需要使用的文件夹设置为共享

在麒麟系统中打开文件管理器,在搜索栏输入 smb://xxx.xxx.xxx.xxx (ip)即可访问

在弹出框中输入用户名密码(可自定义)后,点击连接即可

打开依然要输入用户密码(此用户密码与上面一致)
将共享文件中的达梦安装文件右击复制到数据盘 usershare文件夹中,
此时的达梦安装文件的路径为:/data/usershare/dm8_....._64.iso

3.5 安装达梦数据库

3.5.1 创建用户组,dmdba用户并设置密码

使用root用户执行一下命令:
groupadd dinstall  #创建用户组
useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba #创建dmdba用户
passwd dmdba   #设置密码

修改dmdba用户打开文件数:
vi /etc/security/limits.conf

直接拉至底部,键入 i 添加如下内容:
dmdba hard nofile 65536
dmdba soft nofile 65536
dmdba hard stack 32768
dmdba soft stack 16384

键入 Esc , :wq保存并退出
切换至dmdba用户检查:
su dmdba
ulimit -a

3.5.2 挂载安装文件

切换管理员用户 将之前拷贝的/data/usershare下达梦数据库文件挂载在 /mnt/目录下

su root

mount -o loop /data/usershare/dm8_setup_rh7_64_ent_8.1.1.45_20191121.iso /mnt

3.5.3 创建安装目录(可自定义),并修改权限

mkdir /home/dmdba/dm8/

chown dmdba:dinstall -R /home/dmdba/dm8/

chmod -R 755 /home/dmdba/dm8

3.5.4 切换dmdba用户安装数据库

su dmdba

cd /mnt/

./DMInstall.bin -i (命令行安装)   (可视化安装: ./DMInstall.bin)

在执行文件前会弹出此窗口,需要输入当前登录系统用户的密码后,才可执行命令!!!

切换至root用户执行以下命令:
su root

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

3.5.5 配置环境变量

配置环境变量:

cd /home/dmdba/

vim .bash_profile

添加以下内容:

export PATH=$PATH:$DM_HOME/bin:$DM_HOME/tool

切换dmdba用户执行.bash_profile文件:

su dmdba

source .bash_profile

第四步:搭建实时主备

准备工作:

配置项主机备机监视器
IP/守护进程IP192.168.153.148/158192.168.153.143/153192.168.153.144
实例名ZHUJIBEIJIJIANSHIQI
实例端口52365236
MAL端口53365336
MAL守护进程端口54365436
守护进程端口55365536
OGUID453331453331
安装目录/home/dmdba/dm8//home/dmdba/dm8//home/dmdba/dm8/
实例目录/home/dmdba/data//home/dmdba/data//home/dmdba/data/
其中:
IP ----- 虚拟机的网络ip 
守护进程IP-----需要通过设置的第二IP 也称(心跳IP)
实例名----- 后面会修改
实例目录----- 初始化达梦数据库的路径 

4.1 开放守护进程IP和端口 ------ 主库备库操作相同、IP不同

4.1.1 开放守护进程IP

1)备份网络配置文件

使用root用户执行以下命令:

sudo cp /etc/network/interfaces /etc/network/interfaces.bak

2)使用以下命令打开文件:

vim /etc/network/interfaces

添加如下内容:

auto ens33:1
iface ens33:1 inet static
address 192.168.153.158
netmask 255.255.255.0

==备注:ens33 使用 ifconfig查看

3)重启网络服务:

systemctl restart networking

4)验证:

ip addr show ens33:1

4.1.2 开放守护进程IP下端口

1)升级或下载iptables

sudo apt-get install iptables

2)开放端口 5236, 5336, 5436, 和 5536

sudo iptables -A INPUT -i ens33:1 -p tcp --dport 5236 -j ACCEPT
sudo iptables -A INPUT -i ens33:1 -p tcp --dport 5336 -j ACCEPT
sudo iptables -A INPUT -i ens33:1 -p tcp --dport 5436 -j ACCEPT
sudo iptables -A INPUT -i ens33:1 -p tcp --dport 5536 -j ACCEPT

3)创建个文件保存

sudo mkdir -p /etc/iptables

4)保存

sudo sh -c "iptables-save > /etc/iptables/rules.v4"

5)使用ping命令 和 telnet 验证

ping 192.168.153.158

telnet 192.168.153.158 5236


注:此时使用telnet命令会提示连接被拒绝,是因为还没创建配置守护进程。
只是提前将端口IP放开,以免后面会在监视器中出现 :
  组(GRP1)没有活动实例或者监视器还未收到守护进程消息。 


可以现在将防火墙关闭

使用root用户执行:

systemctl status firewalld  #查看防火墙状态

systemctl stop firewalld  #关闭防火墙 

systemctl disable firewalld #禁用

4.2 初始化数据库 ------主库 备库 操作相同

ZHUJI 机器上初始化主库至目录/home/dmdba/data:

使用dmdba用户进入达梦数据库安装bin目录下:

su dmdba

cd /home/dmdba/dm8/bin

./dminit path=/home/dmdba/data


注:执行命令后会弹出确认框,需要当前登录用户授权后才可执行


执行完后切换至root用户给/home/dmdba/data 添加权限:

chown dmdba:dinstall -R /home/dmdba/data/

chmod -R 755 /home/dmdba/data

至此建议给虚拟机拍摄快照,以免后续出错,可直接恢复至此!!!!!!

初始化后,使用dmdba先启动下数据库才可进行备份

在bin目录下执行:

./dmserver /home/dmdba/data/DAMENG/dm.ini


启动成功后,输入exit 关闭数据库,等待关闭即可

4.2.1 数据准备 --- 主备相同

1)配置 dm.ini,打开 ARCH_INI 归档参数:

使用dmdba用户执行以下命令:

vi /home/dmdba/data/DAMENG/dm.ini


打开后直接拉至底下 找到 ARCH_INI=0 修改为1打开归档配置

ARCH_INI = 1  

4.2.2 配置dmarch.ini文件 ---主备相同

执行以下命令,创建并编辑dmarch.ini文件:

vi /home/dmdba/data/DAMENG/dmarch.ini

打开后添加以下内容:

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL ##本地归档类型

ARCH_DEST = /home/dmdba/data/DAMENG/arch ##本地归档文件存放路径

ARCH_FILE_SIZE = 128 ##单位Mb,本地单个归档文件最大值

ARCH_SPACE_LIMIT = 0 ##单位Mb,0表示无限制,范围1024~2147483647M

4.3 备份主库数据,用来恢复备库数据保持一致性  主库执行即可

4.3.1 脱机备份

1)

使用dmdba用户 进入bin目录下执行:

./dmrman 

BACKUP DATABASE '/home/dmdba/data/DAMENG/dm.ini' FULL 
TO BACKUP_FILE1 BACKUPSET  '/home/dmdba/data/BACKUP_FILE_01';

4.3.2 联机备份 --- 参考达梦官方文档 7.1数据准备

4.4 配置主库

4.4.1 配置dm.ini 文件

dmdba用户执行以下命令打开dm.ini文件

vi /home/dmdba/data/DAMENG/dm.ini

修改以下内容:

NSTANCE_NAME = ZHUJI ##实例名 官方建议使用“组名_守护环境_序号”的命名方式,长度不能超过16

PORT_NUM = 5236 ##数据库实例监听端口

DW_INACTIVE_INTERVAL = 60 ##接收守护进程消息超时时间

ALTER_MODE_STATUS = 0 ##不允许手工方式修改实例模式/状态/OGUID

ENABLE_OFFLINE_TS = 2 ##不允许备库OFFLINE表空间

MAL_INI = 1 ##打开MAL系统

ARCH_INI = 1 ##打开归档配置

RLOG_SEND_APPLY_MON = 64 ##统计最近64次的日志发送信息

4.4.2 配置dmmal.ini ----主备库的配置必须相同

dmdba用户使用以下命令创建并打开文件:

vi /home/dmdba/data/DAMENG/dmmal.ini

添加以下配置:

MAL_CHECK_INTERVAL = 5 				##MAL链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 5 			##判定MAL链路断开的时间

[MAL_INST1]
	MAL_INST_NAME = ZHUJI 		##实例名,和dm.ini中的INSTANCE_NAME一致
	MAL_HOST = 192.168.153.158 		##MAL系统监听TCP连接的IP地址
	MAL_PORT = 5336 				##MAL系统监听TCP连接的端口
	MAL_INST_HOST = 192.168.153.148	##实例的对外服务IP地址
	MAL_INST_PORT = 5236 			##实例的对外服务端口,和dm.ini中的PORT_NUM一致
	MAL_DW_PORT = 5436 			##实例本地的守护进程监听TCP连接的端口
	MAL_INST_DW_PORT = 5536 		##实例监听守护进程TCP连接的端口

[MAL_INST2]
	MAL_INST_NAME = BEIJI
	MAL_HOST = 192.168.153.153
	MAL_PORT = 5336
	MAL_INST_HOST = 192.168.153.143
	MAL_INST_PORT = 5236
	MAL_DW_PORT = 5436
	MAL_INST_DW_PORT = 5536

4.4.3 配置dmarch.ini文件

主库的dmarch.ini文件中 ARCH_DEST 实例名为 备库的实例名,备库则相反

dmdba用户使用以下命令打开dmarch.ini文件:

vi /home/dmdba/data/DAMENG/dmarch.ini

添加以下配置:

[ARCHIVE_REALTIME]

ARCH_TYPE = REALTIME 				##实时归档类型

ARCH_DEST = BEIJI				##实时归档目标实例名

4.4.4 配置dmwatcher.ini文件

dmdba用户使用以下命令创建并打开dmwatcher.ini文件:

vi /home/dmdba/data/DAMENG/dmwatcher.ini

添加以下配置:

[GRP1]

DW_TYPE = GLOBAL 					##全局守护类型

DW_MODE = AUTO 						##自动切换模式

DW_ERROR_TIME = 10 					##远程守护进程故障认定时间

INST_RECOVER_TIME = 60 				##主库守护进程启动恢复的间隔时间

INST_ERROR_TIME = 10 				##本地实例故障认定时间

INST_OGUID = 453331 				##守护系统唯一OGUID值

INST_INI = /home/dmdba/data/DAMENG/dm.ini 	##dm.ini配置文件路径

INST_AUTO_RESTART = 1 				##打开实例的自动启动功能

INST_STARTUP_CMD = /home/dmdba/dm8/bin/dmserver	##命令行方式启动

RLOG_SEND_THRESHOLD = 0 			##指定主库发送日志到备库的时间阈值,默认关闭

RLOG_APPLY_THRESHOLD = 0 			##指定备库重演日志的时间阈值,默认关闭

4.4.5 以 mount 方式 启动主库

dmdba用户执行以下命令以mount 方式启动主库:

在bin目录下:

./dmserver /home/dmdba/data/DAMENG/dm.ini mount

4.4.6 设置OGUID 和 数据库模式

另外打开一个终端,切换至dmdba用户进入bin目录下:

su dmdba

cd /home/dmdba/dm8/bin

./disql SYSDBA/SYSDBA

SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

SQL>sp_set_oguid(453331);

SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

SQL>alter database primary;

至此主库配置完成,建议拍摄快照!!!!!!

4.5 配置备库

4.5.1 配置dm.ini文件

dmdba用户执行以下命令打开dm.ini文件

vi /home/dmdba/data/DAMENG/dm.ini

修改以下内容:

NSTANCE_NAME = BEIJI ##实例名 官方建议使用“组名_守护环境_序号”的命名方式,长度不能超过16

PORT_NUM = 5236 ##数据库实例监听端口

DW_INACTIVE_INTERVAL = 60 ##接收守护进程消息超时时间

ALTER_MODE_STATUS = 0 ##不允许手工方式修改实例模式/状态/OGUID

ENABLE_OFFLINE_TS = 2 ##不允许备库OFFLINE表空间

MAL_INI = 1 ##打开MAL系统

ARCH_INI = 1 ##打开归档配置

RLOG_SEND_APPLY_MON = 64 ##统计最近64次的日志发送信息

 

4.5.2 配置dmmal.ini文件  --- 主备库配置必须相同

dmdba用户使用以下命令创建并打开文件:

vi /home/dmdba/data/DAMENG/dmmal.ini

添加以下配置:

MAL_CHECK_INTERVAL = 5 				##MAL链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 5 			##判定MAL链路断开的时间

[MAL_INST1]
	MAL_INST_NAME = ZHUJI 		##实例名,和dm.ini中的INSTANCE_NAME一致
	MAL_HOST = 192.168.153.158 		##MAL系统监听TCP连接的IP地址
	MAL_PORT = 5336 				##MAL系统监听TCP连接的端口
	MAL_INST_HOST = 192.168.153.148	##实例的对外服务IP地址
	MAL_INST_PORT = 5236 			##实例的对外服务端口,和dm.ini中的PORT_NUM一致
	MAL_DW_PORT = 5436 			##实例本地的守护进程监听TCP连接的端口
	MAL_INST_DW_PORT = 5536 		##实例监听守护进程TCP连接的端口

[MAL_INST2]
	MAL_INST_NAME = BEIJI
	MAL_HOST = 192.168.153.153
	MAL_PORT = 5336
	MAL_INST_HOST = 192.168.153.143
	MAL_INST_PORT = 5236
	MAL_DW_PORT = 5436
	MAL_INST_DW_PORT = 5536

 

4.5.3 配置dmarch.ini文件

 备库的dmarch.ini文件中 ARCH_DEST 实例名为 主库的实例名,主库则相反

dmdba用户使用以下命令打开dmarch.ini文件:

vi /home/dmdba/data/DAMENG/dmarch.ini

添加以下配置:

[ARCHIVE_REALTIME]

ARCH_TYPE = REALTIME 				##实时归档类型

ARCH_DEST = ZHUJI				##实时归档目标实例名

4.5.4 配置dmwatcher.ini文件

dmdba用户使用以下命令创建并打开dmwatcher.ini文件:

vi /home/dmdba/data/DAMENG/dmwatcher.ini

添加以下配置:

[GRP1]

DW_TYPE = GLOBAL 					##全局守护类型

DW_MODE = AUTO 						##自动切换模式

DW_ERROR_TIME = 10 					##远程守护进程故障认定时间

INST_RECOVER_TIME = 60 				##主库守护进程启动恢复的间隔时间

INST_ERROR_TIME = 10 				##本地实例故障认定时间

INST_OGUID = 453331 				##守护系统唯一OGUID值

INST_INI = /home/dmdba/data/DAMENG/dm.ini 	##dm.ini配置文件路径

INST_AUTO_RESTART = 1 				##打开实例的自动启动功能

INST_STARTUP_CMD = /home/dmdba/dm8/bin/dmserver	##命令行方式启动

RLOG_APPLY_THRESHOLD = 0 			##指定备库重演日志的时间阈值,默认关闭

4.5.5 以 mount 方式 启动主库

dmdba用户执行以下命令以mount 方式启动主库:

在bin目录下:

./dmserver /home/dmdba/data/DAMENG/dm.ini mount

4.5.6 设置OGUID 和 数据库模式

另外打开一个终端,切换至dmdba用户进入bin目录下:

su dmdba

cd /home/dmdba/dm8/bin

./disql SYSDBA/SYSDBA

SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 1);

SQL>sp_set_oguid(453331);

SQL>alter database standby; 					
	
SQL>SP_SET_PARA_VALUE(1, 'ALTER_MODE_STATUS', 0);

4.5.7 使用主机将之前备份数据库文件拷贝至备机中

使用root用户拷贝文件:

su root

scp -r /home/dmdba/data/DAMENG/BACKUP_FILE_01 dmdba@192.168.153.153:/home/dmdba/data/DAMENG/

4.5.8 使用备份文件还原数据库

使用dmdba用户进入bin目录:

./dmrman 

RESTORE DATABASE '/home/dmdba/data/DAMENG/dm.ini' FROM BACKUPSET '/home/dmdba/data/BACKUP_FILE_01';

RECOVER DATABASE '/home/dmdba/data/DAMENG/dm.ini' UPDATE DB_MAGIC;

至此备库配置完成,建议拍摄快照!!!!!!

4.6 配置确认监视器 dmmonitor.ini文件

监视器虽然不需要启动达梦数据库,但会用到其他文件,所以还是需要安装达梦数据库。

创建虚拟机和安装达梦数据库操作相同,只需要到初始化这一步即可。

不需要额外开放第二个IP和端口。

资源不够也可以创建在主机和备机中,直接进行到下一步
使用dmdba用户创建并打开dmmonitor.ini文件:

vi /home/dmdba/data/dmmonitor.ini

添加如下配置:

MON_DW_CONFIRM = 1 			##确认监视器模式

MON_LOG_PATH = /home/dmdba/data/dmmonitor/log ##监视器日志文件存放路径

MON_LOG_INTERVAL = 60 		##每隔60s定时记录系统信息到日志文件

MON_LOG_FILE_SIZE = 32 		##每个日志文件最大32M

MON_LOG_SPACE_LIMIT = 0 	##不限定日志文件总占用空间

[GRP1]

	MON_INST_OGUID = 453331 ##组GRP1的唯一OGUID值

##以下配置为监视器到组GRP1的守护进程的连接信息,以“IP:PORT”的形式配置

##IP对应dmmal.ini中的MAL_HOST,PORT对应dmmal.ini中的MAL_DW_PORT

	MON_DW_IP = 192.168.153.153:5436

	MON_DW_IP = 192.168.153.158:5436

至此监视器配置完成,建议拍摄快照!!!!!!!!

第五步: 启动实时主备

启动顺序:

主库数据库服务 --> 备库数据库服务 -->主库守护进程 --> 备库守护进程 --> 监视器

关闭顺序:

监视器 --> 备库守护进程 --> 主库守护进程 --> 备库数据库服务 --> 主库数据库服务 

以下命令都是使用dmdba用户在bin目录下执行

1)主库数据库服务: (如果是按照流程到这里,那么已经启动了)

./dmserver /home/dmdba/data/DAMENG/dm.ini mount

2)备库数据库服务 (如果是一步步到这,则已经启动了)

./dmserver /home/dmdba/data/DAMENG/dm.ini mount

3)主库守护进程

./dmwatcher.ini /home/dmdba/data/DAMENG/dmwatcher.ini

4)备库守护进程

./dmwatcher.ini /home/dmdba/data/DAMENG/dmwatcher.ini

5)启动监视器

./dmmonitor /home/dmdba/data/dmmonitor.ini

输入 show查看信息

检测:是否搭建成功

在主库创建用户测试一下在备库是否可以直接登录:

在bin目录下:

./disql SYSDBA/SYSDBA

create user Tester identified by  "test123456";

grant resource to Tester;

grant dba to Tester;

grant public to Tester;

在备库使用Tester用户登录数据库

至此搭建完成,有不足之处,即时指出。感谢各位!!!!

  • 13
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

卌罖

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

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

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

打赏作者

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

抵扣说明:

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

余额充值