以下的各项配置需要在RAC的各个节点执行,以下的各项配置需要在RAC的各个节点执行,以下的各项配置需要在RAC的各个节点执行,重要事情说三遍!!!
配置limits.conf
nano /etc/security/limits.conf
grid soft stack 10243 (比10240稍微大些)
grid hard stack 32768
oracle soft stack 10243
oracle hard stack 32768
关闭TransparentHugePages
#vi /etc/rc.local #注释:编辑rc.local文件,增加以下内容
if test -f /sys/kernel/mm/redhat_transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled
fi
UDEV配置asm磁盘
[root@localhost ~]# /lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdb
36000c2992d88dcc8f94fe2f91b6f5560
[root@localhost ~]# /lib/udev/scsi_id --whitelisted --replace-whitespace --device=/dev/sdc
36000c29879b64d2c81ce7512c8c3f243
[root@localhost ~]# nano /etc/udev/rules.d/70-persistent-ipoib.rules
KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",
RESULT=="36000c29dac0c6f0b0dfe59765d22dd66", RUN+="/bin/sh -c 'mknod /dev/asmdisk01 b $major $minor; chown grid:asmadmin /dev/asmdisk01; chmod 0660 /dev/asmdisk01'"
KERNEL=="sd*[!0-9]", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode",
RESULT=="36000c2932bd043b4609be75e9845bf7d", RUN+="/bin/sh -c 'mknod /dev/asmdisk02 b $major $minor; chown grid:asmadmin /dev/asmdisk02; chmod 0660 /dev/asmdisk02'"
配置完成reboot 或者
/sbin/udevadm control --reload-rules
/sbin/udevcontrol reload_rules
/sbin/start_udev
可以用 ll /dev/asm*查看是否绑定成功
修改磁盘属性
#echo deadline >/sys/block/sdb/queue/scheduler
#echo deadline > /sys/block/sdc/queue/scheduler
ORA-00845: MEMORY_TARGET not supported on this system报错解决
修改shm大小(4g)
https://www.linuxidc.com/Linux/2012-12/76976.htm
umount /dev/shm
fuser -km /dev/shm(如果umount报busy多执行几遍)
nano /etc/fstab
tmpfs /dev/shm tmpfs defaults,size=4G 0 0
mount /dev/shm
df -h
修改/etc/systemd/logind.conf里的RemoveIPC为no
nano /etc/systemd/logind.conf
# systemctl daemon-reload
# systemctl restart systemd-logind
配置hosts
[root@rac1 ~]# nano /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
#racnode1
192.168.11.76 rac1
192.168.12.76 rac1-priv
192.168.11.56 rac1-vip
#racnode2
192.168.11.77 rac2
192.168.12.77 rac2-priv
192.168.11.57 rac2-vip
#scan-ip
192.168.11.55 scan-cluster
注意:vip和主IP还有scanIP,要在同一网段
配置CTSS服务、节点SSH等效
CTSS
需要把ntp服务停止和删除配置文件及pid文件
rm -rf /etc/ntpd.conf
rm -rf /var/run/ntpd.pid
配置防火墙
systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld
配置Oracle软件安装用户、组、环境变量、安装目录
#组
groupadd -g 1300 dba
groupadd -g 1301 oper
groupadd -g 4000 oinstall
groupadd -g 1200 asmadmin
groupadd -g 1201 asmdba
groupadd -g 1202 asmoper
#用户
useradd -m -u 1100 -g oinstall -G asmadmin,asmdba,asmoper -s /bin/bash grid
useradd -m -u 1101 -g oinstall -G dba,oper,asmdba -s /bin/bash oracle
配置目录
mkdir -p /u01/app/12.2.0/grid
mkdir -p /u01/app/grid
mkdir -p /u01/app/oracle
chown -R grid:oinstall /u01
chown grid:oinstall /u01/app/12.2.0/grid
chown grid:oinstall /u01/app/grid
chown oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/
修改密码
[root@rac5 ~]# passwd grid
更改用户 grid 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@rac5 ~]# passwd oracle
更改用户 oracle 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@rac5 ~]#
用户环境变量修改home下的 .bash_profile(两个节点)
#su - oracle
#nano .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
#export PATH
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_SID=RAC5
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/db_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
umask 022
#su - grid
nano .bash_profile
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_SID=+ASM5 # RAC1
export ORACLE_SID=+ASM6 # RAC2
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/12.2.0/grid
export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
umask 022
使用grid用户登陆节点一,建立公私钥对:
[grid@ gwjsdl001~]$ ssh-keygen #一直回车即可
[grid@ gwjsdl001~]$ cd ~/.ssh
[grid@ gwjsdl001~]$ cat id_rsa.pub > authorized_keys
2)将.ssh目录复制到所有其它节点上:
[grid@ gwjsdl001~]$ scp -r ~/.ssh gwjsdl002:~/
3)使用grid登陆各个节点,分别在各个节点上验证都能无密码登陆到自己和其它节点:
[grid@ gwjsdl001~]$ ssh gwjsdl0012
[grid@ gwjsdl001~]$ ssh gwjsdl001
[grid@ gwjsdl002~]$ ssh gwjsdl001
[grid@ gwjsdl002~]$ ssh gwjsdl002
配置系统文件
配置oracle、grid用户的shell限制
nano /etc/security/limits.conf
添加
grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
修改/etc/pam.d/login配置文件
nano /etc/pam.d/login
echo "session required /lib64/security/pam_limits.so" >>/etc/pam.d/login
echo "session required pam_limits.so" >>/etc/pam.d/login
修改内核配置文件/etc/sysctl.conf
nano /etc/sysctl.conf
fs.aio-max-nr = 1048576
kernel.shmall = 67108864
kernel.shmmax = 274877906944
kernel.shmmni = 4096
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
net.ipv4.tcp_wmem = 262144 262144 262144
net.ipv4.tcp_rmem = 4194304 4194304 4194304
保存退出后执行 sysctl -p 立即生效。
.修改/etc/profile
cp /etc/profile /etc/profile.bak
nano /etc/profile
在文件最后添加以下内容:
#set oracle rac env
if [ $USER = "ORACLE" ] || [ $USER = "GRID" ];then
if [ $SHELL = "/bin/ksh" ];then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
禁用selinux
nano /etc/selinux/config
编辑文本中的SELINUX=enforcing为SELINUX=disabled
配置NOZEROCONF
nano /etc/sysconfig/network
增加以下内容
NOZEROCONF=yes
安装cvuqdisk
cvuqdisk存于oracle GI安装介质的cv/rpm目录下
export CVUQDISK_GRP=asmadmin
rpm -ivh cvuqdisk-1.0.10-1.rpm
安装cvuqdisk-1.0.9-1.rpm,grid的安装目录RPM下面会有
配置网卡
nano /etc/sysconfig/network-scripts/ifcfg-ens192
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens192
DEVICE=ens192
ONBOOT=yes
PREFIX=24
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPADDR=192.168.11.76
PREFIX=24
GATEWAY=192.168.11.1
DNS1=223.6.6.6
DNS2=202.96.134.133
NM_CONTROLLED=yes
nano /etc/sysconfig/network-scripts/ifcfg-ens160
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
ONBOOT=yes
NM_CONTROLLED=yes
IPADDR=192.168.12.79
PREFIX=24
GATEWAY=192.168.12.1
service network restart
安装Oracle grid(grid账号执行)
安装前可以执行Oracle提供的检查环境工具
./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -fixup -verbose
./runcluvfy.sh stage -post hwos -n rac1,rac2 -verbose ----检查两个节点
./runcluvfy.sh comp ssa -n rac1,rac2 -s /dev/raw/asmdisk01,/dev/raw/asmdisk02
安装必要的软件包
yum install cvuqdisk cvuqdisk glibc-devel ksh gcc-c++ libstdc++-devel compat-libcap1 libaio-devel-0.3.109
libaio-devel-0.3.109-13.el7.x86_64.rpm这个包需要手动下载安装
rpm -ivh libaio-devel-0.3.109-13.el7.x86_64.rpm --nodeps