DM8 达梦 共享存储数据库集群-- 搭建实战 2节点的DMDSC 环境(DMASM)

DM8 达梦 共享存储数据库集群-- 搭建实战 2节点的DMDSC 环境(DMASM

 

1 环境准备

配置环境说明

主机

IP地址

实例名

操作系统

DMDSC1

192.168.2.161(外部服务)
  192.168.140.161(内部通信)

RAC1

UOS 20

DMDSC2

192.168.2.162(外部服务)
  192.168.140.162(内部通信)

RAC2

UOS 20

2 安装DM 软件

DSC 的配置工具在DM的软件介质中,所以需要先安装好DM软件。具体参考博客:

Linux 平台 达梦 DM7 单实例 安装手册 详细截图版 
https://www.cndba.cn/dave/article/3565

 

3 共享存储环境准备

在虚拟机上RAC 1上,创建7个共享磁盘,规划如下:

Dcr disk: 200M          3G
Voting disk: 200M     3G
Log disk: 2G               5G
Data disk1: 3G           10G
Data disk2: 3G           10G
Data disk3: 3G
Data disk4: 3G

VBOX 共享配置可以使用命令行也可以直接使用图形界面操作。 命令行操作可以参考我的博客:

Oracle Linux 配置 UDEV SCSI Rules 说明
https://www.cndba.cn/Dave/article/934  

最终共享存储配置如下:

 

4 绑定UDEV  (UOS无法识别scsi_id号,银河麒麟可以)

在之前步骤创建好raw设备之后,在操作系统层面可以直接看到这些硬盘:

[root@dmdsc1 ~]# fdisk -l|grep "Disk /dev/sd*"

Disk /dev/sdc: 3 GiB, 3221225472 bytes, 6291456 sectors

Disk /dev/sdb: 3 GiB, 3221225472 bytes, 6291456 sectors

Disk /dev/sdd: 5 GiB, 5368709120 bytes, 10485760 sectors

Disk /dev/sdf: 10 GiB, 10737418240 bytes, 20971520 sectors

Disk /dev/sde: 10 GiB, 10737418240 bytes, 20971520 sectors

Disk /dev/sda: 64 GiB, 68719476736 bytes, 134217728 sectors    //系统盘

[root@dmdsc1 ~]#

因为我们划分了多个磁盘,这些盘符在每次系统启动后并不唯一,所以我们先使用UDEV绑定后,再绑定成raw设备。

UDEV的绑定可以参考如下2篇博客:

不同版本Redhat配置udev共享磁盘命令
https://www.cndba.cn/Expect-le/article/2961
Oracle Linux
配置 UDEV SCSI Rules 说明
https://www.cndba.cn/Dave/article/934

UOS20操作系统,命令如下,完成UDEV绑定:

/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdc UOS无法识别驱动号)

for i in b c d e;

do

echo "KERNEL==\"sd*\", BUS==\"scsi\", PROGRAM==\"/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/\$name\", RESULT==\"`/usr/lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`\", NAME=\"dm-disk$i\", OWNER=\"dmdba\", GROUP=\"dinstall\", MODE=\"0660\""  >> /etc/udev/rules.d/99-dm-devices.rules

done;

 

[root@dmdsc1 ~]# cat /etc/udev/rules.d/99-dm-devices.rules

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VB031e6b3e-fe4f1cc1", NAME="dm-diskb", OWNER="dmdba", GROUP="dinstall", MODE="0660"

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VB053132b8-9695c593", NAME="dm-diskc", OWNER="dmdba", GROUP="dinstall", MODE="0660"

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VBce80b2c8-33ddeba9", NAME="dm-diskd", OWNER="dmdba", GROUP="dinstall", MODE="0660"

KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="1ATA_VBOX_HARDDISK_VBbce3434f-2ff172fa", NAME="dm-diske", OWNER="dmdba", GROUP="dinstall", MODE="0660"

[root@dmdsc2 ~]#  

 

