dm8 DSC 集群数据库安装

一、安装规划环境说明

主机规划:

 

IP Addr

DB Version

OS Version

节点1

192.168.1.38(业务网)
192.168.25.11(内网)

DM V8 DSC Veriosn: V2.0

 

节点2

192.168.1.18(业务网)
192.168.25.12(内网)

DM V8 DSC Veriosn: V2.0

 

监视器

192.168.1.xx(业务网)
 

DM V8

 

 

 

 

 

 

数据库相关文件路径:

 

路径

DM_HOME

/dm8/dmdbms

配置文件路径

/dm8/data/dmdsc

实例初始化后配置文件路径

节点1/dm8/data/dsc0_config
节点2/dm8/data/dsc1_config

 

存储规划:

ASM磁盘名

大小

用途

DCR

1G

存放DCR配置信息

VOTE

1G

存放表决文件

LOG01

1G

存放在线日志文件

DATA01

10G

存放数据文件

 

 

 

 

 

 

 

 

 

 

 

 

 

 

二、环境准备

2.1 操作系统配置(两节点)

1、关闭防火墙(或者将相关端口加入到防火墙)

 

service iptables stop

chkconfig --level 2345 iptables off

2、关闭SELINUX

 

#vi /etc/selinux/config

改成:SELINUX= disabled

#setenforce 0

3、调整资源限制

 

 

vi /etc/security/limits.conf —添加

* soft nofile 65536

* hard nofile 65536

 

或者在/etc/profile中添加如下内容:

vi /etc/profile —添加:

ulimit -SHn 65536

保存退出。

source /etc/profile

 

 

2.2 共享存储配置(所有节点)

存储层面配置共享存储;

 

 

绑定为raw设备(所有节点)

Linux 6上的操作如下:

 

[root@lixora ~]# vi /etc/udev/rules.d/60-raw.rules   ---添加如下内容

ACTION=="add", KERNEL=="sdb", RUN+="/bin/raw /dev/raw/raw1 %N"

ACTION=="add", KERNEL=="sdc", RUN+="/bin/raw /dev/raw/raw2 %N"

ACTION=="add", KERNEL=="sdd", RUN+="/bin/raw /dev/raw/raw3 %N"

ACTION=="add", KERNEL=="sde", RUN+="/bin/raw /dev/raw/raw4 %N"

ACTION=="add", KERNEL=="raw[1-4]", OWNER="dmdba", GROUP="dinstall", MODE="660"

保存退出。

[root@lixora ~]# start_udev

 

查看raw设备大小:

[root@lixora ~]# blockdev --getsize64 /dev/raw/raw1

536870912

[root@lixora ~]# blockdev --getsize64 /dev/raw/raw2

536870912

[root@lixora ~]# blockdev --getsize64 /dev/raw/raw3

1073741824

[root@lixora ~]# blockdev --getsize64 /dev/raw/raw4

10737418240

 

Linux 7上的操作如下:

 

[root@localhost ~]# cat /etc/udev/rules.d/60-raw.rules

ACTION=="add", KERNEL=="sdb", RUN+="/usr/bin/raw /dev/raw/raw1 %N"

ACTION=="add", KERNEL=="sdc", RUN+="/usr/bin/raw /dev/raw/raw2 %N"

ACTION=="add", KERNEL=="sdd", RUN+="/usr/bin/raw /dev/raw/raw3 %N"

ACTION=="add", KERNEL=="sde", RUN+="/usr/bin/raw /dev/raw/raw4 %N"

ACTION=="add", KERNEL=="raw[1-4]", OWNER="dmdba", GROUP="dinstall", MODE="660"

 

 

ACTION=="add", KERNEL=="sdb2", RUN+="/usr/bin/raw /dev/raw/raw1 %N"

ACTION=="add", KERNEL=="sdc", RUN+="/usr/bin/raw /dev/raw/raw2 %N"

ACTION=="add", KERNEL=="sdb1", RUN+="/usr/bin/raw /dev/raw/raw3 %N"

ACTION=="add", KERNEL=="sdb3", RUN+="/usr/bin/raw /dev/raw/raw4 %N"

ACTION=="add", KERNEL=="raw[1-4]", OWNER="dmdba", GROUP="dinstall", MODE="660"

 

~

udev rules生效

# udevadm trigger --action=add

 

查看raw device

[root@localhost ~]# raw -qa

/dev/raw/raw1:  bound to major 8, minor 16

/dev/raw/raw2:  bound to major 8, minor 32

/dev/raw/raw3:  bound to major 8, minor 48

/dev/raw/raw4:  bound to major 8, minor 64

 

[root@localhost ~]# ll /dev/raw/raw*

crw-rw---- 1 dmdba dinstall 162, 1 Jun 14 10:30 /dev/raw/raw1

crw-rw---- 1 dmdba dinstall 162, 2 Jun 14 10:30 /dev/raw/raw2

crw-rw---- 1 dmdba dinstall 162, 3 Jun 14 10:30 /dev/raw/raw3

crw-rw---- 1 dmdba dinstall 162, 4 Jun 14 10:30 /dev/raw/raw4

 

 

6、注意事项

当DMDSC集群服务注册到系统服务开机启动时,可能会因为存储udev规则未生效,导致启动失败。可以考虑将udev规则内容写到rc.local里面。

 

2.3 数据库软件安装(所有节点安装)

DM8数据库软件安装略。

 

可参考:DM单机数据库安装

 

三、部署DMDSC集群

3.1 初始化DMCSS

配置dmdcr_cfg.ini 配置文件

dmdcr_cfg.ini 是格式化 DCR 和 Voting Disk 的配置文件。 配置信息包括三类:集群环境全局信息、集群组信息、以及组内节点信息。

使用 dmasmcmd 工具初始化共享磁盘时,可以根据 dmdcr_cfg.ini 配置文件,格式化 DCR 和 Voting Disk。

创建dmdcr_cfg.ini文件,文件路径:/dm8/data/dmdsc/dmdcr_cfg.ini,内容如下:

 

DCR_N_GRP = 3      #与实际配置的组数相同,

DCR_VTD_PATH = /dev/raw/raw3

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.25.11

DCR_EP_PORT = 9341

[GRP_CSS]

DCR_EP_NAME = CSS1

DCR_EP_HOST = 192.168.25.12

DCR_EP_PORT = 9343

