数据库运维
记录DBA学习成长历程

DM8-DSC-配置说明

文章目录
与DMDSC相关的配置文件包括:
1、DMDCR_CFG.INI
2、DMDCR.INI
3、DMINIT.INI
4、MAL系统胚子文件(DMMAL.INI\DMASVERMAL.INI)
5、DM.INI

一、DMDCR_CFG.INI

dmdcr_cfg.ini是格式化DCR和Voting Disk的配置文件。配置信息包括三类:集群环境全局信息、集群组信息、以及组内节点信息。
使用dmasmcmd工具,可以根据dmdcr_cfg.ini配置文件,格式化DCR和Votin Disk。

使用说明:

1、在使用dmasmcmd工具执行init totedisk 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不能重复。

举例说明
DCR_N_GRP = 3
DCR_VTD_PATH = /dev/raw/raw2
DCR_OGUID = 63635
[GRP] #[GRP]表示新建一个 Group
DCR_GRP_TYPE = CSS
DCR_GRP_NAME = CSS
DCR_GRP_N_EP = 2
DCR_GRP_DSKCHK_CNT = 60
[CSS] #[]里的是组名,与 DCR_GRP_NAME 对应
DCR_EP_NAME = CSS0
DCR_EP_HOST = 10.0.2.101
DCR_EP_PORT = 9341
[CSS] #[]里的是组名,与 DCR_GRP_NAME 对应
DCR_EP_NAME = CSS1
DCR_EP_HOST = 10.0.2.102
DCR_EP_PORT = 9343
[GRP] #[GRP]表示新建一个 Group
DCR_GRP_TYPE = ASM
DCR_GRP_NAME = ASM
DCR_GRP_N_EP = 2
DCR_GRP_DSKCHK_CNT = 60
[ASM] #[]里的是组名,与 DCR_GRP_NAME 对应
DCR_EP_NAME = ASM0
DCR_EP_SHM_KEY = 93360
DCR_EP_SHM_SIZE = 10
DCR_EP_HOST = 10.0.2.101
DCR_EP_PORT = 9349
DCR_EP_ASM_LOAD_PATH = /dev/raw
[ASM] #[]里的是组名,与 DCR_GRP_NAME 对应
DCR_EP_NAME = ASM1
DCR_EP_SHM_KEY = 93361
DCR_EP_SHM_SIZE = 10
DCR_EP_HOST = 10.0.2.201
DCR_EP_PORT = 9351
DCR_EP_ASM_LOAD_PATH = /dev/raw
[GRP] #[GRP]表示新建一个 Group
DCR_GRP_TYPE = DB
DCR_GRP_NAME = DSC
DCR_GRP_N_EP = 2
DCR_GRP_DSKCHK_CNT = 60
[DSC] #[]里的是组名,与 DCR_GRP_NAME 对应
DCR_EP_NAME = DSC01
DCR_EP_SEQNO = 0
DCR_EP_PORT = 5236
DCR_CHECK_PORT = 9741
[DSC] #[]里的是组名,与 DCR_GRP_NAME 对应
DCR_EP_NAME = DSC02
DCR_EP_SEQNO = 1
DCR_EP_PORT = 5236
DCR_CHECK_PORT = 9742

二、DMDCR.INI

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

