已索引
开启审计(等保、监管)
$disql SYSAUDITOR/xxxx
SQL> SP_SET_ENABLE_AUDIT(1); --- 立即生效
开启 SQL 日志(问题分析、追踪)
$ vim /dmdb/dmdata/DMDB/sqllog.ini
$ disql SYSDBA/xxxx
SQL> sp_set_para_value(1,'SVR_LOG',1);
SQL> SP_REFRESH_SVR_LOG_CONFIG();
修改内存分配器为 libjemalloc
# rpm -ivh jemalloc*.rpm
# vim /dmdb/dmdbms/bin/DmServiceDM
……
### END INIT INFO
export LD_PRELOAD="/usr/lib64/libjemalloc.so.2"
DM_HOME="/home/dmdba/dmdbms"
……
# lsof -p 1707 | grep -i mall
dmserver 1707 dmdba mem REG 253,0 703520 5373873 /usr/lib64/libjemalloc.so.2修改如下参数
- 'CALC_AS_DECIMAL' = 1;
默认值为 0,默认值为0时 select round(5/7,2) 这类计算会返回 0. - 'TEMP_SPACE_LIMIT' = 30720;
30G无论如何都够了,一表通最大使用8G,PAS最大使用22G。 - 'PWD_POLICY' = 31
调整密码强度策略,满足等保和监管要求。 - 开启延迟段分配
DEFERRED_SEGMENT_CREATION'=1
Oracle 字符集是 GBK,块大小是 8,达梦字符集是 UTF8,块大小是 32。
NCRS 系统在 Oracle 里通过 dba_segments 统计出来的数据量是 24.45G。
DTS 迁移时使用x2,达梦新建的表空间使用量是 90G,不使用 x2,是 86G。
在达梦数据库开启延迟段分配后,达梦新建的表空间使用量是 32G。
该用户有很多空白分区,段的数量为 58397,页大小是32K,一个 extent 是 32 个页。
所以一个空表或者分区也会占用 1M ,在 0 数据量的情况下就是 57G。