简介--DM 数据库初始化工具。在安装 DM 的过程中,用户可以选择是否创建初始数据库。如果当时没有创建,那么在安装完成之后,可以利用创建数据库工具 dminit 来创建
使用dminit
需要以命令行方式使用,位于达梦安装bin目录下
语法:
dminit KEYWORD=value { KEYWORD=value }
KEYWORD:dminit 参数关键字。多个参数之间排列顺序无影响,参数之间使用空格间隔。
dminit如果没有带参数,系统会引导用户进行设置。
参数、等号和值之间不能有空格,例如 PAGE_SIZE=16。
一般建议:page_size=32 extent_size=32 log_size=2048
举例,初始化一个大小写不敏感、字符集UTF-8、varchar类型以字符编码、开启空格填充的实例
./dminit path=/dmdata page_size=32 extent_size=32 log_size=2048 CASE_SENSITIVE=0 CHARSET=1 BLANK_PAD_MODE=1 DB_NAME=TEST INSTANCE_NAME=TEST_SERVER
执行结果如下:
[dmdba@localhost bin]$ ./dminit path=/dmdata page_size=32 extent_size=32 log_size=2048 CASE_SENSITIVE=1 CHARSET=1 BLANK_PAD_MODE=1 DB_NAME=TEST INSTANCE_NAME=TEST_SERVER
initdb V8
db version: 0x7000c
License will expire on 2024-12-25
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
log file path: /dmdata/TEST/TEST01.log
log file path: /dmdata/TEST/TEST02.log
write to dir [/dmdata/TEST].
create dm database success. 2024-08-09 14:33:42
[dmdba@localhost bin]$
初始化完成可去对应目录查看:
[dmdba@localhost TEST]$ tree
.
├── bak
├── ctl_bak
│ └── dm_20240809143341_577552.ctl
├── dm.ctl
├── dm.ini
├── dminit20240809143339.log
├── dm_service.prikey
├── HMAIN
├── MAIN.DBF
├── ROLL.DBF
├── sqllog.ini
├── SYSTEM.DBF
├── TEST01.log
└── TEST02.log
3 directories, 11 files
dmini使用较为灵活,参数较多,在使用时可以使用dmini help 查看个参数的信息。
重要参数说明:
INI_FILE 初始化文件dm.ini存放的路径
PATH 初始数据库存放的路径
BLANK_PAD_MODE 设置空格填充模式(0),可选值:0/1
EXTENT_SIZE 数据文件使用的簇大小(16),可选值:16, 32, 64,单位:页
PAGE_SIZE 数据页大小(8),可选值:4, 8, 16, 32,单位:K
LOG_SIZE 日志文件大小(2048),单位为:M,范围为:256M ~ 8G
CASE_SENSITIVE 大小敏感(Y),可选值:Y/N,1/0
CHARSET/UNICODE_FLAG 字符集(0),可选值:0[GB18030],1[UTF-8],2[EUC-KR] LENGTH_IN_CHAR VARCHAR类型长度是否以字符为单位(N),可选值:Y/N,1/0 ----162版本没有这个参数了
SYSDBA_PWD 设置SYSDBA密码(SYSDBA)
DB_NAME 数据库名(DAMENG)
INSTANCE_NAME 实例名(DMSERVER)
PORT_NUM 监听端口号(5236)
注意事项
页大小 (page_size)、簇大小 (extent_size)、大小写敏感 (case_sensitive)、字符集 (charset) 、空格填充模式 (BLANK_PAD_MODE) 、页检查模式(PAGE CHECK) 等部分参数,一旦确定无法修改,在初始化实例时确认需求后谨慎设置。
dminit 高级主题
CONTROL 参数是 dminit 工具的高级功能,用于初始化数据库时指定初始化配置文件。初始化配置文件是一个保存了各数据文件路径和大小设置、所有 dminit 工具的命令行参数设置等信息的文本,名称由用户自己选取,例如:dminit.ini、abc.txt、dminit.ctl 等。
参数说明:
参数 | 说明 |
[node_instance] | 本节点的实例名 |
system_path | 初始数据库存放的相对路径。文件路径长度最大为 256 个字符。必选。 与 dminit 工具的参数 PATH 等价。选择了此参数,PATH 参数要省略 |
main | 指定 MAIN.DBF 文件相对路径。 可选,若不指定使用 dminit 当前所在的工作目录; 若指定,则 main_size 不能为空 |
main_size | 指定 MAIN.DBF 文件大小,取值范围为 32~65534,单位 MB。 如果使用裸设备,建议指定裸设备大小减一。 裸设备大小由用户保证,若超出实际大小可能会导致系统无法正常使用 |
system | 指定 SYSTEM.DBF 文件相对路径。 可选,若不指定使用 dminit 当前所在的工作目录; 若指定,则 system_size 不能为空 |
system_size | 指定 SYSTEM.DBF 文件大小,取值范围为 32~65534,单位 MB。 如果使用裸设备,建议指定裸设备大小减一。 裸设备大小由用户保证,若超出实际大小可能会导致系统无法正常使用 |
roll | 指定 ROLL.DBF 文件相对路径。 可选,若不指定使用 dminit 当前所在的工作目录; 若指定,则 roll_size 不能为空 |
roll_size | 指定 ROLL.DBF 文件大小,取值范围为 32~65534,单位 MB。 如果使用裸设备,建议指定为裸设备大小减一。 裸设备大小由用户保证,若超出实际大小可能会导致系统无法正常使用 |
huge_path | 指定 MAIN 表空间的 HUGE 数据文件路径。 可选,若不指定则默认在 SYSTEM_PATH/DB_NAME 路径下创建 HMAIN 目录,并将该目录路径作为 MAIN 表空间的 HUGE 数据文件路径 |
ctl_path | 指定 dm.ctl 文件相对路径。 可选,若不指定,则使用 dminit 当前所在的工作目录 |
ctl_size | 指定 dm.ctl 文件大小 |
log_size | 日志文件大小,若要使用裸设备必选,若为普通文件默认为 256。取值范围为 64~2048,单位 MB |
log_path | 日志文件地址。 可选,若不指定,则路径为 system_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]之后 |
示例:
[DAMENG]
system_path = /dmdata/dmtmp
main = /dmdata/dmtmp/main.dbf
main_size = 256 system = /dmdata/dmtmp/system.dbf
system_size = 256
roll = /dmdata/dmtmp/roll.dbf
roll_size = 256 ctl_path = /dmdata/dmtmp/dm.ctl
log_size = 2048
log_path = /dmdata/dmtmp/test_log01.log
log_path = /dmdata/dmtmp/test_log02.log
auto_overwrite =2
执行结果如下:
[dmdba@localhost bin]$ ./dminit CONTROL=/dmdata/test.ini
initdb V8
db version: 0x7000c
License will expire on 2024-12-25
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLLlog file path: /dmdata/dmtmp/test_log01.log
log file path: /dmdata/dmtmp/test_log02.logwrite to dir [/dmdata/dmtmp/DAMENG].
create dm database success. 2024-08-09 15:05:42[dmdba@localhost dmtmp]$ tree
.
├── DAMENG
│ ├── bak
│ ├── ctl_bak
│ │ └── dm_20240809150541_959870.ctl
│ ├── dm.ini
│ ├── dminit20240809150539.log
│ ├── dm_service.prikey
│ ├── HMAIN
│ └── sqllog.ini
├── dm.ctl
├── main.dbf
├── roll.dbf
├── system.dbf
├── test_log01.log
└── test_log02.log4 directories, 11 files
[dmdba@localhost dmtmp]$
达梦社区地址:https://eco.dameng.com