创建达梦数据库实例的相关参数建议

一、常用参数建议(windows环境与liunx环境都是)

 1、簇大小(EXTENT_SIZE),簇是每次申请的页数,表存满了以后会一次性连续申请(参数设置)个页的空间,比如设置为32,即每次扩容 32*PAGE_SIZE
 2、页大小(PAGE_SIZE)为 32  影响每一行能存储的最大值,和查询效率
 3、日志大小(LOG_SIZE)为 2048
 4、大小写(CASE_SENSITIVE)为敏感 1,影响 SQL 编写,对小写对象是否需要添加双引号
 5、字符集(CHARSET)为 GB18030,影响所用的字符集后期是否支持对应的生僻字等
 6、VARCHAR 类型对象的长度是否以字符为单位(LENGTH_IN_CHAR) 为 1	

 总结:如果是从mysql,或者sql server迁移库,建议按以上设置

二、参数详解

1、簇大小(EXTENT_SIZE)

  1、簇是数据页的上级逻辑单元,由同一个数据文件中 16 个或 32 个或 64 个连续的数据页组成。在 DM 数据库中,簇的大小由用户在创建数据库时指定,默认大小为 16。
  2、假定某个数据文件大小为 32MB,页大小为 8KB,则共有 32MB/8KB/16=256 个簇,每个簇的大小为 8K*16=128K。
  3、和数据页的大小一样,一旦创建好数据库,此后该数据库的簇的大小就不能够改变。

2、页大小(PAGE_SIZE)

 1、在创建好实例后,该参数是不能够改变的。如果要改变大小,要重新初始化实例。
 2、页设置越大,最后数据文件的物理大小就会越大,系统运行时,每次从磁盘调入内存的数据单位也就越大。除了每个字段的最大长度限制外,每条记录总长度不能大于页面大小的一半。
 3、页大小对字符数据类型实际最大长度及每行记录、表空间数据文件大小的影响如图

在这里插入图片描述

3、日志大小(LOG_SIZE)

  1、该参数在创建实例后是可以进行修改的,修改后重启实例
  2、该参数控制日志文件使用的簇大小,以 M为单位, 默认每个日志文件大小为 256M,可以配置为64和 2048之间的整数。每个数据库实例至少有两个重做日志文件,循环使用。
  3、如果设置过小,更新等较大的事务,可能会导致redo log 频繁切换,从而影响数据库性能。 推荐值:2048M。

4、大小写(CASE_SENSITIVE)为敏感

      1、当大小写敏感时,小写的标识符应当用 "" 括起,否则被系统自动转换为大写;当大小写不敏感时,系统不会转换标识符的大小写,在标识符比较时也不能区分大小写。取值:Y、y、1 表示敏感;N、n、0 表示不敏感。默认值为 Y
      2、建议从 MYSQL 和 SQLSERVER 迁移过来的系统,使用大小写不敏感,ORACLE 迁移过来的系统,使用大小写敏感,以便和原来系统匹配
      3、这个参数在创建实例后,也是不能改变,要改变就需要重新初始化实例。

5、字符集(CHARSET)为 GB18030

  1、建议采用默认值 GB18030,如果需要国际字符可以采用 Unicode。
  2、GB18030 数字字母占 1 个字节,普通汉字占 2 个字节,部分繁体及少数民族文字占 4 字节。
  3、Unicode 在达梦中采用 UTF-8 编码格式,欧洲的字母字符占 1 到 2 个字节,亚洲的大部分字符占 3 个字节,附加字符为 4 个字节。如果只存储中文和字母数字,一般来说 GB18030 更节省空间一些。

6、LENGTH_IN_CHAR

    1、取值为 1 或者 Y 表示是,取值为 0 或 N 表示否。默认值为 0。可选参数。
    2、取值为 1 或者 Y 表示所有 VARCHAR 类型对象的长度以字符为单位。
      这种情况下,定义长度并非真正按照字符长度调整,而是将存储长度值按照理论字符长度进行放大。
      所以会出现实际可插入字符数超过定义长度的情况,这种情况也是允许的。
      同时,存储的字节长度 8188 上限仍然不变,也就是说,即使定义列长度为 8188 字符, 
      其实际能插入的字符串占用总字节长度仍然不能超过 8188;
    3、取值为 0 或 N 表示所有 VARCHAR 类型对象的长度以字节为单位。
    4、建议设置为1
    总结:0 或 N:否,所有 VARCHAR 类型对象的长度以字节为单位。默认是0。
          该参数影响的仅仅是VARCHAR数据类型,对CHAR类型不影响。

