达梦数据库初始化需特别注意的几个参数
当SPACE_COMPARE_MODE=0时,除去group by 类似操作严格区分外,其他操作不严格区分。CASE_SENSITIVE有 0 和 1 两个值,分别代表不同含义。
在DM初始化数据库时,有几个参数需特别注意,一旦设置,初始化数据库后很难或者无法改变,以下将通过测试例子来分析这几个参数。
上周在做Oracle迁移数据到达梦数据库时,就因为初始化数据库时一些参数没有设置好,导致数据迁移出现问题。
一、大小写敏感参数(CASE_SENSITIVE)
CASE_SENSITIVE有 0 和 1 两个值,分别代表不同含义。
- CASE_SENSITIVE = 1 代表数据库对大小写敏感,会将A和a当成两个不同的字符对待,初始化数据库时,如不指定CASE_SENSITIVE值,默认为 1,数据库大小写敏感。
- CASE_SENSITIVE = 0 大表数据库对大小写不敏感,会将A和a看作是相同的字符。
另外,在使用disql查询工具进行查询时,默认会将小写转为大写。
1.1 查询当前数据库大小写是否敏感
|
1.2 对比测试
1.2.1 大小写敏感库
|
1.2.2 大小写不敏感库
|
二、空格填充模式参数(BLANK_PAD_MODE)
BLANK_PAD_MODE参数有 0 和 1 两个值,设置不同的值,会影响对Oracle的兼容性。该参数在整个实例生命周期内是不能被修改的,若要修改,只能重建数据库。
BLANK_PAD_MODE = 1 当BLANK_PAD_MODE=1,代表创建的达梦数据库兼容Oracle模式。
BLANK_PAD_MODE = 0 当BLANK_PAD_MODE=0,代表创建的达梦数据库不兼容Oracle模式,这也是达梦创建库时默认参数
2.1 查询是否兼容Oracle模式
|
2.2 测试对比
2.2.1 不兼容Oracle模式库
|
2.2.2 兼容Oracle模式库
|
三、区分字符串结尾空格参数(SPACE_COMPARE_MODE)
space_compare_mode参数是一静态参数,在初始化数据库后可进行修改,修改后需重启数据库,初始化数据库后space_compare_mode默认值是 0。
当SPACE_COMPARE_MODE=0时,除去group by 类似操作严格区分外,其他操作不严格区分。
space_compare_mode 有 0 和 1 两个值。
SPACE_COMPARE_MODE = 0 代表维持原有的数据库策略,默认值
SPACE_COMPARE_MODE = 1 代表会对结尾空格进行比较
3.1 查询SPACE_COMPARE_MODE参数值
|
3.2 修改SPACE_COMPARE_MODE参数值
|
3.3 对比测试
3.3.1 当SPACE_COMPARE_MODE=1
|
3.3.2 当SPACE_COMPARE_MODE=0
|

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)