查看防火墙状态
systemctl status firewalld.service
● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2023-03-14 18:28:13 CST; 4s ago Docs: man:firewalld(1) Main PID: 9172 (firewalld) Tasks: 2 Memory: 20.5M CGroup: /system.slice/firewalld.service └─9172 /usr/bin/python3 /usr/sbin/firewalld --nofork --nopid 3月 14 18:28:13 dm1 systemd[1]: Starting firewalld - dynamic firewall daemon... 3月 14 18:28:13 dm1 systemd[1]: Started firewalld - dynamic firewall daemon.
关闭防火墙
systemctl stop firewalld.service
禁止防火墙自启动
systemctl disable firewalld.service
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
备份文件
# 备份策略文件
cp /etc/pam.d/system-auth /etc/pam.d/system-auth.bak
编辑文件,把"pam_pwquality.so"参数修改为"pam_cracklib.so"
# 使用sed修改
sed -i 's/pam_pwquality.so/pam_cracklib.so/g' /etc/pam.d/system-auth
# 使用vi手动修改
vim /etc/pam.d/system-auth
auth required pam_kysec.so
#%PAM-1.0
# User changes will be destroyed the next time authconfig is run.
auth required pam_env.so
auth required pam_faillock.so preauth audit deny=3 even_deny_root unlock_time=60
-auth sufficient pam_fprintd.so
auth sufficient pam_unix.so nullok try_first_pass
-auth sufficient pam_sss.so use_first_pass
auth [default=die] pam_faillock.so authfail audit deny=3 even_deny_root unlock_time=60
auth sufficient pam_faillock.so authsucc audit deny=3 even_deny_root unlock_time=60
auth requisite pam_succeed_if.so uid >= 1000 quiet_success
auth required pam_deny.so
account required pam_unix.so
account required pam_faillock.so
account sufficient pam_localuser.so
account sufficient pam_succeed_if.so uid < 1000 quiet
-account [default=bad success=ok user_unknown=ignore] pam_sss.so
account required pam_permit.so
password requisite pam_pwquality.so try_first_pass local_users_only ## "pam_pwquality.so"参数修改为"pam_cracklib.so"
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
-password sufficient pam_sss.so use_authtok use_first_pass
password required pam_deny.so
session optional pam_keyinit.so revoke
session required pam_limits.so
-session optional pam_systemd.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
-session optional pam_sss.so
vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing ## 修改enforcing为disabled
# SELINUXTYPE= can take one of these three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# ukmls - Multi Level Security protection.
# ukmcs -ukmcs variants of the SELinux policy.
SELINUXTYPE=ukmcs
# SETLOCALDEFS= Check local definition changes
SETLOCALDEFS=0
# 编辑网卡对应文件
vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes ## ipv6可以删除 IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens33 UUID=8db5feff-ad57-4400-aef1-3e33e14865cc DEVICE=ens33 ONBOOT=yes ## 修改为自启动 IPADDR=192.168.222.21 ## 修改ip地址 PREFIX=24 GATEWAY=192.168.222.1 IPV6_PRIVACY=no
# 立即生效
hostname dm1
# 修改配置文件
vi /etc/hostname
操作系统默认调度方式为cfq,数据库建议使用deadline模式进行
透明大页和磁盘调度方式,均为修改/etc/default/grub 的cmdline行,需要重启操作系统生效
# 查看透明大页,always则为开启
cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never
# 或使用一下命令查看
grep AnonHugePages /proc/meminfo
AnonHugePages: 112640 kB
# 查询当前磁盘调度方式
for i in a;do
cat /sys/block/sd${i}/queue/scheduler
done
# 关闭透明大页,编辑grub文件,在cmdline末尾添加transparent_hugepage=never elevator=deadline,然后重启操作系统
vi /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="resume=/dev/mapper/klas-swap rd.lvm.lv=klas/root rd.lvm.lv=klas/swap rhgb quiet crashkernel=1024M,high transparent_hugepage=never elevator=deadline"
GRUB_DISABLE_RECOVERY="true"
# 状态为never则已经关闭
cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
# 查看大页分配为0
grep AnonHugePages /proc/meminfo
AnonHugePages: 0 kB
主要需要修改共享内存相关参数、关闭numa、设置信号通量
# shmmax和shmall可以通过以下公式计算
SHMMAX=$(grep 'MemTotal' /proc/meminfo |awk '{printf ("%d\n",$2*1024*0.5)}')
SHMALL=$(grep 'MemTotal' /proc/meminfo |awk '{printf ("%d\n",$2*1024/4096*0.5)}')
# 编辑文件设置相关配置
vi /etc/sysctl.conf
kernel.shmmni = 4096
kernel.shmmax = 1514307584
kernel.shmall = 369704
kernel.numa_balancing = 0
kernel.sem = 10240 32767 10240 32767
# 使参数动态生效
sysctl -p
修改用户进程和open files等参数,直接改为不限制
# 直接编辑限制文件,设置为unlimited,该参数不需要重启
vi /etc/security/limits.conf
* soft stack unlimited
* hard stack unlimited
* soft nproc unlimited
* hard nproc unlimited
* soft nofile 1048576
* hard nofile 1048576
* soft memlock unlimited
* hard memlock unlimited
规划安装路径为/dm8
实例创建路径为/dm8/data
归档路径为/dm8/arch
数据库用户和组为dmdba和dinstall
# 创建用户和组
groupadd dinstall
useradd -g dinstall -m -d /home/dmdba -s /bin/bash dmdba
# 设置密码
passwd dmdba
# 创建目录
mkdir -p /dm8
chown dmdba:dinstall /dm8
达梦安装软件包为iso镜像文件,需要上传然后挂载
# 上传
dm8_20220525_x86_rh6_64.iso
# 挂载
mount dm8_20220525_x86_rh6_64.iso /mnt/
达梦数据库有三种安装方式:图形化、命令行、静默
本次采用命令行形式安装,静默安装需要配置xml格式的相应文件,然后使用./DMInstall.bin -q 配置文件全路径的方式安装装
如果tmp目录不足2g,可以通过设置DM_INSTALL_TMPDIR环境变量指定临时目录
# 切换到dmdba用户,设置环境变量
su - dmdba
mkdir -p /home/dmdba/tmp
export DM_INSTALL_TMPDIR=/home/dmdba/tmp
# 进入光盘,调用安装界面
cd /mnt/
./DMInstall.bin -i
请选择安装语言(C/c:中文 E/e:英文) [C/c]: # 默认为中文安装,直接回车
解压安装程序.........
欢迎使用达梦数据库安装程序
是否输入Key文件路径? (Y/y:是 N/n:否) [Y/y]: # 没有key,选择n,也可以安装后在导入key
否设置时区? (Y/y:是 N/n:否) [Y/y]: # 设置时区
设置时区:
[ 1]: GTM-12=日界线西
[ 2]: GTM-11=萨摩亚群岛
[ 3]: GTM-10=夏威夷
[ 4]: GTM-09=阿拉斯加
[ 5]: GTM-08=太平洋时间(美国和加拿大)
[ 6]: GTM-07=亚利桑那
[ 7]: GTM-06=中部时间(美国和加拿大)
[ 8]: GTM-05=东部部时间(美国和加拿大)
[ 9]: GTM-04=大西洋时间(美国和加拿大)
[10]: GTM-03=巴西利亚
[11]: GTM-02=中大西洋
[12]: GTM-01=亚速尔群岛
[13]: GTM=格林威治标准时间
[14]: GTM+01=萨拉热窝
[15]: GTM+02=开罗
[16]: GTM+03=莫斯科
[17]: GTM+04=阿布扎比
[18]: GTM+05=伊斯兰堡
[19]: GTM+06=达卡
[20]: GTM+07=曼谷,河内
[21]: GTM+08=中国标准时间
[22]: GTM+09=汉城
[23]: GTM+10=关岛
[24]: GTM+11=所罗门群岛
[25]: GTM+12=斐济
[26]: GTM+13=努库阿勒法
[27]: GTM+14=基里巴斯
请选择设置时区 [21]: # 默认中国时区
安装类型:
1 典型安装
2 服务器
3 客户端
4 自定义
请选择安装类型的数字序号 [1 典型安装]: # 默认经典安装
所需空间: 1585M
请选择安装目录 [/home/dmdba/dmdbms]:/dm8 # 选择/dm8作为安装目录
可用空间: 35G
是否确认安装路径(/dm8)? (Y/y:是 N/n:否) [Y/y]: # 确认安装路径
安装前小结
安装位置: /dm8
所需空间: 1585M
可用空间: 35G
版本信息:
有效日期:
安装类型: 典型安装
是否确认安装? (Y/y:是 N/n:否):y # 确认进行安装
2023-03-24 01:00:58
[INFO] 安装达梦数据库...
2023-03-24 01:00:59
[INFO] 安装 基础 模块...
2023-03-24 01:01:01
[INFO] 安装 服务器 模块...
2023-03-24 01:01:01
[INFO] 安装 客户端 模块...
2023-03-24 01:01:02
[INFO] 安装 驱动 模块...
2023-03-24 01:01:03
[INFO] 安装 手册 模块...
2023-03-24 01:01:03
[INFO] 安装 服务 模块...
2023-03-24 01:01:04
[INFO] 移动日志文件。
2023-03-24 01:01:04
[INFO] 安装达梦数据库完成。
请以root系统用户执行命令:
/dm8/script/root/root_installer.sh
安装结束
创建数据库同样采用命令行方式,图形化需要cd /dm8/tool后调用**./dbca.sh**
静默安装的详细参数如下:
/dm8/bin/dminit help initdb V8 db version: 0x7000c file dm.key not found, use default license! License will expire on 2023-05-25 version: 03134283890-20220525-161267-10045 Pack7 格式: ./dminit KEYWORD=value 例程: ./dminit PATH=/public/dmdb/dmData PAGE_SIZE=16 关键字 说明(默认值) -------------------------------------------------------------------------------- INI_FILE 初始化文件dm.ini存放的路径 PATH 初始数据库存放的路径 CTL_PATH 控制文件路径 LOG_PATH 日志文件路径 EXTENT_SIZE 数据文件使用的簇大小(16),可选值:16, 32, 64,单位:页 PAGE_SIZE 数据页大小(8),可选值:4, 8, 16, 32,单位:K LOG_SIZE 日志文件大小(256),单位为:M,范围为:256M ~ 2G CASE_SENSITIVE 大小敏感(Y),可选值:Y/N,1/0 CHARSET/UNICODE_FLAG 字符集(0),可选值:0[GB18030],1[UTF-8],2[EUC-KR] SEC_PRIV_MODE 权限管理模式(0),可选值:0[TRADITION],1[BMJ],2[EVAL] LENGTH_IN_CHAR VARCHAR类型长度是否以字符为单位(N),可选值:Y/N,1/0 SYSDBA_PWD 设置SYSDBA密码(SYSDBA) SYSAUDITOR_PWD 设置SYSAUDITOR密码(SYSAUDITOR) DB_NAME 数据库名(DAMENG) INSTANCE_NAME 实例名(DMSERVER) PORT_NUM 监听端口号(5236) BUFFER 系统缓存大小(100),单位M TIME_ZONE 设置时区(+08:00) PAGE_CHECK 页检查模式(0),可选值:0/1/2 PAGE_HASH_NAME 设置页检查HASH算法 EXTERNAL_CIPHER_NAME 设置默认加密算法 EXTERNAL_HASH_NAME 设置默认HASH算法 EXTERNAL_CRYPTO_NAME 设置根密钥加密引擎 RLOG_ENC_FLAG 设置日志文件是否加密(N),可选值:Y/N,1/0 USBKEY_PIN 设置USBKEY PIN PAGE_ENC_SLICE_SIZE 设置页加密分片大小,可选值:0、512、4096,单位:Byte ENCRYPT_NAME 设置全库加密算法 BLANK_PAD_MODE 设置空格填充模式(0),可选值:0/1 SYSTEM_MIRROR_PATH SYSTEM数据文件镜像路径 MAIN_MIRROR_PATH MAIN数据文件镜像 ROLL_MIRROR_PATH 回滚文件镜像路径 MAL_FLAG 初始化时设置dm.ini中的MAL_INI(0) ARCH_FLAG 初始化时设置dm.ini中的ARCH_INI(0) MPP_FLAG Mpp系统内的库初始化时设置dm.ini中的mpp_ini(0) CONTROL 初始化配置文件(配置文件格式见系统管理员手册) AUTO_OVERWRITE 是否覆盖所有同名文件(0) 0:不覆盖 1:部分覆盖 2:完全覆盖 USE_NEW_HASH 是否使用改进的字符类型HASH算法(1) ELOG_PATH 指定初始化过程中生成的日志文件所在路径 AP_PORT_NUM 分布式环境下协同工作的监听端口 DFS_FLAG 初始化时设置dm.ini中的DFS_INI(0) DFS_PATH 启用dfs时指定数据文件的缺省路径 DFS_HOST 指定连接分布式系统DFS的服务地址(localhost) DFS_PORT 指定连接分布式系统DFS的服务端口号(3332) DFS_COPY_NUM 指定分布式系统的副本数(3) DFS_DB_NAME 指定分布式系统的中数据库名(默认与DB_NAME一致) SHARE_FLAG 指定分布式系统中该数据库的共享属性(0) REGION_MODE 指定分布式系统中该数据库的系统表空间数据文件的区块策略(0) 0:微区策略 1:宏区策略 HUGE_WITH_DELTA 是否仅支持创建事务型HUGE表(1) 1:是 0:否 RLOG_GEN_FOR_HUGE 是否生成HUGE表REDO日志(0) 1:是 0:否 PSEG_MGR_FLAG 是否仅使用管理段记录事务信息(0) 1:是 0:否 CHAR_FIX_STORAGE CHAR是否按定长存储(N),可选值:Y/N,1/0 SQL_LOG_FORBID 是否禁止打开SQL日志(N),可选值:Y/N,1/0 DPC_MODE 指定DPC集群中的实例角色(0) 0:无 1:MP 2:BP 3:SP,取值1/2/3时也可以用MP/BP/SP代替 HELP 打印帮助信息
在达梦数据库中,不同的页大小会影响varchar类型的最大长度
数据库页大小 | varchar 实际最大长度(字 节) |
---|---|
4k | 约1900 |
8k | 约3900 |
16k | 约8000 |
32k | 约8188 |
开始创建数据库
# 命令行方式需要进入bin目录
cd /dm8/bin
# 设置参数解释
path=/dm8/data # 安装路径
db_name=DMDCP # 数据库名
instance_NAME=DMDCPSVR # 实例名
sysdba_pwd=Dameng123 # sysdba密码
port_num=5236 # 端口号默认5236
PAGE_SIZE=8 # 页大小,可以选择4k 8k 16k 32k
CHARSET=0 # 字符集0为gb2312,1为utf-8,
BUFFER=100 # 数据缓冲区大小,默认为100m(达梦内存不止buffer),建议设置为内存40%,后期可以通过调优参数修改
# 使用命令行进行安装
./dminit path=/dm8/data db_name=DMDCP instance_NAME=DMDCPSVR sysdba_pwd=Dameng123 port_num=5236 PAGE_SIZE=8 CHARSET=0 BUFFER=100
initdb V8
db version: 0x7000c
file dm.key not found, use default license!
License will expire on 2023-05-25
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
log file path: /dm8/data/DMDCP/DMDCP01.log
log file path: /dm8/data/DMDCP/DMDCP02.log
write to dir [/dm8/data/DMDCP].
create dm database success. 2023-03-24 01:20:38
dminit 方式创建数据库不会自动注册数据库服务(DM数据库配置助手方式默认自动注册数 据库服务),所以不能以服务方式启动数据库,如果要以服务方式启动,则需要注册数据库服务
注册方式也分为两种,图形化和命令行(dbca.sh),本次采用命令行
# 进入对应目录
cd /dm8/script/root
# 使用root执行
./dm_service_installer.sh -t dmserver -p DMDCPSVR -dm_ini /dm8/data/DMDCP/dm.ini
Created symlink /etc/systemd/system/multi-user.target.wants/DmServiceDMDCPSVR.service → /usr/lib/systemd/system/DmServiceDMDCPSVR.service.
创建服务(DmServiceDMDCPSVR)完成
# 参数说明
Usage: dm_service_installer.sh -t service_type [-p service_name_postfix] [-dm_ini dm_ini_file]
[-watcher_ini watcher_ini_file ] [-monitor_ini monitor_ini_file] [-cssm_ini cssm_ini_file]
[-dfs_ini dfs_ini_file] [-dcr_ini dcr_ini_file]
[-dss_ini dss_ini_file] [-drs_ini drs_ini_file] [-dras_ini dras_ini_file] [-dcs_ini dcs_ini_file] [-server server_info]
[-dmap_ini dmap_ini_file] [-dpc_mode SP|MP|BP] [-m open|mount] [-y dependent_service] [-auto true|false]
or dm_service_installer.sh [-s service_file_path]
or dm_service_installer.sh -h
# 查看状态
systemctl status DmServiceDMDCPSVR.service
● DmServiceDMDCPSVR.service - DM Instance Service(DmServiceDMDCPSVR).
Loaded: loaded (/usr/lib/systemd/system/DmServiceDMDCPSVR.service; enabled; vendor preset: disabled)
Active: inactive (dead)
# 启动达梦数据库
达梦数据库提供了一个参数优化脚本,但仅限于一对一的环境,如果环境下有多个达梦数据库,则不建议执行
脚本名称:auto_parameter_adjustment.sql
修改参数 ENABLE_LOCAL_OSAUTH开启数据库操作系统认证,防止忘记密码后无法登陆
# 修改数据库参数,重启生效
alter system set 'ENABLE_LOCAL_OSAUTH'=1 spfile;
# 操作系统中新增dmdba组
groupadd dmdba
# 将要免密登录的用户加入该组中
usermod -G dmdba dmdba
# 测试
disql / as sysdba
对于普通用户,可以添加到dmuser组
# 创建dmuser组
groupadd dmusers
# 添加组
usermod -G dmusers test
# 切换到test用户,修改profile文件,保持和dmdba一致
su - test
vi .bash_profile
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/dm8/bin"
export DM_HOME="/dm8"
export PATH=$PATH:${DM_HOME}/bin
# 测试登录
disql / as users
如果数据库使用有明显使用倾向(oracle),可以通过修改兼容参数,使达梦数据库兼容对应数据库的语法
alter system set COMPATIBLE_MODE=2 spfile;
参数的具体值及对应的意义
COMPATIBLE_MODE | 0 | 静态 | 0:不兼容, <br/>1:兼容 SQL92 标准, <br/>2:部分兼容 ORACLE, <br/>3:部分兼容MS SQL SERVER, <br/>4:部分兼容 MYSQL, <br/>5:兼容 DM6, <br/>6:部分兼容 TERADATA |
---|
文章
阅读量
获赞