三、参数的查询语句

1、查询大小写是否敏感

  SELECT SF_GET_CASE_SENSITIVE_FLAG();
  或
  SELECT CASE_SENSITIVE();

2、查询页大小

SELECT SF_GET_PAGE_SIZE();  /* 32768/1024=32KB */
或
SELECT CAST(PAGE()/1024 AS VARCHAR);

3、查询簇大小

SELECT SF_GET_EXTENT_SIZE();  

4、查询字符集

SELECT SF_GET_UNICODE_FLAG();
或
SELECT unicode();
或
SELECT (CASE SF_GET_UNICODE_FLAG() WHEN '0' THEN 'GBK18030' WHEN '1' THEN 'UTF-8' WHEN '2' THEN 'EUC-KR' END);

5、查询查询LENGTH_IN_CHAR参数

 select para_name,para_value from v$dm_ini where para_name='LENGTH_IN_CHAR';

6、查询当前日志大小(LOG_SIZE)

select PATH,RLOG_SIZE/1024/1024 MB from v$rlogfile;

四、DM 数据库管理常用 SQL 命令

--查询数据库版本
select * from  v$version;--DM7
select id_code();--DM8

--查询授权信息
select * from  v$license;

--查询服务器信息
select * from  V$SYSTEMINFO;

--查询会话连接信息
select * from  v$sessions;

select  count(*),state from v$sessions group by state;
select  count(*),clnt_ip from v$sessions group by clnt_ip;

--查看数据库服务器配置参数

select * from  v$dm_ini;

--查询最近的 sql 执行记录
select * from  v$sql_history;

--查询某个用户下所有的表
select * from  user_tables; --查询当前用户下所有的表

select * from  all_tables where owner='TEST'; --dba 用户查询某个模式下的所有表

--查询某个用户下所有表字段
select * from  all_tab_cols where owner='TEST';

--查看表注释
select * from  ALL_TAB_COMMENTS where owner='TEST';

--查看字段注释
select * from  ALL_COL_COMMENTS where owner='TEST';

select '实例名称' 数据库选项,INSTANCE_NAME 数据库集群相关参数值 FROM v$instance union all

select '数据库版本',substr(svr_version,instr(svr_version,'(')) FROM v$instance union all   SELECT '字符集',CASE SF_GET_UNICODE_FLAG() WHEN '0' THEN 'GBK18030' WHEN '1' then 'UTF-8' when '2' then 'EUC-KR' end union all

SELECT '页大小',cast(PAGE()/1024 as varchar) union all   SELECT '簇大小',cast(SF_GET_EXTENT_SIZE() as varchar) union all

SELECT '大小写敏感',cast(SF_GET_CASE_SENSITIVE_FLAG() as varchar) union all

select '数据库模式',MODE$ from v$instance union all

select '唯一魔数',cast(permanent_magic as varchar) union all

select 'LSN',cast(cur_lsn as varchar) from v$rlog;

五、创建实例后的步骤建议

1、创建表空间
   CREATE TABLESPACE SXWH DATAFILE  'CESHI.DBF' size 256;

2、设置密码策略参数,数据库密码,小于9位数的用户都无法创建,解决办法
   sp_set_para_value(1,'PWD_POLICY',0);

3、创建用户
   CREATE USER CESHI  IDENTIFIED by CESHI DEFAULT TABLESPACE CESHI DEFAULT INDEX TABLESPACE CESHI;

4、给用户权限
    GRANT DBA TO CESHI;
   GRANT PUBLIC TO CESHI; 
   GRANT RESOURCE TO CESHI;
    GRANT VTI TO CESHI;

以上参数的详细解释请参阅官网

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我的炸串拌饼店

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值