#重启UDEV 查看绑定:

[root@dmdsc1 rules.d]# start_udev

正在启动 udev                                            [确定]

[root@dmdsc1 rules.d]#

 

[root@dmdsc2 ~]# ll /dev/dm*

brw-rw----. 1 dmdba dinstall 8, 32 Sep 18 13:19 /dev/dm-diskb

brw-rw----. 1 dmdba dinstall 8, 64 Sep 18 13:14 /dev/dm-diskc

brw-rw----. 1 dmdba dinstall 8, 48 Sep 18 13:14 /dev/dm-diskd

brw-rw----. 1 dmdba dinstall 8, 16 Sep 18 13:14 /dev/dm-diske

[root@dmdsc2 ~]#

将结果直接字节复制到另一个节点,因为同一硬件设备UUID相同。

5 配置raw设备

在官方文档raw的配置是写入到/etc/udev/rules.d/60-raw.rules 文件,但因为我们之前的UDEV 规则顺序比60-raw低,所以我们这里把raw配置直接写入到/etc/rc.local 中,以防映射失败。

在rc.local 中添加如下内容:

[root@dmdsc1 ~]# cat /etc/rc.d/rc.local

 

#DCR

raw /dev/raw/raw1 /dev/dm-diskb

sleep 2

chown dmdba:dinstall /dev/raw/raw1

chmod 660 /dev/raw/raw1

 

#Votingdisk

raw /dev/raw/raw2 /dev/dm-diskc

sleep 2

chown dmdba:dinstall /dev/raw/raw2

chmod 660 /dev/raw/raw2

 

 

#LOG

raw /dev/raw/raw3 /dev/dm-diskd

sleep 2

chown dmdba:dinstall /dev/raw/raw3

chmod 660 /dev/raw/raw3

 

#Data

raw /dev/raw/raw4 /dev/dm-diske

sleep 2

chown dmdba:dinstall /dev/raw/raw4

chmod 660 /dev/raw/raw4

 

touch /var/lock/subsys/local

#注意这里必须放在最后一行,否则开机不会自动映射raw设备。

查看裸设备大小:

[root@dmdsc1 dev]# blockdev —getsize64 /dev/raw/raw1

6 配置dmdcr_cfg.ini 文件

在2个节点的/dm/dmdbms/data目录下创建配置文件dmdcr_cfg.ini,在文件中添加如下内容:

[dmdba@dmdsc1 data]$ cat dmdcr_cfg.ini

DCR_N_GRP = 3

DCR_VTD_PATH = /dev/raw/raw2

DCR_OGUID = 63635

 

[GRP]

DCR_GRP_TYPE = CSS

DCR_GRP_NAME = GRP_CSS

DCR_GRP_N_EP = 2

DCR_GRP_DSKCHK_CNT = 60

[GRP_CSS]

DCR_EP_NAME = CSS0

DCR_EP_HOST = 192.168.140.161

DCR_EP_PORT = 9541

[GRP_CSS]

DCR_EP_NAME = CSS1

DCR_EP_HOST = 192.168.140.162

DCR_EP_PORT = 9542

 

[GRP]

DCR_GRP_TYPE = ASM

DCR_GRP_NAME = GRP_ASM

DCR_GRP_N_EP = 2

DCR_GRP_DSKCHK_CNT = 60

[GRP_ASM]

DCR_EP_NAME = ASM0

DCR_EP_SHM_KEY = 93360

DCR_EP_SHM_SIZE = 10

DCR_EP_HOST = 192.168.2.161

DCR_EP_PORT = 9641

DCR_EP_ASM_LOAD_PATH = /dev/raw

[GRP_ASM]

DCR_EP_NAME = ASM1

DCR_EP_SHM_KEY = 93361

DCR_EP_SHM_SIZE = 10

DCR_EP_HOST = 192.168.2.162

DCR_EP_PORT = 9642

DCR_EP_ASM_LOAD_PATH = /dev/raw

 

