目录
-
dminit功能简介
dminit 是DM数据库初始化工具,系统管理员可以利用dminit工具提供的各种参数,设置数据库存放路径、段页大小、是否对大小写敏感、以及是否使用UNICODE等,创建出满足用户需要的数据库。该工具位于安装目录的/bin目录下。
-
dminit使用
dminit 工具需要从命令行启动,找到dminit所在安装目录/bin,输入dminit和参数后回车。
语法格式:dminit KEYWORD=value { KEYWORD=value }
KEYWORD:dminit 参数关键字。多个参数之间排列顺序无影响,参数之间使用空格间隔。
value:参数取值。
注意:
- dminit如果没有带参数,系统会引导用户进行设置。
- 参数、等号和值之间不能有空格,例如PAGE_SIZE=16。
- HELP参数的后面不用添加“=”号。
-
dminit参数
关键字 说明(默认值)
--------------------------------------------------------------------------------
INI_FILE 初始化文件dm.ini存放的路径
PATH 初始数据库存放的路径
CTL_PATH 控制文件路径
LOG_PATH 日志文件路径
EXTENT_SIZE 数据文件使用的簇大小(16),可选值:16, 32, 64,单位:页
PAGE_SIZE 数据页大小(8),可选值:4, 8, 16, 32,单位:K
LOG_SIZE 日志文件大小(256),单位为:M,范围为:256M ~ 8G
CASE_SENSITIVE 大小敏感(Y),可选值:Y/N,1/0
CHARSET/UNICODE_FLAG 字符集(0),可选值:0[GB18030],1[UTF-8],2[EUC-KR]
SEC_PRIV_MODE 权限管理模式(0),可选值:0[TRADITION],1[BMJ],2[EVAL],3[ZB]
LENGTH_IN_CHAR VARCHAR类型长度是否以字符为单位(N),可选值:Y/N,1/0
SYSDBA_PWD 设置SYSDBA密码(SYSDBA)
SYSAUDITOR_PWD 设置SYSAUDITOR密码(SYSAUDITOR)
DB_NAME 数据库名(DAMENG)
INSTANCE_NAME 实例名(DMSERVER)
PORT_NUM 监听端口号(5236)
BUFFER 系统缓存大小(100),单位M
TIME_ZONE 设置时区(+08:00)
PAGE_CHECK 页检查模式(3),可选值:0/1/2/3
PAGE_HASH_NAME 设置页检查HASH算法
EXTERNAL_CIPHER_NAME 设置默认加密算法
EXTERNAL_HASH_NAME 设置默认HASH算法
EXTERNAL_CRYPTO_NAME 设置根密钥加密引擎
RLOG_ENCRYPT_NAME 设置日志文件加密算法,若未设置,则不加密
RLOG_POSTFIX_NAME 设置日志文件后缀名,长度不超过10,默认为log。USBKEY_PIN 设置USBKEY PIN
PAGE_ENC_SLICE_SIZE 设置页加密分片大小,可选值:0、512、4096,单位:Byte
ENCRYPT_NAME 设置全库加密算法
BLANK_PAD_MODE 设置空格填充模式(0),可选值:0/1
SYSTEM_MIRROR_PATH SYSTEM数据文件镜像路径
MAIN_MIRROR_PATH MAIN数据文件镜像
ROLL_MIRROR_PATH 回滚文件镜像路径
MAL_FLAG 初始化时设置dm.ini中的MAL_INI(0)
ARCH_FLAG 初始化时设置dm.ini中的ARCH_INI(0)
MPP_FLAG Mpp系统内的库初始化时设置dm.ini中的mpp_ini(0)
CONTROL 初始化配置文件(配置文件格式见系统管理员手册)
AUTO_OVERWRITE 是否覆盖所有同名文件(0) 0:不覆盖 1:部分覆盖 2:完全覆盖
USE_NEW_HASH 是否使用改进的字符类型HASH算法(1)
ELOG_PATH 指定初始化过程中生成的日志文件所在路径
AP_PORT_NUM 分布式环境下协同工作的监听端口
HUGE_WITH_DELTA 是否仅支持创建事务型HUGE表(1) 1:是 0:否
RLOG_GEN_FOR_HUGE 是否生成HUGE表REDO日志(1) 1:是 0:否
PSEG_MGR_FLAG 是否仅使用管理段记录事务信息(0) 1:是 0:否
CHAR_FIX_STORAGE CHAR是否按定长存储(N),可选值:Y/N,1/0
SQL_LOG_FORBID 是否禁止打开SQL日志(N),可选值:Y/N,1/0
DPC_MODE 指定DPC集群中的实例角色(0) 0:无 1:MP 2:BP 3:SP,取值1/2/3时也可以用MP/BP/SP代替
USE_DB_NAME 路径是否拼接DB_NAME(1) 1:是 0:否
MAIN_DBF_PATH MAIN数据文件存放路径
SYSTEM_DBF_PATH SYSTEM数据文件存放路径
ROLL_DBF_PATH ROLL数据文件存放路径
TEMP_DBF_PATH TEMP数据文件存放路径
ENC_TYPE 数据库内部加解密使用的加密接口类型(1),
可选值: 1: 启用EVP类型 0: 不启用EVP类型
HELP 打印帮助信息
-
常用参数详解
1.INI_FILE
初始化文件dm.ini存放的路径,指定一个已经存在的dm.ini文件所在的绝对路径,作用是将现有INI文件,拷贝到新库,作为新库的INI文件直接使用。
如果不指定该参数,那么dminit工具会直接生成一个新的dm.ini文件,如果指定了该参数但指定的INI文件不存在,那么 dminit 工具会报错无效的INI文件,同时生成一个新的 dm.ini 文件。
2.PATH
初始数据库存放的路径,默认路径为dminit.exe当前所在的工作目录。
3.CTL_PATH
初始数据库控制文件的路径,默认值Windows下为PATH\DB_NAME\dm.ctl,Linux下为/PATH/DM_NAME/dm.ctl(PATH 和 DB_NAME 表示各自设置的值)。
4.LOG_PATH
初始数据库日志文件的路径,默认值Windows下为PATH\DB_NAME\DB_NAME01.log和 PATH\DB_NAME\DB_NAME02.log,Linux下为PATH/DB_NAME/DB_NAME01.log 和 PATH/DB_NAME/DB_NAME02.log(PATH 和 DB_NAME 表示各自设置的值)。日志文件路径个数不能超过 10 个。
5.EXTENT_SIZE
数据文件使用的簇大小,即每次分配新的段空间时连续的页数,取值范围 16、32、64,一般设置为32,数据库创建成功后无法再修改簇大小。
6.PAGE_SIZE
数据文件使用的页大小,取值范围 4、8、16、32,单位:KB,选择的页大小越大,则 DM 支持的元组长度也越大,但同时空间利用率可能下降,一般选择32,数据库创建成功后无法再修改页大小。
7.LOG_SIZE
重做日志文件使用的簇大小,在 32 位版本下,取值范围为 256 和 2048 之间的整数;在 64 位版本下,取值范围为 256 和 8192 之间的整数,单位 MB。默认值为 256。
每个 DM 数据库实例至少有两个重做日志文件,循环使用,LOG_SIZE 设置每个重做日志文件的大小。
8.CASE_SENSITIVE
标识符大小写敏感。当大小写敏感时,小写的标识符应用""括起,否则被系统自动转换为大写;当大小写不敏感时,系统不会转换标识符的大小写,系统比较函数会将大写字母全部转为小写字母再进行比较。
取值:Y、y、1 表示敏感;N、n、0 表示不敏感。默认值为Y,此参数在数据库创建成功后无法修改。
9.CHARSET/UNICODE_FLAG
字符集选项,取值范围 0、1、2。
0 代表 GB18030,1 代表 UTF-8,2 代表韩文字符集 EUC-KR。
默认值为 0,一般选择1,此参数在数据库创建成功后无法修改。
10.SEC_PRIV_MODE
权限管理模式,取值范围 0、1、2、3。
0:TRADITION,表示传统模式;
1:BMJ,表示专用机模式;
2:EVAL,表示 EVAL 测评模式;
3:ZB,表示 ZB 模式。
默认值为 0,数据库创建成功后,可通过修改INI参数SEC_PRIV_MODE的值对此参数的设置进行修改。
11.LENGTH_IN_CHAR
VARCHAR 类型对象的长度是否以字符为单位。取值范围:1、Y 表示是,0、N 表示否。默认值为 0,此参数在数据库创建成功后无法修改。
1 或 Y:是,所有VARCHAR类型对象的长度以字符为单位。定义长度并非真正按照字符长度调整,而是将存储长度值按照理论字符长度进行放大。即使定义列长度为32767字符,其实际能插入的字符串占用总字节长度仍然不能超过 32767;
0 或 N:否,所有 VARCHAR 类型对象的长度以字节为单位。
12.SYSDBA_PWD
初始化时设置 SYSDBA 的密码,默认值为 SYSDBA,数据库创建成功后,SYSDBA 可通过修改用户密码语句修改自己的密码。
13.SYSAUDITOR_PWD
初始化时设置 SYSAUDITOR 的密码,默认值为 SYSAUDITOR,数据库创建成功后,SYSAUDITOR 可通过修改用户密码语句修改自己的密码。
14.DB_NAME
初始化数据库名称,默认值为 DAMENG。名称为字符串,长度不能超过 128 个字符。数据库名称只能由_、$、大写字母 A 至 Z、小写字母 a 至 z、数字 0 至 9 组成,且第一个字符不能是数字,数据库名称在数据库创建成功后无法修改。
15.INSTANCE_NAME
初始化数据库实例名称,默认值为DMSERVER。名称为字符串,长度不能超过 16 个字符。实例名称只能由_、$、大写字母 A 至 Z、小写字母 a 至 z、数字 0 至 9 组成,且第一个字符不能是数字。
数据库创建成功后,可通过修改INI参数INSTANCE_NAME的值对此参数的设置进行修改。
16.PORT_NUM
初始化时设置 dm.ini 中的数据库服务器监听端口号,默认值为 5236。服务器配置此参数,取值范围 1024~65534,发起连接端的端口在 1024~65535 之间随机分配。
数据库创建成功后,可通过修改INI参数PORT_NUM的值对此参数的设置进行修改。
17.BUFFER
系统缓存大小,以 MB 为单位。推荐值:系统缓冲区大小为可用物理内存的 60%~80%。取值范围 8~1048576,默认值为 100。
数据库创建成功后,可通过修改 INI 参数 BUFFER 的值对此参数的设置进行修改。
18.TIME_ZONE
初始化时区,默认为东八区(+08:00)。格式为[正负号]小时[:分钟],时区设置范围为:-12:59~+14:00,此参数在数据库创建成功后无法修改。
-
dminit高级功能
CONTROL 参数是 dminit 工具的高级功能,用于初始化数据库时指定初始化配置文件。初始化配置文件是一个保存了各数据文件路径和大小设置、所有 dminit 工具的命令行参数设置等信息的文本,名称由用户自己选取。
dminit工具使用CONTROL参数,就不能再指定其他参数,CONTROL参数只能单独使用。
DM既支持初始化单机数据库,又支持初始化DSC集群的数据库。操作非常简单,只要在使用dminit工具创建数据库的时候,使用CONTROL参数指定初始化配置文件即可。
1.初始化单机数据库
DM 支持初始化数据库到一个普通机器上或是一个共享存储上。本节以 DMASM 文件系统为例,初始化单机数据库。
表5.1 初始配置文件参数介绍
参数 | 说明 |
[node_instance] | 本节点的实例名 |
system_path | 初始数据库存放的相对路径。文件路径长度最大为 256 个字符。必选。 与 dminit 工具的参数 PATH 等价。选择了此参数,PATH 参数要省略 |
main | 指定 MAIN.DBF 文件相对路径。 |
main_size | 指定 MAIN.DBF 文件大小,取值范围为 32~65534,单位 MB。 |
system | 指定 SYSTEM.DBF 文件相对路径。 |
system_size | 指定 SYSTEM.DBF 文件大小,取值范围为 32~65534,单位 MB。 |
roll | 指定 ROLL.DBF 文件相对路径。 |
roll_size | 指定 ROLL.DBF 文件大小,取值范围为 32~65534,单位 MB。 |
huge_path | 指定 MAIN 表空间的 HUGE 数据文件路径。 |
ctl_path | 指定 dm.ctl 文件相对路径。 |
ctl_size | 指定 dm.ctl 文件大小 |
log_size | 日志文件大小,若要使用裸设备必选,若为普通文件默认为 256。 取值范围为 64~2048,单位 MB |
log_path | 日志文件地址。 |
auto_overwrite | 文件存在时的处理方式,是否覆盖建库目录下所有同名文件。 取值范围为 0、1、2。 0:不覆盖,表示建库目录下如果没有同名文件,直接创建。 如果遇到同名文件时,由用户手动输入是否覆盖(y/n,1/0); 1:部分覆盖,表示覆盖建库目录下所有同名文件; 2:完全覆盖,表示先清理掉建库目录下所有文件再重新创建。 缺省值为 0。 |
dcr_path | DCR 磁盘路径 |
dcr_seqno | 连接 DMASM 节点节点号 |
temp_dbf_path | 指定 TEMP.DBF 文件存放路径。 若不指定默认在 SYSTEM_PATH/DB_NAME 下; 实例级参数,需要填写在[node_instance]之后 |
例如,在ASM文件系统上创建数据库。参数 system_path、main、system、roll、ctl_path、log01、log02都指定了ASM 文件系统。以+开头的就是ASM文件系统的路径,例如 +DMDATA/data。单机配置文件(命名dminit.ini)书写如下:
[DAMENG]
system_path = +DMDATA/data
main = +DMDATA/data/dsc/main.dbf
main_size = 2509
system = +DMDATA/data/dsc/system.dbf
system_size = 2509
roll = +DMDATA/data/dsc/roll.dbf
roll_size = 2509
ctl_path = +DMDATA/data/dsc/dm.ctl
log_size = 1024
log_path = +DMLOG/log/log01.log
log_path = +DMLOG/log/log02.log
auto_overwrite =2
2.初始化DSC集群的数据库
DM DSC 是一个单数据库、多实例的集群系统,数据库部署在共享存储上,供所有节点访问,具有高可用性、高性能、低成本等特性。DM 支持在DSC环境下创建数据库。
DSC的初始化库配置文件dminit.ini中涉及到的参数,是在单机dminit.ini基础上,增加了DSC节点信息,同时,把单机dminit.ini中node_instance参数去掉,log_path参数下放到每个DSC节点里。详细的节点信息请参考下表:
表5.2 DSC节点信息
参数 | 说明 |
[dsc_instance] | 本节点的实例名 |
config_path | 配置文件存放路径 |
port_num | 数据库实例端口号。必选 |
mal_host | mal 系统 IP。必选 |
mal_port | mal 系统端口号。必选 |
log_path | 日志文件地址。若不指定,则路径为 system_path,文件名为默认 |
例如,初始化DSC集群的数据库。两节点的DSC集群是搭建在ASM文件系统上。DSC 环境初始化配置文件(命名 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= 256
dcr_path= /dev/raw/raw1 ##dcr磁盘路径,目前不支持asm,只能是裸设备
dcr_seqno= 0
auto_overwrite= 1
[DSC0] ## dsc_instance跟dmdcr_cfg.ini中DB类型group中DCR_EP_NAME对应
config_path= /home/data/dsc0_config
port_num= 5236
mal_host= 10.0.2.101
mal_port= 9340
log_path= +DMLOG/log/dsc0_log01.log
log_path= +DMLOG/log/dsc0_log02.log
[DSC1] ## dsc_instance跟dmdcr_cfg.ini中DB类型group中DCR_EP_NAME对应
config_path= /home/data/dsc1_config
port_num= 5237
mal_host= 10.0.2.102
mal_port= 9341
log_path= +DMLOG/log/dsc1_log01.log
log_path= +DMLOG/log/dsc1_log02.log