DM7使用裸裝置搭建DMRAC

eric0435發表於2020-05-07

一、操作環境
主機 IP地址(對外服務) IP地址(內部通訊) 例項名 作業系統

dmrac1	10.18.13.165	         10.10.10.165	        rac0	Redhat 6.7
dmrac2	10.18.13.166	         10.10.10.166	        rac1	Redhat 6.7

共享儲存

/dev/sdb1	/dev/raw/raw1	dcr disk	2G
/dev/sdb2	/dev/raw/raw2	voting disk	2G
/dev/sdb3	/dev/raw/raw3	data disk1	2G
/dev/sdb4	/dev/raw/raw4	data disk2	2G
/dev/sdb1	/dev/raw/raw5	data disk3	2G
/dev/sdb2	/dev/raw/raw6	data disk4	2G
/dev/sdb3	/dev/raw/raw7	log disk1	2G
/dev/sdb4	/dev/raw/raw8	log disk2	2G
/dev/sdb1	/dev/raw/raw9	log disk3	2G
/dev/sdb2	/dev/raw/raw10	log disk4	2G
/dev/sdb3	/dev/raw/raw11	log disk5	2G
/dev/sdb4	/dev/raw/raw12	log disk6	2G

二、作業系統配置
1、關閉防火牆和SELINUX

[root@cs ~]# service iptables stop
iptables: Setting chains to policy ACCEPT: nat mangle filter [  OK  ]
iptables: Flushing firewall rules: [  OK  ]
iptables: Unloading modules: [  OK  ]
[root@cs ~]# chkconfig iptables off
[root@cs ~]# setenforce 0
[root@cs ~]# sed -i s:^SELINUX=.*$:SELINUX=disabled:g /etc/selinux/config
[root@cs ~]# service iptables stop
iptables: Setting chains to policy ACCEPT: nat mangle filter [  OK  ]
iptables: Flushing firewall rules: [  OK  ]
iptables: Unloading modules: [  OK  ]
[root@cs ~]# chkconfig iptables off
[root@cs ~]# setenforce 0
[root@cs ~]# sed -i s:^SELINUX=.*$:SELINUX=disabled:g /etc/selinux/config

2、修改主機名

[root@cs ~]# hostname dm1
[root@cs ~]# sed -i s:^HOSTNAME=.*$:HOSTNAME=dm1:g /etc/sysconfig/network
[root@cs ~]# hostname dm2
[root@cs ~]# sed -i s:^HOSTNAME=.*$:HOSTNAME=dm2:g /etc/sysconfig/network
3、修改hosts檔案
[root@cs ~]# echo "
> 10.18.13.165   dm1
> 10.18.13.166   dm2" >> /etc/hosts
[root@cs ~]#
[root@cs ~]# echo "
> 10.18.13.165   dm1
> 10.18.13.166   dm2" >> /etc/hosts
[root@cs ~]#

三、 安裝達夢軟體
安裝操作詳見

四、繫結UDEV