[GRP]

DCR_GRP_TYPE = DB

DCR_GRP_NAME = GRP_RAC

DCR_GRP_N_EP = 2

DCR_GRP_DSKCHK_CNT = 60

[GRP_RAC]

DCR_EP_NAME = RAC1

DCR_EP_SEQNO = 0

DCR_EP_PORT = 5236

DCR_CHECK_PORT = 9741

[GRP_RAC]

DCR_EP_NAME = RAC2

DCR_EP_SEQNO = 1

DCR_EP_PORT = 5236

DCR_CHECK_PORT = 9742

[dmdba@dmdsc1 data]$

7 使用 DMASMCMD 工具初始化
在任意一台节点上用dmasmcmd工具执行如下命令:

create dcrdisk '/dev/raw/raw1' 'dcr'

create votedisk '/dev/raw/raw2' 'vote'

create asmdisk '/dev/raw/raw3' 'LOG0' 

create asmdisk '/dev/raw/raw4' 'DATA0'

init dcrdisk '/dev/raw/raw1' from '/dm/dmdbms/data/dmdcr_cfg.ini' identified by 'cndba'

init votedisk '/dev/raw/raw2' from '/dm/dmdbms/data/dmdcr_cfg.ini'

 

 

[dmdba@dmdsc1 data]$ dmasmcmd

DMASMCMD V7.6.0.95-Build(2018.09.13-97108)ENT

ASM>create dcrdisk '/dev/raw/raw1' 'dcr'

the ASM initialize dcrdisk /dev/raw/raw1 to name DMASMdcr

Used time: 23.624(ms).

ASM>create votedisk '/dev/raw/raw2' 'vote'

the ASM initialize votedisk /dev/raw/raw2 to name DMASMvote

Used time: 10.102(ms).

ASM>create asmdisk '/dev/raw/raw3' 'LOG0'

the ASM initialize asmdisk /dev/raw/raw3 to name DMASMLOG0

Used time: 17.879(ms).

ASM>create asmdisk '/dev/raw/raw4' 'DATA0'

the ASM initialize asmdisk /dev/raw/raw4 to name DMASMDATA0

Used time: 10.488(ms).

ASM>init dcrdisk '/dev/raw/raw1' from '/dm/dmdbms/data/dmdcr_cfg.ini' identified by 'www.cndba.cn'  

[Trace]DG 126 allocate 4 extents for file 0xfe000002. 

Check dcr disk failed, please check and try again

Used time: 566.589(ms).

ASM>init dcrdisk '/dev/raw/raw1' from '/dm/dmdbms/data/dmdcr_cfg.ini' identified by 'cndba'

[Trace]DG 126 allocate 4 extents for file 0xfe000002.

Used time: 522.410(ms).

ASM>init votedisk '/dev/raw/raw2' from '/dm/dmdbms/data/dmdcr_cfg.ini'

[Trace]DG 125 allocate 4 extents for file 0xfd000002.

Used time: 146.114(ms).

ASM>

8 准备DMASM 的 MAL 配置文件(dmasvrmal.ini)

在2个节点的/dm/dmdbms/data目录下创建 DMASM 的 MAL 配置文件(命名为 dmasvrmal.ini),使用 DMASM 的所有节点都要配置,内容完全一样。

[dmdba@dmdsc1 data]$ cat dmasvrmal.ini

[MAL_INST1]

MAL_INST_NAME = ASM0

MAL_HOST = 192.168.140.161

MAL_PORT = 7236

[MAL_INST2]

MAL_INST_NAME = ASM1

MAL_HOST = 192.168.140.162

MAL_PORT = 7237

[dmdba@dmdsc1 data]$

9 准备dmdcr.ini 配置文件

dmdcr.ini 是 dmcss、dmasmsvr、dmasmtool 工具的输入参数。记录了当前节点序列号以及 DCR 磁盘路径。

