从今天开始DB2相关的内容

系统为 Redhat 7.4

数据库为 v10.5fp10


这次为第一部分,环境的准备,和Oracle一样,DB2的安装也需要一些参数的设置


## 关闭SELINUX

```
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
```

## 建立组和用户

- db2inst1 既为操作系统账号,也是DB2实例的名称
- db2fenc1 为DB2存储过程运行的用户,权限较低,可防止程序造成实例崩溃
- dasusr1 用于运行DB2管理工具用户,一般不用,后续版本会被移除,可不建立
- db2usr1 用与其他用户连接DB2实例,目前只需建立组

```

groupadd  -g 505 db2iadm1
groupadd -g 506 db2fadm1 
groupadd -g 507  dasadm1
groupadd -g 508 db2usr1
useradd -u 505 -g db2iadm1 -d /home/db2inst1 db2inst1
useradd -u 506 -g db2fadm1 -d /home/db2fenc1 db2fenc1
useradd -u 507  -g dasadm1  -d /home/dasusr1 dasusr1
echo 'db2inst1' | passwd --stdin 'db2inst1'
echo 'db2fenc1' | passwd --stdin 'db2fenc1'
echo 'dasusr1' | passwd --stdin 'dasusr1'
```


## 时间同步

**使用NTP服务(RHE5/6)**

需要开启slew time。

```
vi /etc/sysconfig/ntpd

OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid"  

service ntpd restart
chkconfig ntpd on
```
配置NTP服务
```
vi /etc/ntp.conf
server  <NTP_SERVER_ADDR>         iburst
```
停止NTP服务,手动同步时间。
```
service ntpd stop
ntpdate -b <NTP_SERVER_ADDR>
service ntpd start
```
时钟写回主板
```
hwclock --systohc
hwclock;date
```

**使用Chrony服务**
```
vi /etc/chrony.conf
server  <NTP_SERVER_ADDR>         iburst
```

重启时间同步服务:

```
systemctl restart chronyd.service
systemctl enable chronyd.service
```

查看时间同步源:

```
chronyc sources -v
```
时钟写回主板
```
hwclock --systohc
hwclock;date
```

## 修改hosts文件

网络配置多分区和PureScale环境下,需要将所有服务器都添加到hosts文件中

```
vi /etc/hosts

172.18.95.84 SYTEST1
```

## 文件系统配置

对存放数据的分区添加noatime,nodiratime选项

```
# vi /etc/fstab
/dev/mapper/rhel-root   /          xfs     defaults, noatime,nodiratime      0 0
```
重新挂载后确认

```
# mount|grep noatime
/dev/mapper/centos-app on /app type xfs  
(rw,noatime,nodiratime,attr2,inode64,noquota)
```


## 配置Limits

```
cat>>/etc/security/limits.conf<<EOF
#打开文件的最大数目
db2inst1 soft nofile 65536
db2inst1 hard nofile 65536
#最大栈大小
db2inst1 soft stack 10240
db2inst1 hard stack 10240
#最大数据大小,-1表示没有限制
db2inst1 soft data -1
db2inst1 hard data -1
#最大文件大小,-1表示没有限制
db2inst1 soft fsize -1  
db2inst1 hard fsize -1
EOF
```
```
cat>>/etc/security/limits.d/90-nproc.conf<<EOF
#修改进程的最大的数目
db2inst1 soft nproc 65536
db2inst1 hard nproc 65536
EOF
```

## 禁用防火墙

```
systemctl stop firewalld.service  
systemctl disable firewalld.service
```
## 系统内核参数调整
```
cat>>/etc/sysctl.conf<<EOF
#Example for a computer with 16GB of RAM:
kernel.shmmni=4096
kernel.shmmax=17179869184
kernel.shmall=8388608
#kernel.sem=<SEMMSL> <SEMMNS> <SEMOPM> <SEMMNI>
kernel.sem=250 1024000 32 4096
kernel.msgmni=16384
kernel.msgmax=65536
kernel.msgmnb=65536
kernel.randomize_va_space = 0
EOF
```
生效
```
# sysctl -p
```
## 安装依赖包
```
yum install compat-libstdc++.x86_64 compat-libstdc++.x86_64 openssh.x86_64 rsh.x86_64 pam_devel.x86_64 ksh.x86_64
yum install libstdc++-devel.i686 compat-libstdc++.i686 pam-devel.i686
```
## 重启操作系统
为使参数生效,必须重启操作系统。
```
# reboot
```