目录
1、安装准备工作
1.1、配置本地YUM源
mount -t auto /dev/cdrom /mnt
rm -rf /etc/yum.repos.d/
mkdir -p /etc/yum.repos.d/
cat >> /etc/yum.repos.d/CentOS-Media.repo<<EOF
# CentOS-Media.repo
#
# This repo can be used with mounted DVD media, verify the mount point for
# CentOS-7. You can use this repo and yum to install items directly off the
# DVD ISO that we release.
#
# To use this repo, put in your DVD and use it with the other repos too:
# yum --enablerepo=c7-media [command]
#
# or for ONLY the media repo, do this:
#
# yum --disablerepo=\* --enablerepo=c7-media [command]
[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
EOF
yum clean all
yum makecache
1.2、安装rpm依赖包
yum -y install bc gcc gcc-c++ binutils make gdb cmake glibc ksh elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc-devel libaio libaio-devel libXrender libXrender-devel libX11 libXau sysstat libXi libXtst libgcc librdmacm-devel libstdc++ libstdc++-devel libxcb net-tools nfs-utils compat-libcap1 compat-libstdc++ smartmontools targetcli python python-configshell python-rtslib python-six unixODBC unixODBC-devel iscsi-initiator-utils
ls -l compat* elfutils* | awk -v rpmpackage="" '{rpmpackage=$NF" "rpmpackage}END{print "yum -y localinstall "rpmpackage}' | bash
1.3、创建用户
groupadd -g 11001 oinstall
groupadd -g 11002 dba
groupadd -g 11003 oper
groupadd -g 11004 backupdba
groupadd -g 11005 dgdba
groupadd -g 11006 kmdba
groupadd -g 11007 asmdba
groupadd -g 11008 asmoper
groupadd -g 11009 asmadmin
groupadd -g 11010 racdba
useradd -u 11011 -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba,oper oracle
useradd -u 11012 -g oinstall -G asmadmin,asmdba,asmoper,dba grid
1.4、配置host表
cat >>/etc/hosts<<EOF
192.168.33.21 rac19c1
192.168.33.23 rac19c2
192.168.33.22 rac19c1-vip
192.168.33.24 rac19c2-vip
192.168.33.25 rac19c-scan
19.21.68.21 rac19c1-priv
19.21.68.22 rac19c2-priv
EOF
hostnamectl set-hostname rac19c1
hostnamectl set-hostname rac19c2
1.5、禁用NTP
systemctl stop ntpd.service
systemctl disable ntpd.service
mv /etc/ntp.conf /etc/ntp.conf.orig
1.6、创建所需要目录
mkdir -p /u01/app/19.0.0/grid
mkdir -p /u01/app/grid
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oracle/product/19.0.0/db_1
chown -R grid:oinstall /u01/app/grid
chown -R grid:oinstall /u01/app/19.0.0/grid
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/
mkdir -p /u01/app/oraInventory
chown -R grid:oinstall /u01/app/oraInventory
1.7、其它配置:
cat>>/etc/security/limits.d/20-nproc.conf<<EOF
* - nproc 16384
EOF
cat>>/etc/security/limits.conf<<EOF
# End of file
grid soft nproc 16384
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
grid hard stack 32768
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
oracle hard memlock 4194304
oracle soft memlock 4194304
EOF
cat >>/etc/pam.d/login<<EOF
#ORACLE SETTING
session required pam_limits.so
EOF
cat>>/etc/sysctl.conf<<EOF
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 18446744073692774399
kernel.shmmax = 18446744073692774399
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 = 1048576
EOF
停止avahi-daemon服务
systemctl disable avahi-daemon.socket
systemctl disable avahi-daemon.service
ps -ef|grep avahi-daemon
avahi 2674 1 0 18:28 ? 00:00:00 avahi-daemon: running [linux.local]
avahi 2704 2674 0 18:28 ? 00:00:00 avahi-daemon: chroot helper
root 16251 15578 0 18:45 pts/1 00:00:00 grep --color=auto avahi-daemon
[root@rac19c1 ~]# kill -9 2674 2704
[root@rac19c1 ~]# ps -ef|grep avahi-daemon
root 16254 15578 0 18:45 pts/1 00:00:00 grep --color=auto avahi-daemon
cat>>/etc/fstab<<EOF
tmpfs /dev/shm tmpfs defaults,size=8G 0 0
EOF
mount -o remount /dev/shm
编辑network文件
cat >>/etc/sysconfig/network<<EOF
NOZEROCONF=yes
EOF
1.8、关闭防火墙与selinux
systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld
sed -i 's/=enforcing/=disabled/g' /etc/selinux/config
setenforce 0
getenforce
1.9、配置环境变量
cat>>/home/grid/.bash_profile<<EOF
export PATH
export ORACLE_SID=+ASM1;
export ORACLE_BASE=/u01/app/grid;
export ORACLE_HOME=/u01/app/19.0.0/grid;
export NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS";
export PATH=.:\$PATH:\$HOME/bin:\$ORACLE_HOME/bin
export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=\$ORACLE_HOME/JRE:\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib
EOF
cat>>/home/oracle/.bash_profile<<EOF
export PATH
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=\$ORACLE_BASE/product/19.0.0/db_1
export ORACLE_SID=orcl1
export PATH=\$ORACLE_HOME/bin:\$PATH
export LD_LIBRARY_PATH=\$ORACLE_HOME/bin:/bin:/usr/bin:/usr/local/bin
export CLASSPATH=\$ORACLE_HOME/JRE:\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib
EOF
1.10、配置共享磁盘权限
iscsiadm -m discovery -t sendtargets -p 192.168.33.250:3260
iscsiadm -m node --loginall=all
[root@rac19c1 oracle]# /usr/lib/udev/scsi_id -g -u -d /dev/sdb
360003ff44dc75adc8cec9cce0033f402
[root@rac19c1 oracle]# /usr/lib/udev/scsi_id -g -u -d /dev/sdc
360003ff44dc75adc9ba684d395391bae
[root@rac19c1 oracle]#
无多路径
vi /etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL=="sdb", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$name",RESULT=="33000000035230a3a", OWNER="grid", GROUP="asmadmin", MODE="0660"
KERNEL=="sdc", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$name",RESULT=="330000000da136123", OWNER="grid", GROUP="asmadmin", MODE="0660"
[root@rac19c1 dev]# /sbin/partprobe
[root@rac19c1 oracle]# systemctl restart systemd-udev-trigger.service
[root@rac19c1 dev]# ll |grep asm
brw-rw----. 1 grid asmadmin 8, 16 Mar 18 18:51 sdb
brw-rw----. 1 grid asmadmin 8, 32 Mar 18 18:51 sdc
多路径配置
[root@rac19c1 dev]# vi /etc/multipath.conf
multipaths {
multipath {
wwid 360003ff44dc75adc8cec9cce0033f402
alias crs1
}
multipath {
wwid 360003ff44dc75adc9ba684d395391bae
alias data1
}
}
[root@rac19c2 dev]# cat /etc/udev/rules.d/12-dm-permissions.rules
ENV{DM_NAME}=="crs1",OWNER:="grid",GROUP:="asmadmin",MODE:="660",SYMLINK+="mapper/$env{DM_NAME}"
ENV{DM_NAME}=="data1",OWNER:="grid",GROUP:="asmadmin",MODE:="660",SYMLINK+="mapper/$env{DM_NAME}"
[root@rac19c1 Packages]# systemctl start multipathd.service
[root@rac19c1 Packages]# multipath -ll
crs1 (360003ff44dc75adc8cec9cce0033f402) dm-3 MSFT ,Virtual HD
size=30G features='0' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=1 status=active
`- 1:0:0:0 sdb 8:16 active ready running
data1 (360003ff44dc75adc9ba684d395391bae) dm-4 MSFT ,Virtual HD
size=25G features='0' hwhandler='0' wp=rw
`-+- policy='service-time 0' prio=1 status=active
`- 1:0:0:1 sdc 8:32 active re