在2个节点的/dm/dmdbms/data目录下创建dmdcr.ini 配置文件,dmdcr_path 相同,dmasvrmal.ini 文件内容也相同,dmdcr_seqo 分别为 0 和 1。

节点 192.168.140.161:

[dmdba@dmdsc1 data]$ cat dmdcr.ini

DMDCR_PATH = /dev/raw/raw1

DMDCR_MAL_PATH =/dm/dmdbms/data/dmasvrmal.ini  #dmasmsvr 使用的 MAL 配置文件路径

DMDCR_SEQNO = 0

 

#ASM 重启参数,命令行方式启动

DMDCR_ASM_RESTART_INTERVAL = 0

DMDCR_ASM_STARTUP_CMD = /dm/dmdbms/bin/dmasmsvr dcr_ini=/dm/dmdbms/data/dmdcr.ini

 

#DB 重启参数,命令行方式启动

DMDCR_DB_RESTART_INTERVAL = 0

DMDCR_DB_STARTUP_CMD = /dm/dmdbms/bin/dmserver path=/dm/dmdbms/data/RAC1_config/dm.ini dcr_ini=/dm/dmdbms/data/dmdcr.ini

[dmdba@dmdsc1 data]$

节点 192.168.140.162:

[dmdba@dmdsc2 data]$ cat dmdcr.ini

DMDCR_PATH = /dev/raw/raw1

DMDCR_MAL_PATH =/dm/dmdbms/data/dmasvrmal.ini  #dmasmsvr 使用的 MAL 配置文件路径

DMDCR_SEQNO = 1

 

#ASM 重启参数,命令行方式启动

DMDCR_ASM_RESTART_INTERVAL = 0

DMDCR_ASM_STARTUP_CMD = /dm/dmdbms/bin/dmasmsvr dcr_ini=/dm/dmdbms/data/dmdcr.ini

 

#DB 重启参数,命令行方式启动

DMDCR_DB_RESTART_INTERVAL = 0

DMDCR_DB_STARTUP_CMD = /dm/dmdbms/bin/dmserver path=/dm/dmdbms/data/RAC2_config/dm.ini dcr_ini=/dm/dmdbms/data/dmdcr.ini

[dmdba@dmdsc2 data]$

10 启动DMCSS、DMASM 服务程序

10.1 分别在2个节点注册DMCSS和DMASM服务

#DMCSS:

[root@dmdsc1 ~]#  /dm/dmdbms/script/root/dm_service_installer.sh -t dmcss -i /dm/dmdbms/data/dmdcr.ini -p RAC2

Move the service script file(/dm/dmdbms/bin/DmCSSServiceRAC2 to /etc/rc.d/init.d/DmCSSServiceRAC2)

Finished to create the service (DmCSSServiceRAC2)

#DMASM

[root@dmdsc1 ~]# /dm/dmdbms/script/root/dm_service_installer.sh -t dmasmsvr -i /dm/dmdbms/data/dmdcr.ini -p RAC2

Move the service script file(/dm/dmdbms/bin/DmASMSvrServiceRAC2 to /etc/rc.d/init.d/DmASMSvrServiceRAC2)

Finished to create the service (DmASMSvrServiceRAC2)

[root@dmdsc1 ~]#

 

[root@dmdsc2 ~]# /dm/dmdbms/script/root/dm_service_installer.sh -t dmcss -i /dm/dmdbms/data/dmdcr.ini -p rac2

Move the service script file(/dm/dmdbms/bin/DmCSSServicerac2 to /etc/rc.d/init.d/DmCSSServicerac2)

Finished to create the service (DmCSSServicerac2)

[root@dmdsc2 ~]# /dm/dmdbms/script/root/dm_service_installer.sh -t dmasmsvr -i /dm/dmdbms/data/dmdcr.ini -p rac2

Move the service script file(/dm/dmdbms/bin/DmASMSvrServicerac2 to /etc/rc.d/init.d/DmASMSvrServicerac2) 