[root@dm1 rules.d]# vi 99-dm-devices.rules
ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdb2", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sdb3", RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="sdb4", RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add", KERNEL=="sdc1", RUN+="/bin/raw /dev/raw/raw5 %N"
ACTION=="add", KERNEL=="sdc2", RUN+="/bin/raw /dev/raw/raw6 %N"
ACTION=="add", KERNEL=="sdc3", RUN+="/bin/raw /dev/raw/raw7 %N"
ACTION=="add", KERNEL=="sdc4", RUN+="/bin/raw /dev/raw/raw8 %N"
ACTION=="add", KERNEL=="sdd1", RUN+="/bin/raw /dev/raw/raw9 %N"
ACTION=="add", KERNEL=="sdd2", RUN+="/bin/raw /dev/raw/raw10 %N"
ACTION=="add", KERNEL=="sdd3", RUN+="/bin/raw /dev/raw/raw11 %N"
ACTION=="add", KERNEL=="sdd4", RUN+="/bin/raw /dev/raw/raw12 %N"
ACTION=="add", KERNEL=="raw[1-12]", OWNER="dmdba", GROUP="dinstall", MODE="660"
[root@dm1 rules.d]# start_udev
Starting udev: [  OK  ]
[root@dm1 rules.d]# ls -lrt /dev/raw/
total 0
crw-rw---- 1 root  disk     162,  0 May  7 16:28 rawctl
crw-rw---- 1 dmdba dinstall 162,  9 May  7 16:28 raw9
crw-rw---- 1 dmdba dinstall 162, 12 May  7 16:28 raw12
crw-rw---- 1 dmdba dinstall 162, 11 May  7 16:28 raw11
crw-rw---- 1 dmdba dinstall 162, 10 May  7 16:28 raw10
crw-rw---- 1 dmdba dinstall 162,  6 May  7 16:28 raw6
crw-rw---- 1 dmdba dinstall 162,  1 May  7 16:28 raw1
crw-rw---- 1 dmdba dinstall 162,  7 May  7 16:28 raw7
crw-rw---- 1 dmdba dinstall 162,  8 May  7 16:28 raw8
crw-rw---- 1 dmdba dinstall 162,  5 May  7 16:28 raw5
crw-rw---- 1 dmdba dinstall 162,  2 May  7 16:28 raw2
crw-rw---- 1 dmdba dinstall 162,  3 May  7 16:28 raw3
crw-rw---- 1 dmdba dinstall 162,  4 May  7 16:28 raw4
[root@dm2 /]# cd /etc/udev/rules.d/
[root@dm2 rules.d]# vi 99-dm-devices.rules
ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", KERNEL=="sdb2", RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", KERNEL=="sdb3", RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", KERNEL=="sdb4", RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add", KERNEL=="sdc1", RUN+="/bin/raw /dev/raw/raw5 %N"
ACTION=="add", KERNEL=="sdc2", RUN+="/bin/raw /dev/raw/raw6 %N"
ACTION=="add", KERNEL=="sdc3", RUN+="/bin/raw /dev/raw/raw7 %N"
ACTION=="add", KERNEL=="sdc4", RUN+="/bin/raw /dev/raw/raw8 %N"
ACTION=="add", KERNEL=="sdd1", RUN+="/bin/raw /dev/raw/raw9 %N"
ACTION=="add", KERNEL=="sdd2", RUN+="/bin/raw /dev/raw/raw10 %N"
ACTION=="add", KERNEL=="sdd3", RUN+="/bin/raw /dev/raw/raw11 %N"
ACTION=="add", KERNEL=="sdd4", RUN+="/bin/raw /dev/raw/raw12 %N"
ACTION=="add", KERNEL=="raw[1-12]", OWNER="dmdba", GROUP="dinstall", MODE="660"
[root@dm2 rules.d]# start_udev
Starting udev: [  OK  ]
[root@dm2 rules.d]# ls -lrt /dev/raw/
total 0
crw-rw---- 1 root  disk     162,  0 May  7 16:28 rawctl
crw-rw---- 1 dmdba dinstall 162,  9 May  7 16:28 raw9
crw-rw---- 1 dmdba dinstall 162, 12 May  7 16:28 raw12
crw-rw---- 1 dmdba dinstall 162, 11 May  7 16:28 raw11
crw-rw---- 1 dmdba dinstall 162, 10 May  7 16:28 raw10
crw-rw---- 1 dmdba dinstall 162,  6 May  7 16:28 raw6
crw-rw---- 1 dmdba dinstall 162,  1 May  7 16:28 raw1
crw-rw---- 1 dmdba dinstall 162,  7 May  7 16:28 raw7
crw-rw---- 1 dmdba dinstall 162,  8 May  7 16:28 raw8
crw-rw---- 1 dmdba dinstall 162,  5 May  7 16:28 raw5
crw-rw---- 1 dmdba dinstall 162,  2 May  7 16:28 raw2
crw-rw---- 1 dmdba dinstall 162,  3 May  7 16:28 raw3
crw-rw---- 1 dmdba dinstall 162,  4 May  7 16:28 raw4

可以透過blockdev --getsize64 /dev/raw/raw1命令檢視裸裝置大小

[root@dm1 rules.d]# blockdev --getsize64 /dev/raw/raw1
2154991104
[root@dm2 ~]# blockdev --getsize64 /dev/raw/raw1
2154991104

