注册
初识达梦(十一):数据库初始化-CASE_SENSITIVE
技术分享/ 文章详情 /

初识达梦(十一):数据库初始化-CASE_SENSITIVE

刘刘 2025/12/31 360 0 0

在自己的知识范围内,接触到的数据库均需要先安装数据库,然后再初始化数据库,达梦也不例外。因为达梦有完善的图形化安装流程,所以对于初学者来讲,非常友好,可以轻松入门。因为数据库初始化是一次性的,所以对初始化的参数需要有一些基本的了解,我们才可以一次性的把数据库初始成我们想要的结果。通过官方的快速入门 章节,我们可以很清楚的了解,图形化及命令行的方式如何初始化数据库实例。

图形化

图形化。通过 软件安装目录下tool/dbca.sh即可调出图形初始化窗口。如下图:
image.png

命令行

通过dminit即可初始化自己想要的参数。它的帮忙如下:

./dminit help initdb V8 db version: 0x7000c file dm.key not found, use default license! License will expire in 14 day(s) on 2025-12-28 version: 03134284294-20241225-255012-20119 Pack20 格式: ./dminit KEYWORD=value 例程: ./dminit PATH=/public/dmdb/dmData PAGE_SIZE=16 关键字 说明(默认值) -------------------------------------------------------------------------------- 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 日志文件大小(2048),单位为: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[BAIST] SYSDBA_PWD 设置SYSDBA密码 SYSAUDITOR_PWD 设置SYSAUDITOR密码 DB_NAME 数据库名(DAMENG) INSTANCE_NAME 实例名(DMSERVER) PORT_NUM 监听端口号(5236) BUFFER 系统缓存大小(8000),单位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,例如DAMENG01.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 打印帮助信息

通过以上的两种方式,我们即可初始化成自己想要的数据库实例。但是大家看到命令行的可配置参数时,是不是有个疑问呢?参数这么多,我到底改如何去配置呢?本文重点讲解两个参数。CASE_SENSITIVE 和 PAGE_SIZE。

1.CASE_SENSITIVE :
通过帮助可以清楚的看到,它的释义是:大小敏感(Y),可选值:Y/N,1/0。默认是大小敏感。那么它是什么意思呢?我们通过通俗易懂的方式来看下它到底有什么区别:

SQL> select CASE_SENSITIVE(); --大小敏感 行号 () ---------- ---------------- 1 1 已用时间: 0.804(毫秒). 执行号:631. SQL> create table t(id int ) ; --创建t表 ,成功 操作已执行 已用时间: 3.591(毫秒). 执行号:632. SQL> create table T(id int ); --创建T表时,报已经存在 create table T(id int ); 第1 行附近出现错误[-2124]:对象[T]已存在. 已用时间: 0.935(毫秒). 执行号:0. SQL> select table_name from user_tables where table_name in ('T','t'); --报错说明创建T表时已经存在,说明前面创建t表已经默认转换成T,存在数据库中。可以通过此语句确认 行号 TABLE_NAME ---------- ---------- 1 T SQL> create table "t" ( id int); --如何创建小写的表呢? 操作已执行 已用时间: 3.576(毫秒). 执行号:634. SQL> select table_name from user_tables where table_name in ('T','t'); --查询同时存在大小为t的表. 行号 TABLE_NAME ---------- ---------- 1 T 2 t 已用时间: 3.260(毫秒). 执行号:635. SQL>

大小写不敏感时,是如何呢?

SQL> select CASE_SENSITIVE(); --忽略大小敏感 行号 CASE_SENSITIVE() ---------- ---------------- 1 0 已用时间: 0.494(毫秒). 执行号:66503. SQL> create table t(id int); --创建小写表 操作已执行 已用时间: 4.059(毫秒). 执行号:66504. SQL> create table T(id int); --创建大写表也报错 create table T(id int); 第1 行附近出现错误[-2124]:对象[t]已存在. 已用时间: 0.841(毫秒). 执行号:0. SQL> create table "T" ( id int); --带引号创建也报错 create table "T" ( id int); 第1 行附近出现错误[-2124]:对象[t]已存在. 已用时间: 0.577(毫秒). 执行号:0. SQL> select table_name from user_tables; 行号 table_name ---------- ------------------ 1 ##HISTOGRAMS_TABLE 2 t 已用时间: 38.782(毫秒). 执行号:66505. SQL>
  1. PAGE_SIZE:

页的大小和记录的长度,和索引的长度有关.所以建议大家在定义PAGE_SIZE,可以先评估下.详细的约束事项,可以参考官方手册中char的相关介绍 和 索引的定义语句

以上内容为个人对达梦学习的初步认知,受限于视角与经验,不足之处恳请指正。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服