Finished to create the service (DmASMSvrServicerac2)

[root@dmdsc2 ~]#

10.2 启动DMCSS和DMASM 服务

 

节点1

[dmdba@dmdsc1 ~]$ service DmCSSServiceRAC2 start

Starting DmCSSServiceRAC2:                                 [ OK ]

[dmdba@dmdsc1 ~]$ service DmASMSvrServiceRAC2 start

Starting DmASMSvrServiceRAC2:                              [ OK ]

[dmdba@dmdsc1 ~]$

 

 

节点2

[dmdba@dmdsc2 data]$ service DmCSSServicerac2 start

Starting DmCSSServicerac2:                                 [ OK ]

[dmdba@dmdsc2 data]$ service DmASMSvrServicerac2 start

Starting DmASMSvrServicerac2:                              [ OK ]

[dmdba@dmdsc2 data]$

10.3 手工启动命令

手工启动命令如下,手工启动后窗口不能关闭,所以这里仅作了解,不运行:

手动启动 dmcss 命令:

[dmdba@dmdsc2 data]$ dmcss DCR_INI=/home/data/dmdcr.ini

手动启动 dmasmsvr 命令:

[dmdba@dmdsc2 data]$ dmasmsvr DCR_INI=/home/data/dmdcr.ini

11 创建DMASM磁盘组

在任意节点使用 dmasmtool 工具创建 DMASM 磁盘组。

[dmdba@dmdsc1 data]$ dmasmtool DCR_INI=/dm/dmdbms/data/dmdcr.ini

DMASMTOOL V7.6.0.95-Build(2018.09.13-97108)ENT

ASM>create diskgroup 'DMLOG' asmdisk '/dev/raw/raw3'

Used time: 00:00:07.608.

ASM>create diskgroup 'DMDATA' asmdisk '/dev/raw/raw4'

Used time: 00:00:07.560.

ASM>

12 准备dminit.ini 配置文件

在2个节点的/dm/dmdbms/data目录下创建 dminit.ini 配置文件,添加如下内容。 在2个节点都创建。

[root@dmdsc1 data]# cat dminit.ini

db_name = rac

system_path = +DMDATA/data

system = +DMDATA/data/rac/system.dbf

system_size = 128

roll = +DMDATA/data/rac/roll.dbf

roll_size = 128

main = +DMDATA/data/rac/main.dbf

main_size = 128

ctl_path = +DMDATA/data/rac/dm.ctl

ctl_size = 8

log_size = 256

dcr_path = /dev/raw/raw1 #dcr 磁盘路径,目前不支持 asm,只能是裸设备

dcr_seqno = 0

auto_overwrite = 1

 

[RAC1] #inst_name dmdcr_cfg.ini DB 类型 group DCR_EP_NAME 对应

config_path = /dm/dmdbms/data/RAC1_config

port_num = 5236

mal_host = 192.168.140.161

mal_port = 9340

log_path = +DMLOG/log/RAC1_log01.log

log_path = +DMLOG/log/RAC1_log02.log

 

[RAC2] #inst_name dmdcr_cfg.ini DB 类型 group DCR_EP_NAME 对应

config_path = /dm/dmdbms/data/RAC2_config

port_num = 5236

mal_host = 192.168.140.162

mal_port = 9341

log_path = +DMLOG/log/RAC2_log01.log

log_path = +DMLOG/log/RAC2_log02.log

[root@dmdsc1 data]#

13 使用dminit 初始化 DB 环境

在任意节点启动 dminit 工具初始化数据库。dminit 执行完成后,会在 config_path 目录(/dm/dmdbms/data/RAC1_config 和/dm/dmdbms/data/RAC2_config)下生成配置文件 dm.ini 和 dmmal.ini。

[dmdba@dmdsc1 data]$ dminit control=/dm/dmdbms/data/dminit.ini

initdb V7.6.0.95-Build(2018.09.13-97108)ENT

db version: 0x7000a