使用说明
1、dmasmsvr和dmserver使用不同的MAL系统,需要配置两套MAL系统,配置文件dmmal.ini需要分别生成,保存到不同的目录下,并且dmmal.ini中配置项不能重复、冲突。
2、DMDSC集群环境中,只有当所有OK节点实例都启动的时,整个集群环境才能启动。可能存在某些场景,部分ok节点无法正常启动,导致整个集群环境无法正常启动。指定参数DMDCR_AUTO_OPEN_CHECK后,如果超过指定时间节点实例还未启动,DMCSS自动将未启动节点踢出集群环境,变为ERROR节点,节后其他活动OK节点可以正常启动。
DMDSC中至少一个OK节点启动后DMCSS才开始检查,所有OK节点都未启动情况下,DMCSS不会主动踢出节点。
3、DMCSS自动拉起故障DMASMSVR或dmserver实例
故障认定间隔和启动命令串是配合使用的,DMASMSVR和dmserver实例需要各自配置,如果没有配置启动命令串,故障间隔即时配置为大于0的值DMCSS也不会执行自动拉起操作,DMDCR_ASM_RESTART_INTERVAL和DMDCR_DB_RESTART_INTERVAL默认的60s只有在配置有启动命令串时才会起作用。
DMDCR_ASM_STARTUP_CMD和DMDCR_DB_STARTUP_CMD的配置方法相同,只是执行码名称和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.ini dcr_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.ini dcr_ini=d:\asmtest\dmdcr.ini
4. Windows 服务方式启动:
DMDCR_DB_STARTUP_CMD = net start 注册服务名
举例说明
DMDCR_PATH=/dev/raw/raw1
DMDCR_SEQNO=0
DMDCR_MAL_PATH=/home/data/dmasvrmal.ini
#故障认定间隔,以及启动命令中的执行码路径和 ini 路径需要根据实际情况调整
DMDCR_ASM_RESTART_INTERVAL = 60
DMDCR_ASM_STARTUP_CMD = /opt/dmdbms/bin/dmasmsvr dcr_ini=/home/data/dmdcr.ini
DMDCR_DB_RESTART_INTERVAL = 60
DMDCR_DB_STARTUP_CMD = /opt/dmdbms/bin/dmserver
path=/home/data/dsc0_config/dm.ini dcr_ini=/home/data/dmdcr.ini

三、DMINIT.INI

dminit.ini是dminit工具初始化数据库环境的配置文件。与初始化库使用普通文件系统不同,如果使用裸设备或者asm文件系统,必须使用dminit工具的control参数指定dminit.ini文件。dminit工具的命令行参数都可以放在dminit.ini中,比如db_name,quto_overwrite等,dminit.ini格式分为全局参数和节点参数。

使用说明
1、SYSTEM_PATH目前可以支持ASM文件系统,如果不指定,MAIL/SYSTEM/ROLL/CTL_PATH/HUGE_PATH,数据文件、控制文件和huge表空间路径都会默认生成SYSTEM_PATH/db_name下面。
2、表空间路径和DM.CTL路径支持普通操作系统路径、裸设备、ASM文件路径,如果指定必须指定size。
3、只有dminit工具使用asm文件系统,才会用到DCR_PATH和DCR_SEQNO,并且不会写入其他配置文件。
4、CONFIG_PATH暂时只支持裸设备,不支持ASM文件系统。DSC环境配置,各节点的config_path要指定不同路径。
5、MAL_HOST和MAL_PORT是为了自动创建dmmal.ini文件使用,只有在初始化DSC环境时需要指定。
6、LOG_PATH可以不指定,默认会在SYSTEM_PATH生成。如果指定,必须指定两个以上。
7、必须指定实例名,也就是必须配置[XXX]。
8、dminit工具的control参数只能独立使用,不能和其他任何参数一起使用。
举例说明
system_path= +DMDATA/data
db_name= dsc
main= +DMDATA/data/dsc/main.dbf
main_size= 128
roll = +DMDATA/data/dsc/roll.dbf
roll_size= 128
system = +DMDATA/data/dsc/system.dbf
system_size= 128
ctl_path = +DMDATA/data/dsc/dm.ctl
ctl_size = 8
log_size = 256
dcr_path = /dev/raw/raw1
dcr_seqno = 0
auto_overwrite=1
[dsc01]
config_path = /home/data/config1
port_num = 5236
mal_host = 10.0.2.101
mal_port = 9340
log_path = +DMDATA/log/log101.log
log_path = +DMDATA/log/log102.log
[dsc02]
config_path = /home/data/config2
port_num = 5237
mal_host = 10.0.2.102
mal_port = 9341
log_path = +DMDATA/log/log201.log
log_path = +DMDATA/log/log202.log

四、MAL系统配置文件(DMMAL.INI\DMASVERMAL.INI)

dmmal.ini和dmasvermal.ini都是MAL配置文件。使用同一套MAL系统的所有实例,MAL系统配置文件要严格保持一致。

