达梦DCA考试准备笔记
1 数据库分类
1.1操作系统配置
1.1.1网络环境检查
ethtool 网卡名
网卡名查询: ip a
1.1.2操作系统时间检查
datetime #确认是否存在时间同步
1.1.3查看cpu相关信息
lscpu
cat /proc/cpuinfo
uname –ar(系统要求:内核要求2.6以上,查看linux当前操作系统内核信息)
1.1.4查看内存
free -h
free -h -s 3 (3秒输出一次,持续)
1.1.5查看磁盘
确认磁盘大小以及挂载点,根据实际情况规划数据库程序安装位置以及数据文件、备份文件位置,归档日志文件大小限制以及位置。 (一般实例挂到最大盘)
df -h
#列出所有可用块设备的信息
lsblk
blkid
fdisk –l
cat /etc/fstab --文件系统是否开机挂载
1.1.6查看操作系统
cat /etc/*lease*
1.1.7查看操作系统参数
ulimit –a
vim /etc/security/limits.conf
#结尾添加以下内容
dmdba soft nproc 65536
dmdba hard nproc 65536
dmdba soft nofile 65536
dmdba hard nofile 65536
1.1.8查看防火墙
#查看状态
systemctl status firewalld
#关闭/开启/禁用防火墙
systemctl start firewalld
systemctl stop firewalld
systemctl disable firewalld chkconfig iptables off
#关闭防火墙
Iptables –F
#查看防火墙开通端口号
rbow_soc_opt –p
#查看端口占用情况
netstat –tnlp|grep 5236
1.1.9查看磁盘调度算法
cat /sys/block/sdb/queue/scheduler
#建议采用deadline算法
#临时更改到 mq-deadline 调度算法:
echo deadline > /sys/block/sda/queue/scheduler
1.1.10测试磁盘读写速度
dd if=/dev/zero of=test bs=64k count=16k conv=fsync
#较为稳妥,但是时间用时较长,他在dd结束前会写数据和文件元数据到磁盘;
dd if=/dev/zero of=test bs=64k count=4k oflag=dsync
#每写一次就写一次磁盘,在实际操作中,可以听到磁盘响声,用时较长;
1.1.11检查操作系统内存参数
cat /proc/sys/vm/overcommit_memory
#建议设置为0. 设置为1或者2时可能会出现操作物理内存有空余,但数据库服务无法申请内存的严重问题。
1.1.12禁用SELinux
#RedHat and SuSE
编辑 /etc/selinux/config,设置SELINUX=disabled,重启机器生效。
#Ubuntu and Debian
编辑/selinux/config,设置SELINUX=disabled,重启机器生效。
#查看状态
/usr/sbin/sestatus -v ##如果SELinux status参数为enabled即为开启状态
1.1.13关闭透明大页
#判断当前系统透明大页的状态
cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never
#禁用透明大页
vi /etc/rc.local
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
#将该脚本设置为开机启动的脚本中
1.1.14关闭numa
1、编辑 /etc/default/grub 文件,如下图所示加上:numa=off
2、重新生成/etc/grub2.cfg 配置文件:
grub2-mkconfig -o /etc/grub2.cfg
3、重启操作系统
reboot
4、重启之后进行确认
dmesg | grep -i numa
5、再次确认
cat /proc/cmdline
1.1.15内存池检查
vim DmServicexxx
export MALLOC_ARENA_MAX=1
#禁止操作系统额外为数据库线程分配内存,数据库相关线程只从数据库已申请的内存池中进行资源分配,从而有效控制内存资源使用大小
规划安装路径 安装路径
mkdir /dm8
规划用户(不建议使用 root) 规划用户 id dmdba
[root@dm01 ~]# groupadd dinstall
[root@dm01 ~]# useradd -g dinstall dmdba
[root@dm01 ~]# chown dmdba:dinstall /dm
安装数据库软件
[root@localhost opt]# mount -o loop /opt/dm8_setup_rh7_64_ent_8.1.1.88_20200629.iso /mnt
利用命令方式去安装数据库软件:
[dmdba@localhost mnt]$ ./DMInstall.bin -i
创建数据库实例
cd /dm8/bin
./dminit help
./dminit PATH=/dm8/data DB_NAME=DMDB INSTANCE_NAME=DBSERVER PORT_NUM=5238 SYSDBA_PWD=Dameng123 EXTENT_SIZE=16 PAGE_SIZE=16 LOG_PATH=/dm8/data/DMDB/DATA01.log LOG_SIZE=300 LOG_PATH=/dm8/data/DMDB/DATA02.log LOG_SIZE=300 LOG_PATH=/dm8/data/DMDB/DATA03.log LOG_SIZE=300
注册数据库服务脚本
使用root用户
cd /dm8/script/root
./dm_service_installer.sh -t dmserver -p dbserver -dm_ini /dm8/data/DMDB/dm.ini
vim /dm8/data/DMDB/dm.ini
COMPATIBLE_MODE=3(兼容模式根据考试题更改)
PWD_POLICY=7(口令根据考试题更改)===7
PWD_MIN_LEN=6
ARCH_INI=1 (更改归档参数)
BAK_PATH = /dm8/backup 查看一下后面的备份路径在dm.ini里面指定备份还原路径
配置归档文件
cd /dm8/data/DMDB
vi dmarch.ini
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 2048
创建/dm8/backup 目录
更改之后记得重启数据库服务
./DmServicePROD restart
如何规划用户
案例 1:建立用户 test3 ,用户可以建立自己的表,有属于自己的表空 间,用户密码要求每 60 天变更一次。
1、创建表空间
create tablespace "TEST3" datafile '/dm8/data/DAMENG/TEST3_01.DBF' size 32 CACHE = NORMAL;
2、创建用户
create user "TEST3" identified by "dameng123" limit failed_login_attemps 3, password_life_time 60, password_lock_time 1, password_grace_time 10 default tablespace "TEST3";
grant "PUBLIC","VTI" to "TEST3"
案例 2:规划一个用户 test5,用户每 60 天变更一次密码,密码的宽限期为 3 天,密码尝试连 接 2 次失败,账号锁定 5 分钟,用户能查询 dmhr.eployee 表。
create user "TEST5" identified by "dameng123"
limit failed_login_attemps 2, password_life_time 60, password_lock_time 5, password_grace_time 3 default tablespace "TEST";
grant "PUBLIC","VTI" to "TEST5";
grant SELECT on "DMHR"."EMPLOYEE" to "TEST5";
安装配置系统调用的ODBC驱动(安装包在/opt下)
[root@loaclhost ~]# tar -xvf unixODBC-2.3.0.tar.gz
[root@loaclhost ~]# cd unixODBC-2.3.0/
[root@loaclhost unixODBC-2.3.0]# ./configure
[root@localhost unixODBC-2.3.0]# make
[root@localhost unixODBC-2.3.0]# make install
[root@localhost unixODBC-2.3.0]# odbcinst -j
[root@loaclhost unixODBC-2.3.0]# vi /usr/local/etc/odbc.ini
[dm8]
Description = DM ODBC DSND
Driver = DM8 ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = Dameng123
TCP_PORT = 5237
[root@loaclhost unixODBC-2.3.0]# vi /usr/local/etc/odbcinst.ini
[DM8 ODBC DRIVER]
Description = ODBC DRIVER FOR DM8
DRIVER = /dm8/bin/libdodbc.so
[root@loaclhost unixODBC-2.3.0]# su - dmdba
[dmdba@loaclhost ~]$ isql dm8
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL> quit
更多资讯请上达梦技术社区了解: https://eco.dameng.com