建用户、看磁盘挂载、建目录、配环境、安装数据库、配置实例、归档备份还原参数优化。
groupadd dinstall -g 2001
useradd -g dinstall dmdba -u 1001
mkdir -p /data
chown -R dmdba.dinstall /data
chown -R dmdba.dinstall /data
查询IO速度 小于10需要提醒客户
##真实模拟 20K 次磁盘写入(IO)
dd bs=32k count=20k if=/dev/zero of=test oflag=dsync
格式化磁盘
mkfs.xfs /dev/sdaaa
磁盘挂载
mount /dev/sdaaa /data
创建目录
mkdir -p /data/dmbak
mkdir -p /data/dmarch
mkdir -p /data/dmcore
chown -R dmdba.dinstall /data/dmbak
chown -R dmdba.dinstall /data/dmarch
chown -R dmdba.dinstall /data/dmcore
用户环境变量修改
cp /home/dmdba/.bash_profile /home/dmdba/.bash_profile.bak
echo "export MALLOC_ARENA_MAX=1">> /home/dmdba/.bash_profile
export DM_HOME=/home/dmdba/dmdbms
export PATH=$DM_HOME/bin:$PATH
export LD_LIBRARY_PATH=$DM_HOME/bin:/lib:/usr/lib
防火墙检查
1:查看防火状态
systemctl status firewalld
service iptables status
2:暂时关闭防火墙
systemctl stop firewalld
service iptables stop
3:永久关闭防火墙
chkconfig iptables off
2.5关闭selinux
##临时关闭SELinux:
[root@localhost~]#setenforce 0
##永久关闭
[root@~]#vi /etc/selinux/config
SELINUX=disabled
##确认状态
[root@localhost~]#getenforce
Disabled
关闭SWAP ,备注:物理内存大于128G时需要关闭
#临时关闭swap分区,重启后失效
[root@~]#swapoff-a
#永久关闭swap分区
sed -ri 's/.*swap.*/#&/' /etc/fstab
调整limits.conf
cp /etc/security/limits.conf /etc/security/limits.conf.bak
echo "dmdba soft nproc 65536">>/etc/security/limits.conf
dmdba hard nproc 65536
dmdba soft nofile 65536
dmdba hard nofile 65536
dmdba hard data unlimited
dmdba soft data unlimited
dmdba hard fsize unlimited
dmdba soft fsize unlimited
dmdba soft core unlimited
dmdba hard core unlimited
dmdba soft as unlimited
dmdba hard as unlimited
dmdba soft memlock unlimited
dmdba hard memlock unlimited
dmdba soft nice 0
dmdba hard nice 0
授权
chmod a+x /etc/security
chmod a+r /etc/security/limits.conf
调整system.conf
cp /etc/systemd/system.conf /etc/systemd/system.conf.bak
echo "DefaultLimitNOFILE=65536" >>/etc/systemd/system.conf
echo "DefaultLimitNPROC=10240" >>/etc/systemd/system.conf
调整sysctl.conf
cp /etc/sysctl.conf /etc/sysctl.conf.bak
echo "vm.swappiness=10" >>/etc/sysctl.conf
echo "vm.overcommit_memory=0">>/etc/sysctl.conf
echo "kernel.core_pattern=/data/dmcore/core-%e-%p-%s" >>/etc/sysctl.conf
echo "vm.min_free_kbytes= 1153434">>/etc/sysctl.conf
sysctl -p
kill -s SIGSEGV $$
磁盘调度算法检查
查看对应的调度算法:
cat /sys/block/nvme0n1/queue/scheduler
数据盘查询
df -h /data
echo deadline> /sys/block/nvme0n1/queue/scheduler--将修改加入启动项,重启后自动执行
echo "echo deadline>/sys/block/nvme0n1/queue/scheduler" >>/root/.bash_profile
关闭numa检查
vi /etc/default/grub文件,调整如下行,增加numa=off:
GRUB_CMDLINE_LINUX="resume=/dev/sda1 splash=silent quiet
showoptscrashkernel=113M,highcrashkernel=72M,low numa=off"
2、查询是UEFI-based机器还是BIOS-based的机器
[ -d /sys/firmware/efi ]&& echo UEFI || echo BIOS
重新生成grub.cfg
(1)若是UEFI-based的机器,请执行:
grub2-mkconfig -o /boot/efi/EFI/kylin/grub.cfg
(2)若是BIOS-based的机器,请执行:
grub2-mkconfig-o /boot/grub2/grub.cfg
4、重启操作系统
查看是否生效:
dmesg | grep -i numa--确认NUMAturnedoff
再次确认
cat /proc/cmdline
禁用透明大页
查看透明大页设置:
cat /sys/kernel/mm/transparent_hugepage/enabled
vi /etc/default/grub
GRUB_CMDLINE_LINUX="resume=/dev/sda1 splash=silent quiet
showoptscrashkernel=113M,highcrashkernel=72M,low numa=off
transparent_hugepage=never"
查询是UEFI-based机器还是BIOS-based的机器
[ -d /sys/firmware/efi ]&& echo UEFI || echo BIOS
4、重新生成grub.cfg
(1)若是UEFI-based的机器,请执行:
grub2-mkconfig -o /boot/efi/EFI/kylin/grub.cfg
(2)若是BIOS-based的机器,请执行:
grub2-mkconfig -o /boot/grub2/grub.cfg
5、重启操作系统 6、查看是否生效:
cat /sys/kernel/mm/transparent_hugepage/enabled
对iso文件挂载 mount -o loop
/opt/setup/dm8_20240514_x86_rh6_64.iso /mnt
切换dmdba安装
配置实例
cd /home/dmdba/dmdbms/bin
./dminit path=/data PAGE_SIZE=32 EXTENT_SIZE=32 SYSDBA_PWD=Dameng@123 SYSAUDITOR_PWD=Dameng@123 CHARSET=1
切换root注册服务
/home/dmdba/dmdbms/script/root/dm_service_installer.sh -t dmserver -dm_ini /data/DAMENG/dm.ini -p DMSERVER
注销服务
/home/dmdba/dmdbms/script/root/dm_service_uninstaller.sh -n DmServiceDMS
登录数据库
cd /home/dmdba/dmdbms/bin
./disql SYSDBA/'"Dameng@123"'@192.168.100.231:5236
配置归档
ALTER DATABASE MOUNT;
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE ADD ARCHIVELOG 'DEST=/data/dmarch, TYPE=LOCAL, FILE_SIZE=2048, SPACE_LIMIT=102400';
ALTER DATABASE OPEN;
ALTER SYSTEM SWITCH LOGFILE;
配置定时备份任务
–备份位置是/dmbak,根据实际情况修改脚本路径
sp_init_job_sys(1);
–全备:周日23点,备份保留30填,删除过期备份
call SP_JOB_CONFIG_START('DM_FULL_DEL_BAK');
call SP_ADD_JOB_STEP('DM_FULL_DEL_BAK', 'FULL_BAK', 6, '01000000/data/dmbak', 3, 1, 0,0, NULL, 0);
call SP_ADD_JOB_STEP('DM_FULL_DEL_BAK', 'DEL_BAK', 0,'SF_BAKSET_BACKUP_DIR_ADD(''DISK'',''/data/dmbak'');
call SP_DB_BAKSET_REMOVE_BATCH(''DISK'',SYSDATE-30);', 1,1,0, 0,NULL,0);
call SP_ADD_JOB_SCHEDULE('DM_FULL_DEL_BAK', 'FULL2',1, 2,1,1,0, '23:00:00',NULL,'2024-01-0100:00:00',NULL, '');
call SP_JOB_CONFIG_COMMIT('DM_FULL_DEL_BAK');
–增备:周1-6日23点
call SP_CREATE_JOB('DM_INC_BAK',1,0,'',0,0,'',0,'');
call SP_JOB_CONFIG_START('DM_INC_BAK');
call SP_ADD_JOB_STEP('DM_INC_BAK','INC1',6,'11000000/data/dmbak|/data/dmbak',1,3,0,0,NULL,0);
call SP_ADD_JOB_STEP('DM_INC_BAK','FULL1',6,'01000000/data/dmbak',1,1,0,0,NULL,0);
call SP_ADD_JOB_SCHEDULE('DM_INC_BAK','INC2',1,2,1,126,0,'23:00:00',NULL,'2024-01-0100:00:00',NULL,'');
call SP_JOB_CONFIG_COMMIT('DM_INC_BAK');
执行定时作业
select * from SYSJOB.SYSJOBS A;
call SP_DBMS_JOB_RUN(1791596897);
查看作业日志,确认执行情况:
select jobid,
exec_id,
name,
stepname,
start_time,
end_time,
errcode,
errinfo
from sysjob.sysstephistories2
order by start_time desc;
若定时备份执行失败则
达梦8新版本安装完成后需要配置dmap_wallet,否则无法正常使用在线备份,备份时dmap日志提示dmserver need set dmap_wallet_location!
操纵方式如下:
1、配置dmap服务的wallet
mkdir -p /home/dmdba/dmdbms/wallet --创建目录
./dmmkstore -wrl /home/dmdba/dmdbms/wallet -create 生成凭证
./dmmkstore -wrl /home/dmdba/dmdbms/wallet -createCredential dmap_service dmap_user Admin@123pl --配置dmap用户信息(密码随意修改,dmap_users是内置用户)
2、修改dmap.ini,增加以下内容
AP_WALLET_LOCATION=/home/dmdba/dmdbms/wallet
然后重启ap与dmserver
修改自动脚本的CPU和内存参数,进行调优
常用的查询命令
查询授权
SELECT * from SYS.V$LICENSE;
select id_code;
查询版本
SELECT * FROM SYS.V$VERSION;
查询CPU
lscpu
查询操作系统版本
cat /etc/os-release | grep "PRETTY_NAME"
cat /etc/os-release
挂载 mount /dev/dba /data 将data目录挂载后,在data目录下创建dmarch、和dmbak
##拷贝一个文件到远程服务器的 /opt 目录下
[root@~]# scp -r xxx dmdba@ip:/opt/
##拷贝一个文件,指定端口到远程服务器的 /opt 目录下
[root@~]# scp -r -P 端口 xxx dmdba@ip:/opt/
查询磁盘容量
df -h
查询挂载点
lsblk
查询内存
free -h
以MB为单位
free free -m
查看所有打开的文件
lsof
查看哪个进程占用 /dm/data 目录(常用:查找磁盘被谁占用,umount 失败时)
lsof +D /dm/data
查看占用端口 3306 的进程
lsof -i :3306
查看某个进程PID打开的文件
lsof -p 1234
查看某个用户打开的文件
lsof -u root
只看TCP连接
lsof -i TCP
文章
阅读量
获赞