file dm.key not found, use default license!

License will expire on 2019-10-02

 

 log file path: +DMLOG/log/RAC1_log01.log

 

 

 log file path: +DMLOG/log/RAC1_log02.log

 

 

 log file path: +DMLOG/log/RAC2_log01.log

 

 

 log file path: +DMLOG/log/RAC2_log02.log

 

write to dir [+DMDATA/data/rac].

create dm database success. 2019-09-18 14:11:07

[dmdba@dmdsc1 data]$

 

[dmdba@dmdsc1 data]$ pwd

/dm/dmdbms/data

[dmdba@dmdsc1 data]$ ls

dmasvrmal.ini  dmdcr_cfg.ini  dmdcr.ini  dminit.ini  RAC1_config  RAC2_config

 

#RAC2的配置文件复制过去:

[dmdba@dmdsc1 data]$ scp -r RAC2_config 192.168.2.162:`pwd`

[email protected]'s password:

Permission denied, please try again.

[email protected]'s password:

dm.ini                                                                                              100%   42KB  42.5KB/s   00:00   

sqllog.ini                                                                                          100%  479     0.5KB/s   00:00   

dmmal.ini                                                                                           100%  204     0.2KB/s   00:00   

[dmdba@dmdsc1 data]$

14 启动数据库服务器

14.1 注册服务

在2个节点分别注册DM 数据库服务:

[root@dmdsc1 ~]# /dm/dmdbms/script/root/dm_service_installer.sh -t dmserver -i /dm/dmdbms/data/RAC1_config/dm.ini -d /dm/dmdbms/data/dmdcr.ini -p RAC2

Move the service script file(/dm/dmdbms/bin/DmServiceRAC2 to /etc/rc.d/init.d/DmServiceRAC2)

Finished to create the service (DmServiceRAC2)

[root@dmdsc1 ~]#

 

[root@dmdsc2 ~]# /dm/dmdbms/script/root/dm_service_installer.sh -t dmserver -i /dm/dmdbms/data/RAC2_config/dm.ini -d /dm/dmdbms/data/dmdcr.ini -p rac2

Move the service script file(/dm/dmdbms/bin/DmServicerac2 to /etc/rc.d/init.d/DmServicerac2)

Finished to create the service (DmServicerac2)

[root@dmdsc2 ~]#

14.2 启动数据库

[dmdba@dmdsc1 ~]$ service DmServiceRAC2 start

Starting DmServiceRAC2:                                    [ OK ]

[dmdba@dmdsc1 ~]$

 

[dmdba@dmdsc2 RAC2_config]$ service DmServicerac2 start

Starting DmServicerac2:                                    [ OK ]

[dmdba@dmdsc2 RAC2_config]$

 

 

如果 DMCSS 配置有自动拉起 dmserver 的功能,可以等待 DMCSS 自动拉起实例,不需要手动启动。

14.3 手工启动命令

手工启动命令如下,手工启动后窗口不能关闭,所以

./dmserver /dm/dmdbms/data/RAC1_config/dm.ini dcr_ini=/dm/dmdbms/data/dmdcr.ini

./dmserver /dm/dmdbms/data/RAC2_config/dm.ini dcr_ini=/dm/dmdbms/data/dmdcr.ini

15 连接数据库验证

15.1 配置服务名文件

[dmdba@dmdsc2 RAC2_config]$ cat /etc/dm_svc.conf

rac=(192.168.2.161:5236,192.168.2.162:5236)

SWITCH_TIME=(10000)

SWITCH_INTERVAL=(10)

 

TIME_ZONE=(480)

LANGUAGE=(en)

[dmdba@dmdsc2 RAC2_config]$

15.2 连接RAC集群

[dmdba@dmdsc2 RAC2_config]$ disql SYSDBA/SYSDBA@rac

 

Server[192.168.2.161:5236]:mode is normal, state is open

login used time: 134.831(ms)

disql V7.6.0.95-Build(2018.09.13-97108)ENT