使用说明
1、DMASMSVR组成的集群环境使用MAL系统进行通讯,需要在dmdcr.ini配置文件中配置DMDCR_MAL_PATH参数,指定MAL配置文件路径。例如:DMDCR_MAL_PATH=/home/data/dmasvrmal.ini。
2、使用MAL系统的dmserver实例,需要将dm.ini配置型MAL_INI设置为1,。同时MAL系统配置文件名称必须为dmmal.ini。
3、DMASMSVR和DMDSC集群中的dmserver实例需要分别配置一套独立的MAL系统,两者配置的MAL环境不能冲突。

五、DM.INI

dm.ini是dmserver使用的配置文件。
各DSC节点之间的部分INI参数必须保持一致,如果不一致,会导致后启动的节点启动失败,日志会记录失败原因。每个节点用系统函数修改本节点的INI时,DSC会将新修改值同步到其他节点,始终保持INI参数的一致性。
须保持一致的 INI 参数如下所示:
BUFFER
DSC_N_CTLS
TS_RESERVED_EXTENTS
TS_SAFE_FREE_EXTENTS
TS_MAX_ID
TS_FIL_MAX_ID
DIRECT_IO
PWD_POLICY
ALTER_MODE_STATUS
ENABLE_OFFLINE_TS
ORDER_BY_NULLS_FLAG
OPTIMIZER_MODE
CHECK_SVR_VERSION
RLOG_APPEND_SYSTAB_LOGIC
ISOLATION_LEVEL
HPC_N_CTLS
BACKSLASH_ESCAPE
STR_LIKE_IGNORE_MATCH_END_SPACE
CLOB_LIKE_MAX_LEN
MS_PARSE_PERMIT
COMPATIBLE_MODE
CASE_COMPATIBLE_MODE
COUNT_64BIT
CALC_AS_DECIMAL
CMP_AS_DICIMAL
CAST_VARCHAR_MODE
PL_SQLCODE_COMPATIBLE
LEGACY_SEQUENCE
DM6_TODATE_FMT
DROP_CASCADE_VIEW
另外,下面几个参数需要按要求进行配置:
1、INSTANCE_NAME:dmserver如果需要使用DMASM文件系统,INSTANCE_NAME必须和DMDCR_CFG.INI里面配置的DCR_EP_NAME相同。
2、MAL_INI:必须设置为1.
3、DSC_USE_SBT:是否使用辅助的平衡二叉树,取值 0 或 1。 1 是, 0 否。默认 0。DM 的检查点机制要求 BUFFER 更新链表保持有序性,所有被修改过的数据页,要根据其第一次修改的 LSN 值(FIRST_MODIFIED_LSN)从小到大有序排列。而 DMDSC 的缓存交换机制要求数据页在节点间传递,当一个更新页 P1 普通节点 EP0 传递到节点 EP1 时,为了不破坏节点 EP1 更新链表 FIRST_MODIFIED_LSN 的有序性,需要扫描更新链,将 P1 加入到更新链中的合适位置。极端情况下,可能需要扫描整个更新链,才能找到 P1 的插入位置,在 BUFFER 比较大,更新链表比较长的情况下,这种扫描、定位代价十分昂贵,特别是在高并发情况下,会引发严重的并发冲突,影响并发性能。开启 DSC_USE_SBT 参数后,系统内部维护一个平衡二叉树,在将数据页加入更新链表时,根据这个平衡二叉树进行log2N 次比较,就可以找到插入位置;
4、DSC_N_POOLS:LBS/GBS池数目。有效值范围(2~1024),默认值2.与Buffer_pool类似,DSC_N_POOL将系统中的LBS/GBS根据数据页号进行分组,以降低LBS/GBS处理的并发冲突。
5、CONFIG_PATH: 指定dmserver所读取的配置文件(dmmal.ini,dmarch.ini,dmtimer.ini 等)的路径。 不允许指定 ASM 目录。 缺省使用 SYSTEM_PATH 路径。 如果SYSTEM_PATH 保存在 ASM 上,则直接报错;
6、TRACE_PATH: 存放系统 trace 文件的路径。不允许指定 ASM 目录。默认的TRACE_PATH 是 SYSTEM_PATH ; 如 果 SYSTEM_PATH 保 存 在ASM 上 ,则../config_path/trace 作为 TRACE_PATH。

赞(0)
MySQL学习笔记 » DM8-DSC-配置说明