[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        #与DMASM使用的DMASVRMAL.INI mal_inst_name相同

DCR_EP_SHM_KEY = 93360

DCR_EP_SHM_SIZE = 10

DCR_EP_HOST = 192.168.1.38

DCR_EP_PORT = 9349

DCR_EP_ASM_LOAD_PATH = /dev/raw

[GRP_ASM]

DCR_EP_NAME = ASM1         #与DMASM使用的DMASVRMAL.INI mal_inst_name相同

DCR_EP_SHM_KEY = 93361

DCR_EP_SHM_SIZE = 10

DCR_EP_HOST = 192.168.1.18

DCR_EP_PORT = 9351

DCR_EP_ASM_LOAD_PATH = /dev/raw

[GRP]               #新建组

DCR_GRP_TYPE = DB

DCR_GRP_NAME = GRP_DSC

DCR_GRP_N_EP = 2

DCR_GRP_DSKCHK_CNT = 60

[GRP_DSC]

DCR_EP_NAME = RAC0    #与数据库实例使用 dmmal.ini 配置文件里的MAL_INST_NAME、以及 dm.ini 配置文件里的 INSTANCE_NAME 保持一致

DCR_EP_SEQNO = 0

DCR_EP_PORT = 5236

DCR_CHECK_PORT = 9741

[GRP_DSC]

DCR_EP_NAME = RAC1    #与数据库实例使用 dmmal.ini 配置文件里的MAL_INST_NAME、以及 dm.ini 配置文件里的 INSTANCE_NAME 保持一致

DCR_EP_SEQNO = 1

DCR_EP_PORT = 5236

DCR_CHECK_PORT = 9742

 

 

DMDCR_CFG.INI配置项说明:

 

配置项    说明

集群环境全局信息

DCR_VTD_PATH Voting Disk 路径

DCR_N_GRP 集群环境包括多少个 group,取值范围 1~16

DCR_OGUID 消息标识, dmcssm 登录 dmcss 消息校验用

集群组信息    

DCR_GRP_TYPE   组类型(CSS\ASM\DB

DCR_GRP_NAME        组名, 16 字节,配置文件内不可重复

DCR_GRP_N_EP  组内节点个数 N,最大 16

DCR_GRP_EP_ARR      组内包含的节点序列号, {0,1,2,…N-1}用户不能指定,仅用于从 DCR 磁盘 export 出来可见

DCR_GRP_N_ERR_EP 组内故障节点个数用户不能指定,仅用于从 DCR 磁盘 export 出来可见

DCR_GRP_ERR_EP_ARR    组内故障节点序列号用户不能指定,仅用于从 DCR 磁盘 export 出来可见

DCR_GRP_DSKCHK_CNT 磁盘心跳机制,容错时间,单位秒,缺省 60S,取值范围 5~600

节点信息 某些属性可能只针对某一类型节点,比如 SHM_KEY 只针对 ASM 节点有效

DCR_EP_NAME   节点名, 16 字节,配置文件内不可重复。

DB 的节点名必须和 dm.ini 里的INSTANCE_NAME 保持一致;

ASM 的节点名必须和 dmmal.ini 里的 MAL_INST_NAME 一致;

同一类型节点的 EP_NAME 不能重复

DCR_EP_SEQNO 组内序号, CSS/ASM 不能配置, 自动分配;

DB 可以配置, 0 ~ n_ep -1, 组内不能重复,如不配置则自动分配

DCR_EP_HOST    节点 IP(CSS/ASM 有效,表示登录 CSS/ASM 的 IP 地址)

对 DB 来说,是绑定 VIP 的网卡对应的物理 IP 地址

CSS 中设置表示 DMCSSM 通过该 IP 连接 CSS;

ASM 中设置表示 DB 通过该 IP 连接 ASM

DCR_EP_PORT     节点 TCP 监听端口(CSS/ASM/DB 有效,对应登录 CSS/ASM/DB 的端口号),取值范围 1024~65534。 特别对 DB 来说, DB 的 DCR_EP_PORT与 dm.ini 中的 PORT_NUM 不一致时, DB 端口以 DCR_EP_PORT 为准。若要使用 VIP 功能, 则不同服务器上配置的 DCR_EP_PORT 要相同

DCR_EP_SHM_KEY     共享内存标识,数值类型(ASM 有效,初始化共享内存的标识符),应为大于 0 的 4 字节整数

DCR_VIP       节点 VIP(DB 有效,表示配置的虚拟 IP),需要和 DCR_EP_HOST 在同一网段。 若需要取消 VIP 配置,仅需要将 DB 组的 DCR_VIP 和DCR_EP_HOST 删除即可

DCR_CHECK_PORT    DCR 检查端口号。 检查实例是否活动的时候用,各实例不能冲突

DCR_EP_SHM_SIZE    共享内存大小,单位 M, (ASM 有效,初始化共享内存大小),取值范围10~1024

DCR_EP_ASM_LOAD_PATH    ASM 磁盘扫描路径, Linux 下一般为/dev/raw,文件模拟情况,必须是全路径,不能是相对路径

 

使用说明:

(1)在用 dmasmcmd 工具执行 init votedisk disk_path from dcr_cfg_path时,指定的 disk_path 必须和 dcr_cfg_path 里面配置的 DCR_VTD_PATH 相同。

(2)如果配置 dmcssm, dmcssm 的 OGUID 必须和 DCR_OGUID 保持一致。

(3)DCR_N_GRP 必须和实际配置的组数目保持一致。

(4)CSS 和 ASM 组的 DCR_GRP_N_EP 要相等, DB 的 DCR_GRP_N_EP 要小于等于CSS/ASM 的 DCR_GRP_N_EP。

(5)ASM 节点的 DCR_EP_NAME 必须和 DMASM 系统使用的 dmmal.ini 配置文件里的MAL_INST_NAME 保持一致。

(6)DB 节点的 DCR_EP_NAME 必须和数据库实例使用 dmmal.ini 配置文件里的MAL_INST_NAME、以及 dm.ini 配置文件里的 INSTANCE_NAME 保持一致。

(7)所有 DB 节点的 DCR_EP_NAME 都不能重复,DB 组内的 DCR_EP_SEQNO 不能重复。

 

 

配置dmdcr.ini

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

使用DMASM 的两个节点分别配置dmdcr.ini,dmdcr_seqo分别为 0 和 1。文件路径:/dm8/data/dmdsc/dmdcr.ini

 

节点1

DMDCR_PATH = /dev/raw/raw3

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

DMDCR_SEQNO = 0

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

DMDCR_ASM_RESTART_INTERVAL = 0

DMDCR_ASM_STARTUP_CMD = /dm8/dmdbms/bin/dmasmsvr dcr_ini=/dm8/data/dmdsc/dmdcr.ini

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

DMDCR_DB_RESTART_INTERVAL = 0

DMDCR_DB_STARTUP_CMD = /dm8/dmdbms/bin/dmserver path=/dm8/data/dsc0_config/dm.ini dcr_ini=/dm8/data/dmdsc/dmdcr.ini

 

 

节点2

DMDCR_PATH = /dev/raw/raw3

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

DMDCR_SEQNO = 1

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

DMDCR_ASM_RESTART_INTERVAL = 0

DMDCR_ASM_STARTUP_CMD = /dm8/dmdbms/bin/dmasmsvr dcr_ini=/dm8/data/dmdsc/dmdcr.ini

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

DMDCR_DB_RESTART_INTERVAL = 0

DMDCR_DB_STARTUP_CMD = /dm8/dmdbms/bin/dmserver path=/dm8/data/dsc1_config/dm.ini dcr_ini=/dm8/data/dmdsc/dmdcr.ini

 

 

dmdcr.ini配置项说明:

 

配置项    说明

DMDCR_PATH

记录 DCR 磁盘路径

DMDCR_SEQNO

记录当前节点序号(用来获取 ASM 登录信息)

DMDCR_MAL_PATH

保存 dmmal.ini 配置文件的路径,仅对 dmasmsvr 有效

DMDCR_ASM_RESTART_INTERVAL

DMCSS 认定 DMASM 节点故障重启的时间间隔(取值 0~86400s), DMCSS 只负责和 DMDCR_SEQNO 节点号相等的DMASM 节点的故障重启,超过设置的时间后,如果 DMASM 节点的 active 标记仍然为 FALSE,则 DMCSS 会执行自动拉起。如果配置为 0,则不会执行自动拉起操作,默认为60s

DMDCR_ASM_STARTUP_CMD

DMCSS 认定 DMASM 节点故障后,执行自动拉起的命令串,可以配置为服务方式或命令行方式启动。

DMDCR_DB_RESTART_INTERVAL

DMCSS 认定 DMDSC 节点故障重启的时间间隔(取值 0~86400s), DMCSS 只负责和 DMDCR_SEQNO 节点号相等的DMDSC 节点的故障重启,超过设置的时间后,如果 DMDSC 节点的 active 标记仍然为 FALSE,则 DMCSS 会执行自动拉起。如果配置为 0,则不会执行自动拉起操作,默认为 60s

DMDCR_DB_STARTUP_CMD

DMCSS 认定 DMDSC 节点故障后,执行自动拉起的命令串,可以配置为服务方式或命令行方式启动。

DMDCR_AUTO_OPEN_CHECK

指定时间内如果节点实例未启动, DMCSS 会自动将节点踢出集群环境,单位为秒,取值范围应大于等于 30s。

 

 

 

 

 

3.2 初始化DMASM

使用DMASMCMD工具初始化共享磁盘:

(只需在配置好dmdcr_cfg.ini的1个节点上执行即可)

 

#手动创建:

[dmdba@lixora bin]$ ./dmasmcmd

DMASMCMD V8

ASM>create votedisk '/dev/raw/raw1' 'VOTE'

ASM>create asmdisk '/dev/raw/raw2' 'DATA01'

ASM>create dcrdisk '/dev/raw/raw3'  'DCR'

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

ASM> init dcrdisk '/dev/raw/raw3' from '/dm8/data/dmdsc/dmdcr_cfg.ini' identified by 'abcd'

 

ASM> init votedisk '/dev/raw/raw1' from '/dm8/data/dmdsc/dmdcr_cfg.ini'

 

 

##批量创建:

asmdisk.txt 脚本内容如下:

[dmdba@lixora dmdsc]$ cat asmdisk.txt

#asm script file

create votedisk '/dev/raw/raw1' 'VOTE'

create asmdisk '/dev/raw/raw2' 'DATA01'

create dcrdisk '/dev/raw/raw3'  'DCR'

create asmdisk '/dev/raw/raw4' 'LOG01'

 

init dcrdisk '/dev/raw/raw3' from '/dm8/data/dmdsc/dmdcr_cfg.ini' identified by 'abcd'

init votedisk '/dev/raw/raw1' from '/dm8/data/dmdsc/dmdcr_cfg.ini'

 

 

可以启动 dmasmcmd 工具,依次输入以上命令,或者将命令写入 asmcmd.txt 文件,执行 dmasmcmd script_file=asmcmd.txt,以行为单位读取文件内容,并依次执行。只需在一台机器执行即可。

需要注意:

 

 脚本文件必须以“#asm script file”开头,否则认为是无效脚本文件;

 脚本中其它行以“#”表示注释;脚本文件大小不超过 1M。

 

 

配置dmasvrmal.ini(所有节点)

dmasvrmal.ini文件为DMASM的MAL配置文件,使用DMASM的所有节点都要配置,内容完全一样。文件路径:/dm8/data/dmdsc/dmasvrmal.ini

 

[MAL_INST1]

    MAL_INST_NAME = ASM0

    MAL_HOST = 192.168.25.11  #私网

    MAL_PORT = 7236

[MAL_INST2]

    MAL_INST_NAME = ASM1

    MAL_HOST = 192.168.25.12  #私网

MAL_PORT = 7237

 

 

 

 

3.3 启动DMCSS、DMASMSVR服务程序

节点1和节点2先后分别启动 dmcss程序。

 

节点1

[dmdba@lixora bin]$ ./dmcss DCR_INI=/dm8/data/dmdsc/dmdcr.ini

 

节点2

[dmdba@lixora2 bin]$ ./dmcss DCR_INI=/dm8/data/dmdsc/dmdcr.ini

 

 

主节点(此处节点1为主节点)dmcss启动后打印信息如下:

[dmdba@lixora bin]$ ./dmcss DCR_INI=/dm8/data/dmdsc/dmdcr.ini

DMCSS V8

DMCSS IS READY

[CSS]: 设置EP CSS0[0]为控制节点 --------

下面的日志需要在节点2执行完/dmasmsvr 后才出现

 

[ASM]: 设置EP ASM0[0]为控制节点

 

[ASM]: 设置命令[START NOTIFY], 目标站点 ASM0[0], 命令序号[2]

 

[ASM]: 设置命令[EP START], 目标站点 ASM0[0], 命令序号[3]

 

[ASM]: 设置命令[NONE], 目标站点 ASM0[0], 命令序号[0]

 

[ASM]: 设置命令[EP START], 目标站点 ASM1[1], 命令序号[5]

 

[ASM]: 设置命令[NONE], 目标站点 ASM1[1], 命令序号[0]

 

[ASM]: 设置命令[EP OPEN], 目标站点 ASM0[0], 命令序号[8]

 

[ASM]: 设置命令[EP OPEN], 目标站点 ASM1[1], 命令序号[9]

 

[ASM]: 设置命令[NONE], 目标站点 ASM0[0], 命令序号[0]

 

[ASM]: 设置命令[NONE], 目标站点 ASM1[1], 命令序号[0]

 

 

#如果后台dmasmsvr 没有自动起来,使用以下命令手动启动dmasmsver

[dmdba@lixora bin]$ ./dmasmsvr DCR_INI=/dm8/data/dmdsc/dmdcr.ini

 

[dmdba@lixora2 bin]$ ./dmasmsvr DCR_INI=/dm8/data/dmdsc/dmdcr.ini

ASM SELF EPNO:0

DMASMSVR V8

 

dmasmsvr task worker thread startup

the ASM server is Ready.

check css cmd: START NOTIFY, cmd_seq: 2

check css cmd: EP START, cmd_seq: 3

 

ASM Control Node EPNO:0

check css cmd: EP OPEN, cmd_seq: 8

 

 

 

 

./dmasmsvr DCR_INI=/dm8/data/dmdsc/dmdcr.ini  命令窗口日志输出

 

ASM Control Node EPNO:0

check css cmd: EP OPEN, cmd_seq: 8

[Trace]atsk_process_connect success, client_is_local=1

[Trace]asm_disk_add: /dev/raw/raw4

[Trace]Create diskgroup DMLOG, with asmdisk /dev/raw/raw4

[Trace]aptx op_type 1, log_len 1170, start seq 0

[Trace]generate one rpag seq 0.

[Trace]generate one rpag seq 1.

[Trace]generate one rpag seq 2.

[Trace]aptx flush op_type 1, log_len 1170, start seq 3

[Trace]The disk metadata addr(0, 0) flush.

[Trace]aptx op_type 1, log_len 15, start seq 3

[Trace]generate one rpag seq 3.

[Trace]aptx flush op_type 1, log_len 15, start seq 4

[Trace]asm_disk_add: /dev/raw/raw2

[Trace]Create diskgroup DMDATA, with asmdisk /dev/raw/raw2

[Trace]aptx op_type 1, log_len 1171, start seq 0

[Trace]generate one rpag seq 0.

[Trace]generate one rpag seq 1.

[Trace]generate one rpag seq 2.

[Trace]aptx flush op_type 1, log_len 1171, start seq 3

[Trace]The disk metadata addr(1, 0) flush.

[Trace]atsk_process_sess_free org_site:(0), org_sess:(0xb0000910).

[Trace]asvr2_sess_free sess:(0xb0000910), tsk:(0xbc4090).

 

 

 

[root@lixora2 bin]#  ./dmasmsvr DCR_INI=/dm8/data/dmdsc/dmdcr.ini

ASM SELF EPNO:1

DMASMSVR V8

dmasmsvr task worker thread startup

the ASM server is Ready.

check css cmd: EP START, cmd_seq: 5

 

ASM Control Node EPNO:0

check css cmd: EP OPEN, cmd_seq: 9

[Trace]asm_disk_add: /dev/raw/raw4

[Trace]asm_disk_add: /dev/raw/raw2

 

 

 

 

 

3.4 创建DMASM共享磁盘组

选择1个节点,启动dmasmtool工具,并创建共享磁盘组。

 

[dmdba@lixora bin]$ ./dmasmtool DCR_INI=/dm8/data/dmdsc/dmdcr.ini

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

Used time: 176.881(ms).

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

Used time: 168.380(ms).

ASM>

 

 

###注意创建磁盘组的语句不需要以分号结尾,末尾加上分号会报错

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

syntax error

[code : -2007] 语法分析出错

 

create diskgroup 'DMLOG' asmdisk '/dev/raw/raw4’

create diskgroup 'DMDATA' asmdisk '/dev/raw/raw2'

'

 

 

3.5 初始化数据库实例

3.5.1 配置dminit.ini

准备 dminit.ini 配置文件,保存到/dm8/data/dmdsc目录。

dminit.ini内容如下:

 

db_name = dsc

system_path = +DMDATA/data

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

system_size = 128

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

roll_size = 128

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

main_size = 128

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

ctl_size = 8

log_size = 128  #注意磁盘空间大小128*4

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

dcr_seqno = 0

auto_overwrite = 1

[RAC0]           #inst_name跟 dmdcr_cfg.ini 中DB类型group中DCR_EP_NAME对应

config_path = /dm8/data/dsc0_config

port_num = 5236             #最好与dmdcr_cfg.ini 中DB类型group中DCR_EP_PORT一致,不一致以DCR_EP_PORT为准

mal_host = 192.168.25.11

mal_port = 9340

log_path = +DMLOG/log/rac0_log01.log

log_path = +DMLOG/log/rac0_log02.log

 

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

config_path = /dm8/data/dsc1_config

port_num = 5236     #最好与dmdcr_cfg.ini 中 DB 类型 group 中 DCR_EP_PORT一致,不一致以DCR_EP_PORT为准

mal_host = 192.168.25.12

mal_port = 9341

log_path = +DMLOG/log/rac1_log01.log

log_path = +DMLOG/log/rac1_log02.log

 

3.52 使用dminit初始化实例

选择配置好dminit.ini配置文件的节点(可以选择任意1个集群节点),启动dminit工具初始化数据库。dminit 执行完成后,会在config_path目录(/dm8/data/dsc0_config和/dm8/data/dsc1_config)下生成配置文件dm.ini和dmmal.ini。

 

./dminit control=/dm8/data/dmdsc/dminit.ini

 

#日志输出:

[root@lixora bin]# ./dminit control=/dm8/data/dmdsc/dminit.ini

initdb V8

db version: 0x7000a

License will expire on 2020-10-25

 

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

 

 

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

 

 

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

 

 

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

 

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

create dm database success. 2020-07-22 03:59:41

[root@lixora bin]#

 

 

 

 

#拷贝/dm8/data/dsc1_config 到节点2上/dm8/data

 

[dmdba@lixora data]$ scp -r dsc1_config 192.168.1.18:/dm8/data/

[email protected]'s password:

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

dm.ini                                                                100%   47KB  47.0KB/s   00:00   

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

 

 

 

 

3.5.3 启动数据库服务

手动启动:

 

[dmdba@lixora bin]$ ./dmserver path=/dm8/data/dsc0_config/dm.ini dcr_ini=/dm8/data/dmdsc/dmdcr.ini

 

 

[dmdba@lixora2 bin]$ ./dmserver path=/dm8/data/dsc1_config/dm.ini dcr_ini=/dm8/data/dmdsc/dmdcr.ini

 

测试时发现,在前台启动时,当关闭其中1个实例之后,另外一个实例也会关闭。

 

 

 

3.6 配置DMCSS服务

3.6.1 配置ASM和数据库实例随dmcss启动

所有节点修改dmdcr.ini中DMDCR_ASM_RESTART_INTERVAL 和DMDCR_DB_RESTART_INTERVAL 配置项,都设置为60(默认60s)。

 

[dmdba@lixora bin]$ cat /dm8/data/dmdsc/dmdcr.ini

DMDCR_PATH = /dev/raw/raw1

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

DMDCR_SEQNO = 0

 

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

DMDCR_ASM_RESTART_INTERVAL = 60

DMDCR_ASM_STARTUP_CMD = /dm8/dmdbms/bin/dmasmsvr dcr_ini=/dm8/data/dmdsc/dmdcr.ini

 

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

DMDCR_DB_RESTART_INTERVAL = 60

DMDCR_DB_STARTUP_CMD = /dm8/dmdbms/bin/dmserver path=/dm8/data/dsc0_config/dm.ini dcr_ini=/dm8/data/dmdsc/dmdcr.ini

 

3.6.2 配置dmcss系统服务

可以通过dm_service_installer.sh脚本来配置,脚本用法如下:

 

[root@lixora root]# ./dm_service_installer.sh -h

Usage: dm_service_installer.sh -t service_type [-p service_name_postfix] [-dm_ini dm_ini_file]

        [-watch_ini watch_ini_file ] [-wmon_ini wmon_ini_file] [-rww_ini rww_ini_file]

        [-watcher_ini watcher_ini_file ] [-monitor_ini monitor_ini_file] [-cssm_ini cssm_ini_file]

        [-dfs_ini dfs_ini_file] [-dcr_ini dcr_ini_file]

        [-dss_ini dss_ini_file] [-drs_ini drs_ini_file] [-dras_ini dras_ini_file] [-dcs_ini dcs_ini_file] [-server server_info]

        [-m open|mount] [-y dependent_service] [-auto true|false]

  or dm_service_installer.sh [-s service_file_path]

  or dm_service_installer.sh -h

 

   -t               服务类型,包括

dmimon,dmap,dmserver,dmwatcher,dmmonitor,dmcss,dmcssm,dmasmsvr,dmdcs,dmdrs,dmdras,dmdss

   -p               服务名后缀,对于dmimon,dmap服务类型无效

   -dm_ini          dm.ini文件路径

   -watch_ini       dmwatch.ini文件路径.

   -wmon_ini        dmwmon.ini文件路径.

   -rww_ini         dmrww.ini文件路径.

   -watcher_ini     dmwatcher.ini文件路径.

   -monitor_ini     dmmonitor.ini文件路径.

   -dcr_ini         dmdcr.ini文件路径.

   -cssm_ini        dmcssm.ini文件路径.

   -dss_ini         dss.ini文件路径.

   -drs_ini         drs.ini文件路径.

   -dras_ini        dras.ini文件路径.

   -dcs_ini         dcs.ini文件路径.

   -dfs_ini         dfs.ini文件路径.

   -server          服务器信息(IP:PORT)

   -auto            设置服务是否自动启动,值为true或false,默认true.

   -m               设置服务器启动模式open或mount,只针对dmserver服务类型生效,可选

   -y               设置依赖服务,此选项只针对systemd服务环境下的dmserver和dmasmsvr服务生效

   -s               服务脚本路径,设置则忽略除-y外的其他参数选项

   -h               帮助

 

 

 

配置dmcss系统服务(root用户):

/dm8/dmdbms/script/root/dm_service_installer.sh -t dmcss -dcr_ini /dm8/data/dmdsc/dmdcr.ini -p RAC0

/dm8/dmdbms/script/root/dm_service_installer.sh -t dmcss -dcr_ini /dm8/data/dmdsc/dmdcr.ini -p RAC1

 

[root@lixora ~]# /dm8/dmdbms/script/root/dm_service_installer.sh -t dmcss -dcr_ini /dm8/data/dmdsc/dmdcr.ini -p RAC0

移动服务脚本文件(/dm8/dmdbms/bin/DmCSSServiceRAC0 到 /etc/rc.d/init.d/DmCSSServiceRAC0)

创建服务(DmCSSServiceRAC0)完成

[root@lixora ~]#

[root@lixora ~]# /etc/init.d/DmCSSServiceRAC0 start

Starting DmCSSServiceRAC0:                                 [ OK ]

[root@lixora ~]#

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

[root@lixora2 ~]# /dm8/dmdbms/script/root/dm_service_installer.sh -t dmcss -dcr_ini /dm8/data/dmdsc/dmdcr.ini -p RAC1

移动服务脚本文件(/dm8/dmdbms/bin/DmCSSServiceRAC1 到 /etc/rc.d/init.d/DmCSSServiceRAC1)

创建服务(DmCSSServiceRAC1)完成

[root@lixora2 ~]#

[root@lixora2 ~]# /etc/init.d/DmCSSServiceRAC1 start

Starting DmCSSServiceRAC1:                                 [ OK ]

[root@lixora2 ~]#

 

 

3.7 配置DMCSSM监视器

在监视器服务器上,安装达梦数据库软件,然后配置dmcssm.ini,配置文件路径:/dm8/monitor

文件内容如下:

 

[dmdba@DaMengDB bin]$ cat /dm8/monitor/dmcssm.ini

#和 dmdcr_cfg.ini 中的 DCR_OGUID 保持一致

CSSM_OGUID = 63635

#配置所有 CSS 的连接信息,

#和 dmdcr_cfg.ini 中 CSS 配置项的 DCR_EP_HOST 和 DCR_EP_PORT 保持一致

CSSM_CSS_IP = 192.168.25.11:9341

CSSM_CSS_IP = 192.168.25.12:9343

CSSM_LOG_PATH =/dm8/monitor/log #监视器日志文件存放路径

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

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

 

 

14.1 dmcssm.ini 配置项

配置项

配置含义

CSSM_OGUID

用 于 和 DMCSS 通 信 校验 使 用, 和 dmdcr_cfg.ini 中 的DCR_OGUID 值保持一致。

CSSM_CSS_IP

集群中所有 DMCSS 所在机器的 IP 地址,以及 DMCSS 的监听端口,配置格式为“IP:PORT”的形式,其中 IP PORT 分别对应dmdcr_cfg.ini DMCSS 节 点 的 DCR_EP_HOST DCR_EP_PORT

CSSM_LOG_PATH

日志文件路径,日志文件命名方式为 “dmcssm_年月日时分秒.log”,例如“dmcssm_20160614131123.log”
如果 dmcssm.ini 中配置有 CSSM_LOG_PATH 路径,则将 CSSM_LOG_PATH 作为日

志文件路径,如果没有配置,则将 dmcssm.ini 配置文件所在的路径作为日志文件路径

CSSM_LOG_FILE_SIZE

单个日志文件大小,范围 16~2048,单位为 M,默认值为 64M,达到最大值后,会自动生成并切换到新的日志文件中。

CSSM_LOG_SPACE_LIMIT

日志总空间大小,取值 0 或者 256~4096,单位为 M,默认值为0,表示没有空间限制,如果达到设定的总空间限制,会自动删除创建时间最早的日志文件。

 

 

启动dmcssm监视器:

./dmcssm ini_path=/dm8/monitor/dmcssm.ini

 

show    ----show命令查看所有组的信息

 

monitor current time:2020-06-12 21:46:19, n_group:3

=================== group[name = GRP_CSS, seq = 0, type = CSS, Control Node = 0] ========================================

 

[CSS0] global info:

[ASM0] auto restart = TRUE

[RAC0] auto restart = TRUE

 

[CSS1] global info:

[ASM1] auto restart = TRUE

[RAC1] auto restart = TRUE

 

 

ep:  css_time               inst_name     seqno     port    mode         inst_status        vtd_status   is_ok        active       guid              ts             

        2020-06-12 21:46:08    CSS0          0         9341    Control Node OPEN               WORKING      OK           TRUE         633332346         633340573      

        2020-06-12 21:46:08    CSS1          1         9343    Normal Node  OPEN               WORKING      OK           TRUE         633329821         633338642      

 

=================== group[name = GRP_ASM, seq = 1, type = ASM, Control Node = 0] ========================================

 

n_ok_ep = 2

ok_ep_arr(index, seqno):

(0, 0)

(1, 1)

 

sta = OPEN, sub_sta = STARTUP

break ep = NULL

recover ep = NULL

 

crash process over flag is TRUE

ep:  css_time               inst_name     seqno     port    mode         inst_status        vtd_status   is_ok        active       guid              ts             

        2020-06-12 21:46:08    ASM0          0         9349    Control Node OPEN               WORKING      OK           TRUE         633337312         633346688      

        2020-06-12 21:46:08    ASM1          1         9351    Normal Node  OPEN               WORKING      OK           TRUE         633333868         633343275      

 

=================== group[name = GRP_DSC, seq = 2, type = DB, Control Node = 0] ========================================

 

n_ok_ep = 2

ok_ep_arr(index, seqno):

(0, 0)

(1, 1)

 

sta = OPEN, sub_sta = STARTUP

break ep = NULL

recover ep = NULL

 

crash process over flag is TRUE

ep:  css_time               inst_name     seqno     port    mode         inst_status        vtd_status   is_ok        active       guid              ts             

        2020-06-12 21:46:08    RAC0          0         5236    Control Node OPEN               WORKING      OK           TRUE         2312282503        2312291731     

        2020-06-12 21:46:08    RAC1          1         5236    Normal Node  OPEN               WORKING      OK           TRUE         2312250192        2312259463     

 

==================================================================================================================

DMCSSM监视器命令:

 

help                                 显示帮助信息

show [group_name]     显示指定的组信息,如果没有指定 group_name,则显示所有组信息

show config                    显示 dmdcr_cfg.ini 的配置信息

show monitor                显示当前连接到主 CSS 的所有监视器信息

set group_name auto restart on   打开指定组的自动拉起功能(只修改 dmcss 内存值)

set group_name auto restart off  关闭指定组的自动拉起功能(只修改 dmcss 内存值)

open force group_name       强制 open 指定的 ASM 或 DB 组

ep startup group_name        启动指定的 ASM 或 DB 组

ep stop group_name             退出指定的 ASM 或 DB 组

ep halt group_name.ep_name     强制退出指定组中的指定节点

extend node                   联机扩展节点

ep crash group_name.ep_name           手动指定节点故障

check crash over group_name             检查指定组故障处理是否真正结束

exit 退出监视器

 

 

 

3.7.1 DMCSSM监视器服务配置

节点1

[root@lixora root]# cd /dm8/dmdbms/script/root

[root@lixora root]#  sh dm_service_installer.sh  -t  dmcssm -p dmcssmRAC0  -cssm_ini /dm8/monitor/dmcssm.ini

ln -s '/usr/lib/systemd/system/DmCSSMonitorServicedmcssmRAC0.service' '/etc/systemd/system/multi-user.target.wants/DmCSSMonitorServicedmcssmRAC0.service'

Finished to create the service (DmCSSMonitorServicedmcssmRAC0)

 

配置服务自启动

[root@lixora root]# systemctl  enable DmCSSMonitorServicedmcssmRAC0.service

[root@lixora root]# systemctl  start  DmCSSMonitorServicedmcssmRAC0.service

 

 

节点2:

[root@lixora root]# cd /dm8/dmdbms/script/root

[root@lixora2 root]#  sh dm_service_installer.sh  -t  dmcssm -p dmcssmRAC1  -cssm_ini /dm8/monitor/dmcssm.ini

ln -s '/usr/lib/systemd/system/DmCSSMonitorServicedmcssmRAC1.service' '/etc/systemd/system/multi-user.target.wants/DmCSSMonitorServicedmcssmRAC1.service'

Finished to create the service (DmCSSMonitorServicedmcssmRAC1)

[root@lixora2 root]# pwd

/dm8/dmdbms/script/root

 

配置服务自启动

[root@lixora2 root]# systemctl  enable DmCSSMonitorServicedmcssmRAC1.service

[root@lixora2 root]# systemctl  start  DmCSSMonitorServicedmcssmRAC1.service

 

 

 

3.7.2 DMCSS 使用维护操作命令

 

在DM8中,新增加了监视器的功能,使用起来非常方便,功能也很人性化。但是需要注意的是,DSC中的监视器与DM实时主备或读写分离集群中的监视器不同,没有确认监视器与非确认监视器的说法,同一个DMDSC集群中,允许最多同时启动10个监视器,建议监视器放在独立的第三方机器上,避免由于节点间网络不稳定等原因导致监视器误判节点故障。

 

DMCSSM监视器的功能说明

1. 监控集群状态 

    DMCSS每秒会发送集群中所有节点的状态信息、当前连接到DMCSS的监视器信息以及DCR的配置信息到活动的监视器上,监视器提供对应的show命令用于查看各类信息。 

2. 打开/关闭指定组的自动拉起 

    DMCSSM提供SET AUTO RESTART ON/SET AUTO RESTART OFF命令,通知DMCSS打开或关闭对指定组的自动拉起功能,此功能和DMCSS的监控打开或关闭没有关系。 

3. 强制OPEN指定组 

    DMCSSM提供OPEN FORCE命令,在启动ASM或DB组时,如果组中某个节点发生硬件故障等原因导致一直无法启动,可执行此命令通知DMCSS将ASM组或DB组强制OPEN,不再等待故障节点启动成功。 

4. 启动/退出集群 

    DMCSSM提供EP STARTUP/EP STOP命令,可以通知DMCSS启动/退出指定的ASM或DB组。 

5. 集群故障处理 

    DMCSSM提供EP BREAK/EP RECOVER命令,在主CSS的监控功能被关闭的情况下,可以通过执行这些命令手动进行故障处理和故障恢复。另外在某些特殊场景下还可通过EP HALT命令强制退出指定节点

 

DMDSC启动、关闭流程

启动:

 

DMDSC是基于共享存储的数据库集群系统,包含多个数据库实例,因此,与单节点的达梦数据库不同,DMDSC集群需要在节点间进行同步、协调,才能正常地启动、关闭。启动DMDSC集群之前,必须先启动集群同步服务DMCSS,如果使用了DMASM文件系统,则DMASMSVR服务也必须先启动。 

 

启动流程简单总结一下就是先启动DMCSS,然后启动DMASMSVR(如果有的话),最后启动DMSERVER

 

如果DMCSS配置了DMASMSVR/dmserver自动拉起命令,此时可以先仅启动DMCSS,然后启动监视器DMCSSM,在DMCSSM控制台执行命令"ep startup asm"启动DMASMSVR集群,执行"ep startup dsc"启动dmserver集群(其中asm/dsc为dmasmsvr/dmserver集群的组名)。

 

停止:

 

如果DMCSS配置了DMASMSVR/dmserver自动拉起命令,那么手动停止DMSERVER和DMASMSVR时会被拉起来,因此可能导致停止服务执行成功,但是集群并未停止的情况。此时就显示出监视器的好处。

 

此时可以在监视器中执行“ep stop 集群组名”命令的方式停止ASMSVR服务或者dmserver服务,在使用监视器停止服务时,监视器会关闭相关的自动拉起命令,因此,可以确保集群的正确停止,在停止DMASMSVR/dmserver服务后,再手动停止DMCSS服务即可。需要注意的是,如果不停止DMCSS服务,再次启动集群的话,自动拉起是不会生效的,当然,也可以通过在监视器中执行“set group_name auto restart on/off ”打开/关闭指定组的自动拉起功能,此命令只修改dmcss内存值。

 

 

监视器命令

命令名称

含义

help

显示帮助信息

show [group_name]

显示指定的组信息,如果没有指定 group_name,则显示所有组信息

show config

显示 dmdcr_cfg.ini 的配置信息

show monitor

显示当前连接到主 CSS 的所有监视器信息

set group_name auto restart on

打开指定组的自动拉起功能(只修改 dmcss 内存值)

set group_name auto restart off

关闭指定组的自动拉起功能(只修改 dmcss 内存值)

open force group_name

强制 open 指定的 ASM DB

ep startup group_name

启动指定的 ASM DB

ep stop group_name

退出指定的 ASM DB

ep halt group_name.ep_name

强制退出指定组中的指定节点

extend node

联机扩展节点

ep crash group_name.ep_name

手动指定节点故障

check crash over group_name

检查指定组故障处理是否真正结束

exit

退出监视器

 

 

 

 

 

 

4.0 配置故障自动重连

4.0.1 配置dm_svc.conf文件:

 

[dmdba@lixora bin]$ vi /etc/dm_svc.conf

TIME_ZONE=(480)

LANGUAGE=(cn)

rac=(192.168.1.38:5236,192.168.1.18:5236)

SWITCH_TIME=(10000)

SWITCH_INTERVAL=(1000)

 

 

 

TIME_ZONE=(480)

LANGUAGE=(en)

rac=(192.168.1.38:5236,192.168.1.18:5236)

SWITCH_TIME=(10000)

SWITCH_INTERVAL=(1000)

 

 

4.0.2 连接测试:

 

[dmdba@lixora bin]$ ./disql sysdba/SYSDBA@rac

 

服务器[192.168.1.18:5236]:处于普通打开状态

登录使用时间: 221.175(毫秒)

disql V8

SQL> select * from v$instance;

 

附录1 dmcss、DMASMSVR、dmserver 实例手动启动命令

dmcss启动命令举例如下:

./dmcss DCR_INI=/home/data/dmdcr.ini

 

 

 

 

DMASMSVR 实例启动命令举例如下:
1. linux 命令行方式启动(不能出现带有空格的路径):
DMDCR_ASM_STARTUP_CMD = /opt/dmdbms/bin/dmasmsvr dcr_ini=/home/data/dmdcr.ini
2. linux 服务方式启动:
DMDCR_ASM_STARTUP_CMD = service dmasmserverd restart
 

3. Windows 命令行启动:
DMDCR_ASM_STARTUP_CMD = c:\dm\bin\dmasmsvr.exe dcr_ini=d:\asmtest\dmdcr.ini
4. Windows 服务方式启动:
DMDCR_ASM_STARTUP_CMD = net start 注册服务名
 

 

dmserver 实例启动命令如下:
1. linux 命令行方式启动(不能出现带有空格的路径):
DMDCR_DB_STARTUP_CMD = /opt/dmdbms/bin/dmserver
path=/home/data/dsc0_config/dm.inidcr_ini=/home/data/dmdcr.ini

2. linux 服务方式启动:
DMDCR_DB_STARTUP_CMD = service DmServiceDSC01 restart
 

3. Windows 命令行启动:
DMDCR_DB_STARTUP_CMD = c:\dm\bin\dmserver.exe
path=d:\asmtest\dsc0_config\dm.inidcr_ini=d:\asmtest\dmdcr.ini

4. Windows 服务方式启动:
DMDCR_DB_STARTUP_CMD = net start 注册服务名

 

 

 

 

 

 

附录2 DMDSC 归档配置

配置文件配置方式:配置dmarch.ini 参数文件

#节点1

vi dmarch.ini

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL

ARCH_DEST = /u01/dmdbms/data/arch_rac0

ARCH_FILE_SIZE = 128

ARCH_SPACE_LIMIT = 0

[ARCH_REMOTE1]

ARCH_TYPE = REMOTE

ARCH_DEST = RAC1

ARCH_INCOMING_PATH = /u01/dmdbms/data/arch_rac1

ARCH_FILE_SIZE = 128

ARCH_SPACE_LIMIT = 0

alter database add archivelog 'DEST=RAC1,TYPE=REMOTE,INCOMING_PATH=/u01/dmdbms/data/arch_rac1,FILE_SIZE=128,space_limit=0';

 

#节点2

vi dmarch.ini

[ARCHIVE_LOCAL1]

ARCH_TYPE = LOCAL

ARCH_DEST = /u01/dmdbms/data/arch_rac1

ARCH_FILE_SIZE = 128

ARCH_SPACE_LIMIT = 0

[ARCH_REMOTE1]

ARCH_TYPE = REMOTE

ARCH_DEST = RAC0

ARCH_INCOMING_PATH = /u01/dmdbms/data/arch_rac0

ARCH_FILE_SIZE = 128

ARCH_SPACE_LIMIT = 0

 

##重启生效:

SQL> alter database mount;

SQL> alter database archivelog;

SQL> alter database open;

 

SQL> select ARCH_MODE  from v$database;

 

LINEID     ARCH_MODE

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

1          Y

 

 

 

命令行配置方式:

#节点1执行:

SQL> alter database mount;       

SQL> alter database add archivelog 'DEST=/u01/dmdbms/data/arch_rac0,TYPE=local,FILE_SIZE=128,space_limit=0';

SQL> alter database add archivelog 'DEST=RAC1,TYPE=REMOTE,INCOMING_PATH=/u01/dmdbms/data/arch_rac1,FILE_SIZE=128,space_limit=0';

SQL> alter database open;

 

SQL> select arch_name,arch_type,arch_dest,arch_file_size from v$dm_arch_ini;

 

LINEID     ARCH_NAME      ARCH_TYPE ARCH_DEST                  ARCH_FILE_SIZE

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

1          ARCHIVE_LOCAL1 LOCAL     /u01/dmdbms/data/arch_rac0 128

2          ARCH_REMOTE1   REMOTE    RAC1                       128

 

#节点2执行:

[root@dm8serv2 ~]# su - dmdba

[dmdba@dm8serv2 ~]$ disql sysdba/SYSDBA@localhost

 

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

login used time: 39.200(ms)

disql V8

SQL> alter database mount;

executed successfully

used time: 00:00:01.842. Execute id is 0.

SQL> alter database add archivelog 'DEST=/u01/dmdbms/data/arch_rac1,TYPE=local,FILE_SIZE=128,space_limit=0';

executed successfully

used time: 6.106(ms). Execute id is 0.

SQL> alter database add archivelog 'DEST=RAC0,TYPE=REMOTE,INCOMING_PATH=/u01/dmdbms/data/arch_rac0,FILE_SIZE=128,space_limit=0';

executed successfully

used time: 15.383(ms). Execute id is 0.

SQL> alter database open;

executed successfully

used time: 00:00:01.881. Execute id is 0.

 

 

配置检查:

SQL> select arch_name,arch_type,arch_dest,arch_file_size from v$dm_arch_ini;

 

LINEID     ARCH_NAME      ARCH_TYPE ARCH_DEST                  ARCH_FILE_SIZE

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

1          ARCHIVE_LOCAL1 LOCAL     /u01/dmdbms/data/arch_rac1 128

2          ARCH_REMOTE1   REMOTE    RAC0                       128

 

SQL> select * from V$ARCH_STATUS;

 

LINEID     ARCH_TYPE ARCH_DEST                  ARCH_STATUS ARCH_SRC

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

1          LOCAL     /u01/dmdbms/data/arch_rac0 VALID       RAC0

2          REMOTE    /u01/dmdbms/data/arch_rac1 VALID       RAC1

 

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

SQL>

 

 

 

在线备份测试

SQL> BACKUP DATABASE BACKUPSET '/u01/dmdbms/data/bak';

 

executed successfully

used time: 00:02:05.715. Execute id is 3.

SQL> SQL>

 

 

 

 

./dmrman dcr_ini=/u01/dmdbms/data/dmdcr.ini

 

RMAN>RESTORE DATABASE '/u01/dmdbms/data/dsc1_config/dm.ini' FROM BACKUPSET '/u01/dmdbms/data/bak';

 

 

RMAN>RECOVER DATABASE '/u01/dmdbms/data/dsc1_config/dm.ini' WITH ARCHIVEDIR'/u01/dmdbms/data/arch_rac0','/u01/dmdbms/data/arch_rac1';

 

 

RMAN>RECOVER DATABASE '/u01/dmdbms/data/dsc1_config/dm.ini' UPDATE DB_MAGIC

 

你可能感兴趣的:(达梦数据库)