Connected to: DM 7.1.6.95

SQL> select instance_name from v$instance;

 

LINEID     INSTANCE_NAME

---------- -------------

1          RAC1

 

used time: 26.628(ms). Execute id is 834.

SQL>

SQL> select * from v$rac_ep_info;

 

LINEID     EP_NAME EP_SEQNO    EP_GUID              EP_TIMESTAMP         EP_MODE EP_STATUS

---------- ------- ----------- -------------------- -------------------- ------- ---------

1          RAC1    0           302833758            302834218            MASTER  OK

2          RAC2    1           302840346            302840784            SLAVE   OK

 

used time: 7.525(ms). Execute id is 835.

SQL>

15.3 测试故障重连

故障重连更多说明参考我的博客:

DM7 达梦 共享存储数据库集群 (7) — DMDSC连接的故障重连
https://www.cndba.cn/dave/article/3701

 

SQL> select instance_name from v$instance;

 

LINEID     INSTANCE_NAME

---------- -------------

1          RAC1

 

used time: 26.628(ms). Execute id is 834.

SQL> select * from v$rac_ep_info;

 

LINEID     EP_NAME EP_SEQNO    EP_GUID              EP_TIMESTAMP         EP_MODE EP_STATUS

---------- ------- ----------- -------------------- -------------------- ------- ---------

1          RAC1    0           302833758            302834218            MASTER  OK

2          RAC2    1           302840346            302840784            SLAVE   OK

 

used time: 7.525(ms). Execute id is 835.

 

#此时连接的RAC1,我们kill 进程:

[dmdba@dmdsc1 RAC1_config]$ ps -ef|grep dm.ini

dmdba     3990     1  8 14:16 pts/1    00:00:42 /dm/dmdbms/bin/dmserver /dm/dmdbms/data/RAC1_config/dm.ini DCR_INI=/dm/dmdbms/data/dmdcr.ini -noconsole

dmdba     6379  3498  0 14:24 pts/0    00:00:00 grep dm.ini

[dmdba@dmdsc1 RAC1_config]$ kill -9 3990

[dmdba@dmdsc1 RAC1_config]$

 

#在查询,等了一分钟左右,故障重连成功:

SQL> select instance_name from v$instance;

[-70065]:Connection exception, switch the current connection sucessful.

[-70065]:Connection exception, switch the current connection sucessful.

 

Server[192.168.2.162:5236]:mode is normal, state is open

SQL> select instance_name from v$instance;

 

LINEID     INSTANCE_NAME

---------- -------------

1          RAC2

 

used time: 129.684(ms). Execute id is 1.

SQL>

 

SQL> select * from v$rac_ep_info;

 

LINEID     EP_NAME EP_SEQNO    EP_GUID              EP_TIMESTAMP         EP_MODE EP_STATUS

---------- ------- ----------- -------------------- -------------------- ------- ---------

1          RAC1    0           302833758            302834282            MASTER  ERROR

2          RAC2    1           302840346            302841058            MASTER  OK

 

used time: 54.827(ms). Execute id is 2.

SQL>

 

#启动RAC1,节点0变成了SLAVE:

[dmdba@dmdsc1 ~]$ service DmServiceRAC2 start

Starting DmServiceRAC2:                                    [ OK ]

[dmdba@dmdsc1 ~]$

 

SQL> select * from v$rac_ep_info;

 

LINEID     EP_NAME EP_SEQNO    EP_GUID              EP_TIMESTAMP         EP_MODE EP_STATUS

---------- ------- ----------- -------------------- -------------------- ------- ---------

1          RAC1    0           303058274            303058296            SLAVE   OK

2          RAC2    1           302840346            302841101            MASTER  OK

 

used time: 00:00:03.309. Execute id is 3.

SQL>

版权声明:本文为博主原创文章,未经博主允许不得转载。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


猜你喜欢

转载自blog.51cto.com/13155141/2663435