与DMTDD相关的配置文件包括:
- DSS.INI
- DCS.INI
- DRS.INI
- DMINIT.INI
- DM.INI
- DMDFS.INI
下面分别介绍配置文件中各配置项的含义。
11.1 DSS.INI
dss.ini是存储服务器DSS的配置文件。
参数 | 说明 | 取值说明 |
---|---|---|
INSTANCE_NAME | DSS实例名,init时指定 | 静态级 |
LISTEN_IP | DSS实例IP地址 | 静态级,默认不指定 |
PORT_NUM | 服务端口,init时指定 | 静态级,有效值1024~65534 |
CTL_PATH | ctl文件的路径 | 静态级 |
SYSTEM_PATH | 系统路径 | 静态级 |
ARCH_FLAG | 是否配置归档 | 静态级,取值0~1,默认0 |
TASK_THREADS | 工作线程数 | 静态级,取值1~1000默认4 |
APPLY_THREADS | 日志处理线程数,为日志预处理任务、日志收尾任务和每个页并行回放任务分别指定线程数 | 静态级,取值1~32,默认4 |
PARALLEL_APPLY_NUM | 日志按页回放的并行数 | 静态级,取值1~64,默认16,1表示关闭并行 |
FAST_RW_LOCK | 快速读写锁标记,1表示启用,0不启用,2普通pool也启用 | 静态级,取值0~2,默认1 |
BUFFER | 数据缓存大小,单位M | 静态级,取值8~1048576,默认200 |
BUFFER_POOLS | Buffer系统分区数,每个BUFFER分区的大小为BUFFER/BUFFER_POOLS | 静态级,取值1~512,默认19 |
MEMORY_POOL | 内存池大小,单位M | 静态级,32位平台取值64 |
MEMORY_EXTEND_SIZE | 共享内存池每次扩充的大小,单位M | 静态级,取值1~10240,默认1 |
MEMORY_POOL_TARGET | 共享内存池能扩充到的最大大小,单位M | 动态级,取值32位平台0 |
MULTI_GET_MODE | DSS多页获取的方式 | 动态级,取值0或1。默认为0。 0:从INTO_BUF中取。0采用buf层的逻辑,没命中的会通过BUF加载到BUF池中; 1: 从NOT_INTO_BUF中取。1采用读文件的方式,未命中的直接从文件中读取,不加载到BUF池中 |
CKPT_RLOG_SIZE | 产生多大日志文件后做检查点,单位M | 动态级,取值0~4294967294,默认100 |
CKPT_DIRTY_PAGES | 产生多少脏页后产生检查点,单位页 | 动态级,取值0~4294967294,默认10000 |
CKPT_INTERVAL | 指定检查点的时间间隔。单位秒,为0时表示不自动定时做检查点 | 动态级,取值0~ 2147483647,默认300 |
CKPT_FLUSH_RATE | 检查点刷盘比例 | 动态级,取值0~100.00,默认5.00 |
CKPT_FLUSH_PAGES | 检查点刷盘的最小页数 | 动态级,取值1000~100000,默认1000 |
CKPT_WAIT_PAGES | 检查点一次发起的最大写入页数 | 动态级,取值1~1024,默认128 |
RLOG_BUF_SIZE | 单个日志缓冲区大小(以日志页个数为单位) | 静态级,取值1~32768,默认512 |
RLOG_POOL_SIZE | 最大日志缓冲区大小,单位M | 静态级,取值1~4096,默认128 |
RLOG_PARALLEL_ENABLE | 是否启动并行日志,1:启用;0:不启用 | 静态级,取值0~1,默认0 |
RLOG_CHECK_SPACE | 是否检查日志空间 | 动态级,取值0~1,默认1 |
REDOS_PRE_LOAD | 重演日志时预加载的RLOG_PKG个数,在重演Redo日志的同时,根据参数设置提前解析后续若干个RLOG_PKG的Redo日志,并预加载数据页到缓存中,以加快Redo日志重演速度,避免高压力情况下出现日志堆积。 | 静态级,取值0~99999,默认32,0表示不开启预加载功能 |
IO_THR_GROUPS | IO线程组个数,非windows下有效 | 静态级,取值1~512,默认2 |
APPLY_PRE_LOAD | 超前预处理回放任务个数 | 静态级,取值1~9000,默认128 |
DFS_HB_INTERVAL | 心跳间隔,单位秒 | 静态级,取值0~4294967294,默认60 |
11.2 DCS.INI
dcs.ini是目录服务器DCS的可选配置参数。参数如下:
参数 | 说明 |
---|---|
INSTANCE_NAME | DCS实例名,默认DCS |
MEMORY_POOL | 内存池大小,有效值8~900000,单位M,默认100 |
TASK_THREAD_NUM | 工作线程数,有效值1~1000,默认10 |
MEMORY_EXTEND_SIZE | 内存扩展大小,有效值1~10240,单位M,默认1 |
MEMORY_TARGET_SIZE | 内存池的大小上限,有效值0~900000,单位M,默认0,0表示无上限 |
DFS_HB_INTERVAL | 心跳间隔,单位秒,有效值0~4294967294,默认60 |
DW_PORT_NUM | 守护监听端口,有效值1024~65534 |
DW_LISTEN_IP | DW监听IP,缺省为空串,跟DW_PORT_NUM配合使用 |
LISTEN_IP | 服务器监听IP地址,与PORT_NUM配合使用。若指定,则连接时必须指定与该值一样的IP,否则创建连接失败。缺省为空串 |
11.3 DRS.INI
drs.ini是日志服务器DRS的可选配置参数。参数如下:
参数 | 说明 | 取值说明 |
---|---|---|
INSTANCE_NAME | 实例名 | 静态级,默认DRS |
SYSTEM_PATH | 系统路径 | 静态级 |
DCS_IP | 依赖的DCS的IP | 静态级 |
DCS_PORT | 依赖的DCS的端口 | 静态级,有效值1024~65534 |
DCS_IP2 | 依赖的备DCS的IP,用于DCS主备守护系统中指定第二个DCS,即主DCS的第一个备DCS | 静态级 |
DCS_IP3 | 依赖的备DCS的IP,用于DCS主备守护系统中指定第三个DCS,即主DCS的第二个备DCS | 静态级 |
MEMORY_POOL | 使用的内存池大小,单位M | 静态级,8~900000,默认100 |
TASK_THREAD_NUM | 任务线程数 | 静态级,1~1000,默认10 |
IMMEDIATE_RESPONSE | 日志写入即刻响应 | 静态级,有效值0~1,默认0。 0:需要等待日志归档后响应 1:日志检查有效即刻响应 |
LOCAL_ARCH_SIZE | 单个本地归档文件的大小,单位M | 动态级,100~100000,默认1000 |
LOCAL_ARCH_TOTAL_SIZE | 所有本地归档文件的总大小,单位 | 动态级,100~1000000,默认10000 |
LOCAL_ARCH_PATH | 本地归档目录 | 静态级 |
BAK_BUF_SIZE | 每个DSS的备份缓存大小,单位M | 静态级,10~10240,默认100 |
RGN_CACHE_SIZE | 区块信息缓存大小,单位M | 静态级,8~900000,默认32 |
ARCH_SPACE_LIMIT | 远程归档空间限制,单位M | 静态级,0表示无空间限制,取值范围(1024~4294967294),默认10240 |
MEMORY_EXTENT_SIZE | 共享内存池每次扩充的大小,单位M | 静态级,取值1~10240,默认1 |
MEMORY_TARGET_SIZE | 共享内存池能扩充到的最大大小,单位M | 静态级,取值0~ 900000,默认0 |
ARCH_FILE_SIZE | 远程归档文件大小,单位M | 动态级,取值64~2048,默认1024 |
LOCAL_ARCH_BUF_SIZE | 本地归档缓存空间大小,单位M | 动态级,取值2~256,默认16 |
EH_BUF_SIZE | 故障处理缓冲区大小,单位M | 动态级,取值2~256,默认16 |
FLUSH_PAGE_COPY_NUM | 刷页需要最小的副本数 | 动态级,取值0~3,默认2 |
LOG_QUEUE_SIZE | 日志队列最大长度 | 动态级,取值10~9999,默认500 |
BAK_KEEP_PERCENT | 日志缓存警戒比例 | 动态级,取值0~100,默认5 |
COMPRESS_MODE | 日志压缩模式 | 动态级,取值0或1,默认值为0,即不压缩 |
DFS_HB_INTERVAL | 心跳间隔,单位秒 | 静态级,取值0~4294967294,默认60 |
DFS_SWITCH_TIMES | DRS连DCS切换次数 | 静态级,取值1~100000,默认5 |
DFS_SWITCH_INTERVAL | 切换间隔,单位毫秒 | 静态级,取值0~100000,默认2000 |
SEND_LOG_INTERVAL | 定时发送日志到DSS的时间间隔,单位秒 | 动态级,取值0~20,默认为3。 0表示收到rs日志后不缓存,直接发送给DSS |
COMM_SS_TIMEOUT | DRS同步日志到DSS的超时时间,单位秒 | 动态级,取值1-60,默认为10 |
11.4 DRAS.INI
dras.ini是日志归档服务器DRAS的可选配置参数。参数如下:
参数 | 说明 | 取值说明 |
---|---|---|
INSTANCE_NAME | 实例名 | 默认DRAS |
SYSTEM_PATH | 系统路径 | |
DCS_IP | 依赖的DCS的IP | |
DCS_PORT | 依赖的DCS的端口 | 默认值3333,有效值1024~65534 |
DCS_IP2 | 依赖的备DCS的IP | |
MEMORY_POOL | 使用的内存池大小,单位M | 取值8~900000,默认100 |
MEMORY_EXTENT_SIZE | 共享内存池每次扩充的大小,单位M | 取值1~10240,默认1 |
MEMORY_TARGET_SIZE | 共享内存池能扩充到的最大大小,单位M | 取值0~ 900000,默认0 |
TASK_THREAD_NUM | 任务线程数 | 取值1~1000,默认10 |
IMMEDIATE_RESPONSE | 日志写入即刻响应 | 取值0~1,默认0 0:需要等待日志归档后响应 1:日志检查有效即刻响应 |
ARCH_SPACE_LIMIT | 远程归档空间限制,单位M | 0表示无空间限制,取值范围(1024~4294967294),默认10240 |
ARCH_FILE_SIZE | 远程归档文件大小,单位M | 取值64~2048,默认1024 |
DFS_HB_INTERVAL | 心跳间隔,单位秒 | 取值0~4294967294,默认60 |
DFS_SWITCH_TIMES | DS连RS切换次数 | 取值1~100000,默认5 |
DFS_SWITCH_INTERVAL | 切换间隔,单位毫秒 | 取值0~100000,默认2000 |
LOG_QUEUE_SIZE | 日志队列最大长度 | 动态级,取值10~9999,默认500 |
11.5 DMINIT.INI
dminit.ini是dminit工具初始化数据库环境的配置文件。与初始化库使用普通文件系统不同,如果初始化分布式文件系统的数据库服务器DSC,必须使用dminit工具的control参数指定dminit.ini文件。dminit工具的命令行参数都可以放在dminit.ini中,比如db_name,auto_overwrite等,dminit.ini格式分为全局参数和节点参数。dminit工具具体用法可以参考《DM8_dminit使用手册》,下面列出与DMTDD相关的参数。
全局参数,分布式文件相关参数 | 全局参数,分布式文件相关参数说明 |
---|---|
DFS_DB_NAME | 该库在DMTDD中的名字,默认是与DB_NAME一致。不同库不允许重名 |
SHARE_FLAG | 该库是否可用于配置多个DS。取值为0或1,0表示该库只能配置到一个DS上;1表示可以配置到多个DS上,且只能由DSC环境启动,默认为0 |
DFS_FLAG | 是否使用DMTDD存储,使用DMTDD则必须要指定为1 |
DFS_PATH | 库文件在DMTDD中的默认路径,要在路径最前加上$ |
DFS_HOST | 连接的DRS服务器地址 |
DFS_PORT | 连接的DRS服务器端口,有效值1024~65534 |
DFS_COPY_NUM | 默认的DMTDD数据文件副本数,默认为3 |
REGION_MODE | 指定了系统库文件的区块策略。如果region_mode=1,则系统库文件采取宏区策略。如果region_mode=0,则采取微区策略,默认为0 |
使用过程中,需要注意以下几点:
1.system、main和log表空间的文件必须设置到DMTDD环境
2.dm.ini文件一定存放在本地
3.一般情况下,ctl文件会存放在本地,但也可以通过CTL_PATH将其放到DMTDD中。对于DSC共享库,ctl文件一定保存在DMTDD
举例说明
配置DS数据库服务器为DSC的dminit.ini:
db_name = dsc
system_path = /dm/data/dsc
system = $/dameng/data/dsc/system.dbf
system_size = 128
roll = $/dameng/data/dsc/roll.dbf
roll_size = 128
main = $/dameng/data/dsc/main.dbf
main_size = 128
ctl_path = $/dameng/data/dsc/dm.ctl
ctl_size = 8
log_size = 256
dcr_path = $/dameng/dsc/asmdisks/dcr.asm
dcr_seqno = 0
auto_overwrite = 1
page_size = 8
extent_size = 32
dfs_db_name = db_dsc
share_flag = 1
dfs_flag = 1
dfs_path = $/dameng ##数据文件存放在分布式系统里的路径
dfs_host = 192.168.0.152 ##DRS的IP地址
dfs_port = 3332 ##与drs.ini的port_num一致
dfs_copy_num = 3 ##DMTDD数据文件副本数
[dsc0]
config_path = /dm/data/dsc/dsc0
port_num = 35610
mal_host = 192.168.0.156
mal_port = 35680
[dsc1]
config_path = /dm/data/dsc/dsc1
port_num = 35611
mal_host = 192.168.0.156
mal_port = 35681
11.6 DM.INI
dm.ini是dmserver使用的配置文件,详细介绍可以参考《DM8系统管理员手册》相关章节。下面列出与DMTDD相关的新增dm.ini参数。
参数 | 说明 | 取值说明 |
---|---|---|
DFS_BUF_FLUSH_OPT | DMTDD刷盘优化,当需要刷盘的LSN比当前DRS端的小则不再发送刷盘请求 | 文件INI,取值0、1,默认1 |
DFS_PAGE_FLUSH_VALIDATE | DMTDD刷盘进行页校验,DS端的页内容与DSS端的页内容进行比对。当开启此选项时DFS_BUF_FLUSH_OPT自动失效 | 文件INI,取值0、1,默认1 |
DFS_PATH | 在DMTDD系统中的数据库文件路径 | 初始化数据库服务器DS时指定 |
DFS_INI | DMTDD系统配置开关 | 取值0、1,0表示不启动DMTDD系统,1表示启用DMTDD系统 |
11.7 DMDFS.INI
DMTDD透明分布式数据库中,客户端和DFS服务器的连接配置信息(例如,DS连接DRS,DMDCSTOOL连接DCS,DMASMCMD连接DRS等)的配置信息可保存在dmdfs.ini中。此处的DFS服务器是指DFS上的组件:DCS、DSS或DRS;客户端是指可以连接并使用DFS服务器的用户端,例如:DS、DMDCSTOOL等。参数如下:
参数 | 说明 |
---|---|
DFS_HOST | 连接的目标服务器地址。目标服务器可以是DCS、DRS或DSS |
DFS_PORT | 连接的目标服务器端口,有效值1024~65534 |
DFS_COPY_NUM | 默认的DMTDD数据文件副本数。缺省值为3 |
DFS_TRACE | 是否打开dflog记录。取值为0或1,1表示打开dflog记录,0表示关闭dflog记录 |
DFS_HB_INTERVAL | 心跳间隔,单位秒 |
DFS_SWITCH_TIMES | 客户端连接DFS服务器(例如,DS连接DRS)的切换次数,取值1~100000,默认5 |
DFS_SWITCH_INTERVAL | 切换间隔,单位毫秒 |
在DS中,DMDFS.INI名称不能改变。在DMDCSTOOL工具使用过程中,为了增加辨识度,DMDFS.INI名称允许改变,例如DMDFS1.INI。