六、配置dmdcr_cfg.ini檔案
在2個節點的/dm7/data目錄下建立配置檔案dmdcr_cfg.ini,僅使用裸裝置,不使用ASM檔案系統,不需要配置ASM資訊,僅配置CSS/DB資訊。在檔案中新增如下內容:

[dmdba@dm1 dm7]$ mkdir data
[dmdba@dm1 dm7]$ cd data
[dmdba@dm1 data]$ vi dmdcr_cfg.ini
DCR_N_GRP = 2
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 = 10.10.10.165
DCR_EP_PORT = 9541
[GRP_CSS]
DCR_EP_NAME = CSS1
DCR_EP_HOST = 10.10.10.166
DCR_EP_PORT = 9542
[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 = RAC0
DCR_EP_SEQNO = 0
DCR_EP_PORT = 5236
DCR_CHECK_PORT = 9741
[GRP_RAC]
DCR_EP_NAME = RAC1
DCR_EP_SEQNO = 1
DCR_EP_PORT = 5236
DCR_CHECK_PORT = 9742
[dmdba@dm2 dm7]$ mkdir data
[dmdba@dm2 dm7]$ cd data
[dmdba@dm2 data]$ vi dmdcr_cfg.ini
DCR_N_GRP = 2
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 = 10.10.10.165
DCR_EP_PORT = 9541
[GRP_CSS]
DCR_EP_NAME = CSS1
DCR_EP_HOST = 10.10.10.166
DCR_EP_PORT = 9542
[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 = RAC0
DCR_EP_SEQNO = 0
DCR_EP_PORT = 5236
DCR_CHECK_PORT = 9741
[GRP_RAC]
DCR_EP_NAME = RAC1
DCR_EP_SEQNO = 1
DCR_EP_PORT = 5236
DCR_CHECK_PORT = 9742

七、使用 DMASMCMD 工具初始化(任意一節點執行)

[dmdba@dm1 ~]$ dmasmcmd
DMASMCMD V7.1.6.46-Build(2018.02.08-89107)ENT
ASM>create dcrdisk '/dev/raw/raw1' 'dcr'
the ASM initialize dcrdisk /dev/raw/raw1 to name DMASMdcr
Used time: 1.459(ms).
ASM>create votedisk '/dev/raw/raw2' 'vote'
the ASM initialize votedisk /dev/raw/raw2 to name DMASMvote
Used time: 1.380(ms).
ASM>init dcrdisk '/dev/raw/raw1' from '/dm7/data/dmdcr_cfg.ini'
syntax error
asmcmd parse failed!
ASM>init dcrdisk '/dev/raw/raw1' from '/dm7/data/dmdcr_cfg.ini' identified by 'dameng123'
[Trace]DG 126 allocate 4 extents for file 0xfe000002.
Check dcr disk failed, please check and try again
Used time: 271.543(ms).
ASM>init dcrdisk '/dev/raw/raw1' from '/dm7/data/dmdcr_cfg.ini' identified by 'dameng123'
[Trace]DG 126 allocate 4 extents for file 0xfe000002.
Used time: 68.745(ms).
ASM>init votedisk '/dev/raw/raw2' from '/dm7/data/dmdcr_cfg.ini'
[Trace]DG 125 allocate 4 extents for file 0xfd000002.
Used time: 33.488(ms).

八、作業系統配置準備配置dminit.ini檔案,存放在/dm7/data目錄中

system_path = /dm7/data
db_name=rac
main = /dev/raw/raw3
main_size = 128
roll = /dev/raw/raw4
roll_size = 128
system = /dev/raw/raw5
system_size = 128
ctl_path = /dev/raw/raw6
ctl_size = 8
dcr_path=/dev/raw/raw1
dcr_seqno=0
[rac0]
config_path=/dm7/data/rac0_config
port_num = 5236
mal_host = 10.10.10.165
mal_port = 9340
log_size = 256
log_path = /dev/raw/raw7
log_path = /dev/raw/raw8
[rac1]
config_path=/dm7/data/rac1_config
port_num = 5236
mal_host = 10.10.10.166
mal_port = 9341
log_size = 256
log_path = /dev/raw/raw9
log_path = /dev/raw/raw10

九、準備dmdcr.ini 配置檔案
dmdcr.ini 是 dmcss、dmasmsvr、dmasmtool 工具的輸入引數。記錄了當前節點序列號以及 DCR 磁碟路徑。在2個節點的/dm/dmdbms/data目錄下建立dmdcr.ini 配置檔案,dmdcr_path 相同,dmasvrmal.ini 檔案內容也相同,dmdcr_seqo 分別為 0 和 1。
節點 1:

[dmdba@dmrac1 data]$ vi dmdcr.ini
DMDCR_PATH = /dev/raw/raw1
DMDCR_SEQNO = 0
#ASM
DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /dm7/bin/dmasmsvr dcr_ini=/dm7/data/dmdcr.ini
#DB
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /dm7/bin/dmserver path=/dm7/data/rac0_config/dm.ini dcr_ini=/dm7/data/dmdcr.ini

節點2:

[dmdba@dmrac2 data]$ vi dmdcr.ini
DMDCR_PATH = /dev/raw/raw1
DMDCR_SEQNO = 1
#ASM
DMDCR_ASM_RESTART_INTERVAL = 0
DMDCR_ASM_STARTUP_CMD = /dm7/bin/dmasmsvr dcr_ini=/dm7/data/dmdcr.ini
#DB
DMDCR_DB_RESTART_INTERVAL = 0
DMDCR_DB_STARTUP_CMD = /dm7/bin/dmserver path=/dm7/data/rac1_config/dm.ini dcr_ini=/dm7/data/dmdcr.ini

十、啟動DMCSS 服務程式
1、註冊 DMCSS服務
節點一:

[root@dm1 ~]# /dm7/script/root/dm_service_installer.sh -t dmcss -i /dm7/data/dmdcr.ini -p rac1
Move the service script file(/dm7/bin/DmCSSServicerac1 to /etc/rc.d/init.d/DmCSSServicerac1)
Finished to create the service (DmCSSServicerac1)

節點二:

[root@dm2 ~]# /dm7/script/root/dm_service_installer.sh -t dmcss -i /dm7/data/dmdcr.ini -p rac2
Move the service script file(/dm7/bin/DmCSSServicerac2 to /etc/rc.d/init.d/DmCSSServicerac2)
Finished to create the service (DmCSSServicerac2)

2、啟動DMCSS 服務
節點一:

[root@dm1 ~]# service DmCSSServicerac1 start
Starting DmCSSServicerac1: [ OK ]

節點二:

[root@dm2 ~]# service DmCSSServicerac2 start
Starting DmCSSServicerac2: [ OK ]

十一、作業系統配置使用dminit初始化DB環境
在任意節點啟動 dminit 工具初始化資料庫。dminit 執行完成後,會在 config_path 目錄(/dm7/data/rac0_config 和/dm7/data/rac1_config)下生成配置檔案 dm.ini 和 dmmal.ini。

[dmdba@dm1 data]$ dminit control=/dm7/data/dminit.ini
initdb V7.1.6.46-Build(2018.02.08-89107)ENT
db version: 0x7000a
file dm.key not found, use default license!
License will expire in 14 day(s) on 2020-05-21
 log file path: /dev/raw/raw7
 log file path: /dev/raw/raw8
 log file path: /dev/raw/raw9
 log file path: /dev/raw/raw10
FILE "/dev/raw/raw5" has already existed
FILE "/dev/raw/raw4" has already existed
FILE "/dev/raw/raw3" has already existed
FILE "/dev/raw/raw6" has already existed
FILE "/dev/raw/raw7" has already existed
FILE "/dev/raw/raw8" has already existed
FILE "/dev/raw/raw9" has already existed
FILE "/dev/raw/raw10" has already existed
File "/dev/raw/raw5" has already existed,
whether overwrite(y/n, 1/0): y
File "/dev/raw/raw4" has already existed,
whether overwrite(y/n, 1/0): y
File "/dev/raw/raw3" has already existed,
whether overwrite(y/n, 1/0): y
File "/dev/raw/raw6" has already existed,
whether overwrite(y/n, 1/0): y
File "/dev/raw/raw7" has already existed,
whether overwrite(y/n, 1/0): y
File "/dev/raw/raw8" has already existed,
whether overwrite(y/n, 1/0): y
File "/dev/raw/raw9" has already existed,
whether overwrite(y/n, 1/0): y
File "/dev/raw/raw10" has already existed,
whether overwrite(y/n, 1/0): y
write to dir [/dm7/data/rac].
create dm database success. 2020-05-07 16:41:52

將節點一的配置檔案複製到節點二:

[dmdba@dm1 data]$ scp -r rac1_config 10.18.13.166:`pwd`
The authenticity of host '10.18.13.166 (10.18.13.166)' can't be established.
RSA key fingerprint is 89:fc:3e:e3:2d:27:94:07:0e:6b:fc:c5:e8:89:44:1f.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.18.13.166' (RSA) to the list of known hosts.
dmdba@10.18.13.166's password:
sqllog.ini                                                                                                                                                                                                100%  479     0.5KB/s   00:00
dm.ini                                                                                                                                                                                                    100%   40KB  39.8KB/s   00:00
dmmal.ini                                                                                                                                                                                                 100%  204     0.2KB/s   00:00
[dmdba@dm1 data]$

一定要將節點一/dm7/data/目錄中生成的rac目錄複製到節點二的/dm7/data目錄中,否則在節點二中啟動資料庫時會出現以下錯誤,原因就是因為使用裸裝置時生成的rac目錄及其檔案不是儲存在共享儲存中可以讓叢集節點都能訪問。

Starting DmServicerac2: [ FAILED ]
file dm.key not found, use default license!
Read ini warning, default dm.ctl backup path [/dm7/data/rac/ctl_bak] does not exist.
Read ini error, name:SYSTEM_PATH, value:/dm7/data/rac
dmserver startup failed, code = -803 [Invalid ini config value]

將節點一/dm7/data/目錄中生成的rac目錄複製到節點二的/dm7/data目錄

[dmdba@dm1 data]$ scp -r rac 10.18.13.166:`pwd`
dmdba@10.18.13.166's password:
dm_20200507164149_942994.ctl                                                                                                                                                                              100% 6144     6.0KB/s   00:00
TEMP0.DBF                                                                                                                                                                                                 100%   10MB  10.0MB/s   00:00
dm_service.prikey                                                                                                                                                                                         100%  633     0.6KB/s   00:00

十二、啟動資料庫伺服器
1、在2個節點分別註冊DM 資料庫服務:
節點一:

[root@dm1 ~]# /dm7/script/root/dm_service_installer.sh -t dmserver -i /dm7/data/rac0_config/dm.ini -d /dm7/data/dmdcr.ini -p rac1
Move the service script file(/dm7/bin/DmServicerac1 to /etc/rc.d/init.d/DmServicerac1)
Finished to create the service (DmServicerac1)

節點二:

[root@dm2 ~]# /dm7/script/root/dm_service_installer.sh -t dmserver -i /dm7/data/rac1_config/dm.ini -d /dm7/data/dmdcr.ini -p rac2
Move the service script file(/dm7/bin/DmServicerac2 to /etc/rc.d/init.d/DmServicerac2)
Finished to create the service (DmServicerac2)

2、啟動資料庫

[root@dm1 ~]# service DmServicerac1 start
Starting DmServicerac1: [ OK ]
[root@dm2 ~]# service DmServicerac2 start
Starting DmServicerac2: [ OK ]

手工啟動命令如下,手工啟動後視窗不能關閉,所以

./dmserver /dm7/data/rac0_config/dm.ini dcr_ini=/dm7/data/dmdcr.ini
./dmserver /dm7/data/rac1_config/dm.ini dcr_ini=/dm7/data/dmdcr.ini

十三、作業系統配置連線資料庫驗證
13.1配置服務名檔案

[dmdba@dm1 data]$ vi /etc/dm_svc.conf
rac=(10.18.13.165:5236,10.18.13.166:5236)
SWITCH_TIME=(10000)
SWITCH_INTERVAL=(10)
TIME_ZONE=(480)
LANGUAGE=(en)
[dmdba@dm2 rac]$ vi /etc/dm_svc.conf
TIME_ZONE=(480)
rac=(10.18.13.165:5236,10.18.13.166:5236)
SWITCH_TIME=(10000)
SWITCH_INTERVAL=(10)
TIME_ZONE=(480)
LANGUAGE=(en)

13.2 連線RAC叢集
節點一:

[dmdba@dm1 data]$ disql SYSDBA/SYSDBA@rac
Server[10.18.13.166:5236]:mode is normal, state is open
login used time: 9.596(ms)
disql V7.1.6.46-Build(2018.02.08-89107)ENT
Connected to: DM 7.1.6.46
SQL> select instance_name from v$instance;
LINEID     INSTANCE_NAME
---------- -------------
1          RAC1
used time: 5.020(ms). Execute id is 2.
SQL> select * from v$rac_ep_info;
LINEID     EP_NAME EP_SEQNO    EP_GUID              EP_TIMESTAMP         EP_MODE EP_STATUS
---------- ------- ----------- -------------------- -------------------- ------- ---------
1          RAC0    0           2982624975           2982625916           MASTER  OK
2          RAC1    1           2983098335           2983098713           SLAVE   OK
used time: 7.731(ms). Execute id is 3.

節點二:

SQL> select instance_name from v$instance;
LINEID     INSTANCE_NAME
---------- -------------
1          RAC1
used time: 117.515(ms). Execute id is 1.
SQL> select * from v$rac_ep_info;
LINEID     EP_NAME EP_SEQNO    EP_GUID              EP_TIMESTAMP         EP_MODE EP_STATUS
---------- ------- ----------- -------------------- -------------------- ------- ---------
1          RAC0    0           2982624975           2982632228           MASTER  OK
2          RAC1    1           2983098335           2983105025           SLAVE   OK
used time: 4.439(ms). Execute id is 4.

13.3測試故障重連

[dmdba@dm2 rac]$ disql SYSDBA/SYSDBA@rac
Server[10.18.13.166:5236]:mode is normal, state is open
login used time: 6.728(ms)
disql V7.1.6.46-Build(2018.02.08-89107)ENT
Connected to: DM 7.1.6.46
SQL> select instance_name from v$instance;
LINEID     INSTANCE_NAME
---------- -------------
1          RAC1
used time: 117.515(ms). Execute id is 1.
SQL> select * from v$rac_ep_info;
LINEID     EP_NAME EP_SEQNO    EP_GUID              EP_TIMESTAMP         EP_MODE EP_STATUS
---------- ------- ----------- -------------------- -------------------- ------- ---------
1          RAC0    0           2982624975           2982632228           MASTER  OK
2          RAC1    1           2983098335           2983105025           SLAVE   OK
used time: 4.439(ms). Execute id is 4.

#此時連線的rac1,我們kill 程式:

[root@dm2 ~]# ps -ef | grep dm.ini
dmdba     6231     1  0 17:25 pts/2    00:00:44 /dm7/bin/dmserver /dm7/data/rac1_config/dm.ini DCR_INI=/dm7/data/dmdcr.ini -noconsole
root     10844  5237  0 19:20 pts/2    00:00:00 grep dm.ini
[root@dm2 ~]# kill -9 6231

#在查詢,故障重連成功:

SQL> select instance_name from v$instance;
[-70065]:Connection exception, switch the current connection sucessful.
[-70065]:Connection exception, switch the current connection sucessful.
Server[10.18.13.165:5236]:mode is normal, state is open
SQL> select instance_name from v$instance;
LINEID     INSTANCE_NAME
---------- -------------
1          RAC0
used time: 9.443(ms). Execute id is 807.
SQL> select * from v$rac_ep_info;
LINEID     EP_NAME EP_SEQNO    EP_GUID              EP_TIMESTAMP         EP_MODE EP_STATUS
---------- ------- ----------- -------------------- -------------------- ------- ---------
1          RAC0    0           2982624975           2982632568           MASTER  OK
2          RAC1    1           2983098335           2983105240           SLAVE   ERROR
used time: 3.184(ms). Execute id is 808.

可以看到連線的例項從rac1變為了rac0


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26015009/viewspace-2690475/,如需轉載,請註明出處,否則將追究法律責任。

相關文章