到https://www.oracle.com/cn/database/technologies/oracle19c-linux-downloads.html里下载LINUX.X64_193000_db_home.zip和LINUX.X64_193000_grid_home.zip

使用VM安装RAC双结点,所以要两台虚拟机。

注意:安装linux虚拟机时多装一个网络适配器。

其中一个结点安装图形界面,另一个不用。(因为是用图形化安装的。没有工具的可以先安装图形界面,复制粘贴比较方便)

#下面是2*2的表格,因显示问题只能看到一结点,用鼠标点击一下,然后按键盘向右方向键即可看到二结点)

一结点:

二结点

一、准备工作

1、修改主机名(个人看着比较顺眼):


cat>/etc/hostname<<EOF
RedHat01
EOF


2、修改hosts文件:


cat>>/etc/hosts<<EOF
192.168.2.201 RedHat01
192.168.2.202 RedHat02
192.168.2.203 RedHat01-VIP
192.168.2.204 RedHat02-VIP
192.168.2.205 RedHat-SCAN
192.168.26.211 RedHat01-PRIV
192.168.26.212 RedHat02-PRIV
EOF


3、修改network网络文件:


cat>>/etc/sysconfig/network<<EOF
NETWORKING=yes
HOSTNAME=RedHat01
NOZEROCONF=yes
EOF


4、修改网卡配置文件:

(固定IP,因为个人是通过SCP传输文件,在主机上写好了HOSTS,方便)


#修改ifcfg-ens33
sed -i 's#BOOTPROTO="dhcp"#BOOTPROTO="static"#g' /etc/sysconfig/network-scripts/ifcfg-ens33
sed -i 's#ONBOOT="no"#ONBOOT="yes"#g' /etc/sysconfig/network-scripts/ifcfg-ens33
#添加第一个节点的网卡配置信息(公共)
cat>>/etc/sysconfig/network-scripts/ifcfg-ens33<<EOF
IPADDR="192.168.2.201"
GATEWAY="192.168.2.1"
NETMASK="255.255.255.0"
EOF
#修改ifcfg-ens34
sed -i 's#BOOTPROTO=dhcp#BOOTPROTO=static#g' /etc/sysconfig/network-scripts/ifcfg-ens34
sed -i 's#ONBOOT=no#ONBOOT=yes#g' /etc/sysconfig/network-scripts/ifcfg-ens34
#添加(私有)
cat>>/etc/sysconfig/network-scripts/ifcfg-ens34<<EOF
IPADDR="192.168.26.211"
NETMASK="255.255.255.0"
EOF


5、重启网络服务(可使用ifconfig | grep inet查看)


service network restart


6、配置本地yum源 

(0)虚拟机=>设置=>CD/DVD(SATA)

(1)勾选  已连接

(2)使用ISO映像文件,浏览选择安装虚拟机时的 .iso 文件

(3)挂载光盘:


mount /dev/cdrom /mnt/


(4)创建yum目录:


mkdir -p /u01/soft/yum


(5)拷贝/mnt/目录的所有文件到yum目录中(使用jobs命令查看进程是否完成):


nohup cp -R /mnt/* /u01/soft/yum &


(6)指定yum源位置:


cat>>/etc/yum.repos.d/local.repo<<EOF
[base]
name=linux 7
baseurl=file:///u01/soft/yum
gpgcheck=0
enable=1
EOF


(7)清除并重建缓存:


yum clean all
yum makecache


7、安装图形界面(需要配置好yum源,即上一步)


yum grouplist #列出程序组
yum -y groupinstall "Server with GUI"     #安装程序组
startx      #启动图形界面


 8、安装补丁包


yum -y install targetcli
yum -y install libstdc++-devel
yum -y install libXrender-devel
yum -y install nfs-utils
yum -y install libaio-devel
yum -y install ksh
yum -y install fontconfig-devel
yum -y install elfutils-libelf-devel
yum -y install compat-libcap1
yum -y install gcc-c++


 

二、数据库安装的准备工作

 

1、创建OS属主、用户、数据库安装位置

(1)创建属主


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


 

(2)创建用户


useradd -u 11011  -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba,oper oracle
useradd -u 11012 -g oinstall -G asmadmin,asmdba,asmoper,dba,racdba grid
  #设置密码
passwd grid
passwd oracle


 

(3)修改用户资源限制


cat>>/etc/security/limits.conf<<EOF
grid   soft nproc   4096    
grid   hard nproc   16384    
grid   soft nofile   2047    
grid   hard nofile   65536    
grid   soft stack   10240    
grid   hard stack   32768    
       
oracle   soft nproc   4096    
oracle   hard nproc   16384    
oracle   soft nofile   1024    
oracle   hard nofile   65536    
oracle   soft stack   10240    
oracle   hard stack   32768    
       
grid   soft memlock   1073741824    
grid   hard memlock   1073741824    
oracle   soft memlock   1073741824    
oracle   hard memlock   1073741824    
EOF


 

(4)创建相关目录及授权


mkdir -p /u01/app/db/19.3
mkdir -p /u01/app/db/product/19.3/db_1
mkdir -p /u01/app/grid/crs
mkdir -p /u01/app/grid/19.3
chown -R grid:oinstall /u01
chmod -R 775 /u01/app
chown -R grid:oinstall /u01/app/grid
chown -R oracle:oinstall /u01/app/db
chmod -R 775 /u01/app/db
chmod -R 775 /u01/app/grid


 

2、设置环境变量

(1)grid用户环境变量的设置及生效(个人虚拟机喜欢使用root用户,所以在root用户下也设置)


su - grid

cat>>~/.bash_profile<<EOF

ORACLE_SID=+ASM1; export ORACLE_SID
#ORACLE_TERM=xterm; export ORACLE_TERM
ORACLE_BASE=/u01/app/grid/crs; export ORACLE_BASE
ORACLE_HOME=/u01/app/grid/19.3; export ORACLE_HOME
NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"; export NLS_DATE_FORMAT
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


source ~/.bash_profile


 

(2)oracle用户环境变量的设置及生效


su - oracle

cat>>~/.bash_profile<<EOF

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
ORACLE_BASE=/u01/app/db; export ORACLE_BASE
ORACLE_HOME=\$ORACLE_BASE/product/19.3/db_1; export ORACLE_HOME
ORACLE_SID=TESTDB1; export ORACLE_SID

PATH=.:\$PATH:$HOME/bin:\$ORACLE_HOME/bin; export PATH
export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=\$ORACLE_HOME/JRE:\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib

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
#alias sqlplus='rlwrap sqlplus'
#alias rman='rlwrap rman'
#alias lsnrctl='rlwrap lsnrctl'

EOF

source ~/.bash_profile


 

3、解压安装包

(要求Grid用户在$ORACLE_HOME解压LINUX.X64_193000_grid_home.zip,oracle用户在$ORACLE_HOME解压LINUX.X64_193000_db_home.zip)

(1)获取安装包及授权

 (想办法把安装包和缺失包放到虚拟机,个人使用的是scp)

scp d:\19c\LINUX* root@RedHat01:\u01\soft

scp d:\19d\compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm root@RedHat01:\u01\soft

(2)修改安装包属主


chown -R grid:oinstall /u01/soft/LINUX.X64_193000_grid_home.zip
chown -R oracle:oinstall /u01/soft/LINUX.X64_193000_db_home.zip


 

(3)解压Grid


su - grid
nohup cp /u01/soft/LINUX.X64_193000_grid_home.zip $ORACLE_HOME &
nohup unzip $ORACLE_HOME/LINUX.X64_193000_grid_home.zip -d $ORACLE_HOME/ &


 

(4)补全包


logout
rpm -ivh /u01/soft/compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
rpm -ivh $ORACLE_HOME/cv/rpm/cvuqdisk-1.0.10-1.rpm


 

(5)解压Oracle


su - oracle 
nohup cp /u01/soft/LINUX.X64_193000_db_home.zip $ORACLE_HOME/ &
nohup unzip $ORACLE_HOME/LINUX.X64_193000_db_home.zip -d $ORACLE_HOME &


 

4、创建ASM共享存储

(1)创建共享磁盘

i.关机(关机前看一下 下面的5=>(7)=>ii)


shutdown -h now


 

ii.添加三个共享硬盘并设置独立永久(添加三个是因为下面脚本写了三个,这里要记住共享硬盘所在位置,不会添加的上网搜一下)

iii.修改虚拟机配置文件(个人文件所在位置参考:F:\Virtual Machines\RedHat\RedHat01.vmx)

打开.vmx文件添加以下内容


disk.locking = "FALSE"
disk.EnableUUID = "TRUE"
scsi1.sharedBus = "VIRTUAL"   
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.dataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"
scsi0:1.deviceType = "disk"
scsi0:2.deviceType = "disk"
scsi0:3.deviceType = "disk"


 

(2)设置自动挂载

i.打开虚拟机

ii.检查磁盘是否添加成功


/usr/lib/udev/scsi_id -g -u -d /dev/sdb
/usr/lib/udev/scsi_id -g -u -d /dev/sdc
/usr/lib/udev/scsi_id -g -u -d /dev/sdd


 

iii.自动挂载ASM存储设置


for i in b c d ;
do
echo "KERNEL==\"sd$i\", SUBSYSTEM==\"block\", PROGRAM==\"/usr/lib/udev/scsi_id -g -u -d /dev/\$name\", RESULT==\"`/usr/lib/udev/scsi_id -g -u -d /dev/sd\$i`\", SYMLINK+=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\"" >> /etc/udev/rules.d/99-oracle-asmdevices.rules
done


 

iv.重启udev使ASM存储设备生效


systemctl restart systemd-udev-trigger.service
udevadm control --reload-rules
udevadm trigger


 

v.检查ASM存储设备


ls -l /dev/asm*


 

5、其他

(1)添加系统参数文件配置


cat>>/etc/sysctl.conf<<EOF

vm.swappiness = 1
vm.dirty_background_ratio = 3
vm.dirty_ratio = 80
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
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
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.panic_on_oops = 1
# net.ipv4.conf.ens33.rp_filter = 2
# net.ipv4.conf.ens34.rp_filter = 2

EOF

sysctl -p /etc/sysctl.conf


 

(2)限制


cat>>/etc/security/limits.d/99-grid-oracle-limits.conf<<EOF

oracle soft nproc 16384
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
grid soft nproc 16384
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
grid hard stack 32768

EOF


 

(3)停止avahi-daemon服务


systemctl stop avahi-daemon.socket
systemctl stop avahi-daemon.service
systemctl disable avahi-daemon.socket
systemctl disable avahi-daemon.service


 

(4)关闭chrony服务


systemctl stop chronyd
systemctl disable chronyd
mv /etc/chrony.conf /etc/chrony.conf.bak
systemctl status chronyd


 

(5)添加防火墙白名单


firewall-cmd --permanent --zone=trusted --add-source=192.168.2.201
firewall-cmd --permanent --zone=trusted --add-source=192.168.2.202
firewall-cmd --permanent --zone=trusted --add-source=192.168.2.203
firewall-cmd --permanent --zone=trusted --add-source=192.168.2.204
firewall-cmd --permanent --zone=trusted --add-source=192.168.2.205
firewall-cmd --permanent --zone=trusted --add-source=192.168.26.211
firewall-cmd --permanent --zone=trusted --add-source=192.168.26.212
firewall-cmd --permanent --zone=trusted --add-source=169.254.0.0/16
firewall-cmd --reload


 

(6)修改Selinux


setenforce 0
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux


 

(7)检测/dev/shm(所说起码要2G以上,不过一般内存有多大就给分多大)

i.检查


df -h


 

查看tmpfs挂载的/dev/shm那行的大小,

ii.修改

个人内存大小为6G因此直接挂6G(该文件重启生效,需要在root用户下修改)


cat>>/etc/fstab<<EOF
tmpfs                      /dev/shm          tmpfs      defaults,size=6G 0 0
EOF


 

 (8)配置SSH互信(该步骤需要两个结点都处于打开状态)


su - grid
mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa(这里要按几下回车)
ssh-keygen -t dsa(这里也要按几下回车)
cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys
cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys

####以下步骤需要两个结点同时打开
ssh RedHat02 cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys
ssh RedHat02 cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys RedHat02:~/.ssh/authorized_keys

##检查当前结点和RedHat02的时间是否一致,如果不一致,需要修改为一致,不会的搜一下ntp
date
ssh RedHat02 date


 

 (9)缺失包通过scp发送到RedHat02


scp /u01/soft/compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm  root@RedHat02:/u01/soft
##需要密码

scp $ORACLE_HOME/cv/rpm/cvuqdisk-1.0.10-1.rpm root@RedHat02:/u01/soft


 

三、数据库服务器的安装

 允许其他用户打开图形界面(需要在root用户执行)


xhost +


1、grid安装

(1)在grid用户启动图形界面安装程序


su - grid
export DISPLAY=:0.0
sh $ORACLE_HOME/gridSetup.sh


(2)安装oracle grid 19c

i.Configuration Option


Configure Oracle Grid Infrastructure for a New Cluster


 

ii.Cluster Configuration


Configure an Oracle Standalone Cluster


 

iii.Grid Plug and Play


修改SCAN NAME名字为hosts设置的那个
RedHat-SCAN


 

iv.Cluster Node Information


#先添加二结点,点击Add,把提前规划好的hostname写上去(在hosts文件里的那些)
选择 Add a single node
Public Hostname : RedHat02
Virtual Hostname : RedHat02-VIP

#添加完后测试SSH,点击SSH connectivity...
写上密码
这里一般点test,但我个人电脑test不行,于是我直接点Setup,然后再test,成功了。然后下一步。


v.Network Interface Usage


ens34选择ASM & Private
vi.Storage Option
vii.Create Grid Infrastructure Management Repository
viii.Create ASM Disk Group
ix.ASM Password
x.Failure Isolation
xi.Management Options
xii.Operating System Groups
xiii.Installation Location
xiv.Create Inventory
xv.Root script execution
xvi.Prerequisite Checks
xvii.Summary
xviii.Install Product
32%时会有两个脚本,先在local结点跑,然后再到另一结点跑。
按说明来就行。

100%时,不出意外的话,要出意外了,我有两个失败的:
Configure Oracle Grid Infrastructure for a Cluster    #失败
Oracle Cluster verification Utility             #失败
不过没管,直接下一步。


xix.Finish


Close


 

 

 

 

一、准备工作

1、修改主机名(个人看着比较顺眼)


cat>/etc/hostname<<EOF
RedHat02
EOF


2、修改hosts文件:


cat>>/etc/hosts<<EOF
192.168.2.201 RedHat01
192.168.2.202 RedHat02
192.168.2.203 RedHat01-VIP
192.168.2.204 RedHat02-VIP
192.168.2.205 RedHat-SCAN
192.168.26.211 RedHat01-PRIV
192.168.26.212 RedHat02-PRIV
EOF


3、修改network网络文件:


cat>>/etc/sysconfig/network<<EOF
NETWORKING=yes
HOSTNAME=RedHat02
NOZEROCONF=yes
EOF


4、修改网卡配置文件:

(固定IP,因为个人是通过SCP传输文件,在主机上写好了HOSTS,方便)


#修改ifcfg-ens33
sed -i 's#BOOTPROTO="dhcp"#BOOTPROTO="static"#g' /etc/sysconfig/network-scripts/ifcfg-ens33
sed -i 's#ONBOOT="no"#ONBOOT="yes"#g' /etc/sysconfig/network-scripts/ifcfg-ens33
#添加第二个节点的网卡配置信息(公共)
cat>>/etc/sysconfig/network-scripts/ifcfg-ens33<<EOF
IPADDR="192.168.2.202"
GATEWAY="192.168.2.1"
NETMASK="255.255.255.0"
EOF
#修改ifcfg-ens34
sed -i 's#BOOTPROTO=dhcp#BOOTPROTO=static#g' /etc/sysconfig/network-scripts/ifcfg-ens34
sed -i 's#ONBOOT=no#ONBOOT=yes#g' /etc/sysconfig/network-scripts/ifcfg-ens34
#添加(私有)
cat>>/etc/sysconfig/network-scripts/ifcfg-ens34<<EOF
IPADDR="192.168.26.212"
NETMASK="255.255.255.0"
EOF


5、重启网络服务(可使用ifconfig | grep inet查看)


service network restart


6、配置本地yum源 

(0)虚拟机=>设置=>CD/DVD(SATA)

(1)勾选  已连接

(2)使用ISO映像文件,浏览选择安装虚拟机时的 .iso 文件

(3)挂载光盘:


mount /dev/cdrom /mnt/


(4)创建yum目录:


mkdir -p /u01/soft/yum


(5)拷贝/mnt/目录的所有文件到yum目录中(使用jobs命令查看进程是否完成):


nohup cp -R /mnt/* /u01/soft/yum &


(6)指定yum源位置:


cat>>/etc/yum.repos.d/local.repo<<EOF
[base]
name=linux 7
baseurl=file:///u01/soft/yum
gpgcheck=0
enable=1
EOF


(7)清除并重建缓存:


yum clean all
yum makecache


7、无需安装图形界面


####二结点不用安装图形界面。
####想安装的话。
####按照一结点的来就行了。


8、安装补丁包


yum -y install targetcli
yum -y install libstdc++-devel
yum -y install libXrender-devel
yum -y install nfs-utils
yum -y install libaio-devel
yum -y install ksh
yum -y install fontconfig-devel
yum -y install elfutils-libelf-devel
yum -y install compat-libcap1
yum -y install gcc-c++


 

二、数据库安装的准备工作

 

1、创建OS属主、用户、数据库安装位置

(1)创建属主


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


 

(2)创建用户


useradd -u 11011  -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba,oper oracle
useradd -u 11012 -g oinstall -G asmadmin,asmdba,asmoper,dba,racdba grid
  #设置密码
passwd grid
passwd oracle


 

(3)修改用户资源限制


cat>>/etc/security/limits.conf<<EOF
grid   soft nproc   4096    
grid   hard nproc   16384    
grid   soft nofile   2047    
grid   hard nofile   65536    
grid   soft stack   10240    
grid   hard stack   32768    
       
oracle   soft nproc   4096    
oracle   hard nproc   16384    
oracle   soft nofile   1024    
oracle   hard nofile   65536    
oracle   soft stack   10240    
oracle   hard stack   32768    
       
grid   soft memlock   1073741824    
grid   hard memlock   1073741824    
oracle   soft memlock   1073741824    
oracle   hard memlock   1073741824    
EOF


 

(4)创建相关目录及授权


mkdir -p /u01/app/db/19.3
mkdir -p /u01/app/db/product/19.3/db_1
mkdir -p /u01/app/grid/crs
mkdir -p /u01/app/grid/19.3
chown -R grid:oinstall /u01
chmod -R 775 /u01/app
chown -R grid:oinstall /u01/app/grid
chown -R oracle:oinstall /u01/app/db
chmod -R 775 /u01/app/db
chmod -R 775 /u01/app/grid


 

2、设置环境变量

(1)grid用户环境变量的设置及生效(个人虚拟机喜欢使用root用户,所以在root用户下也设置)


su - grid

cat>>~/.bash_profile<<EOF

ORACLE_SID=+ASM2; export ORACLE_SID
#ORACLE_TERM=xterm; export ORACLE_TERM
ORACLE_BASE=/u01/app/grid/crs; export ORACLE_BASE
ORACLE_HOME=/u01/app/grid/19.3; export ORACLE_HOME
NLS_DATE_FORMAT="yyyy-mm-dd HH24:MI:SS"; export NLS_DATE_FORMAT
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


source ~/.bash_profile


 

(2)oracle用户环境变量的设置及生效


su - oracle

cat>>~/.bash_profile<<EOF

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
ORACLE_BASE=/u01/app/db; export ORACLE_BASE
ORACLE_HOME=\$ORACLE_BASE/product/19.3/db_1; export ORACLE_HOME
ORACLE_SID=TESTDB2; export ORACLE_SID

PATH=.:\$PATH:$HOME/bin:\$ORACLE_HOME/bin; export PATH
export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=\$ORACLE_HOME/JRE:\$ORACLE_HOME/jlib:\$ORACLE_HOME/rdbms/jlib

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
#alias sqlplus='rlwrap sqlplus'
#alias rman='rlwrap rman'
#alias lsnrctl='rlwrap lsnrctl'

EOF

source ~/.bash_profile


 

3、二结点没这一步

 

 

 

 

 

 


#
#


 

 


#
#
#


 

 


#
#
#


 

 


#
#
#


 

4、创建ASM共享存储

(1)创建共享磁盘

i.关机(关机前看一下 下面的5=>(6)=>ii)


shutdown -h now


 

ii.这里不用添加硬盘,因为一结点的时候已经添加了,记住所在位置(或者查看RedHat01.vmx文件),修改下面fileName,一一对应。

iii.修改虚拟机配置文件(个人文件所在位置参考:F:\Virtual Machines\RedHat\RedHat01.vmx)

打开.vmx文件添加以下内容


scsi0:3.fileName = "F:\Virtual Machines\RAC1\disk03.vmdk"
scsi0:3.mode = "independent-persistent"
scsi0:3.present = "TRUE"
scsi0:2.fileName = "F:\Virtual Machines\RAC1\disk02.vmdk"
scsi0:2.mode = "independent-persistent"
scsi0:2.present = "TRUE"
scsi0:1.fileName = "F:\Virtual Machines\RAC1\disk01.vmdk"
scsi0:1.mode = "independent-persistent"
scsi0:1.present = "TRUE"
scsi0:1.redo = ""
scsi0:2.redo = ""
scsi0:3.redo = ""


disk.locking = "FALSE"
disk.EnableUUID = "TRUE"
scsi1.sharedBus = "VIRTUAL"   
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.dataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"
scsi0:1.deviceType = "disk"
scsi0:2.deviceType = "disk"
scsi0:3.deviceType = "disk"


 

(2)设置自动挂载

i.打开虚拟机

ii.检查磁盘是否添加成功


/usr/lib/udev/scsi_id -g -u -d /dev/sdb
/usr/lib/udev/scsi_id -g -u -d /dev/sdc
/usr/lib/udev/scsi_id -g -u -d /dev/sdd


 

iii.自动挂载ASM存储设置


for i in b c d ;
do
echo "KERNEL==\"sd$i\", SUBSYSTEM==\"block\", PROGRAM==\"/usr/lib/udev/scsi_id -g -u -d /dev/\$name\", RESULT==\"`/usr/lib/udev/scsi_id -g -u -d /dev/sd\$i`\", SYMLINK+=\"asm-disk$i\", OWNER=\"grid\", GROUP=\"asmadmin\", MODE=\"0660\"" >> /etc/udev/rules.d/99-oracle-asmdevices.rules
done


 

iv.重启udev使ASM存储设备生效


systemctl restart systemd-udev-trigger.service
udevadm control --reload-rules
udevadm trigger


 

v.检查ASM存储设备


ls -l /dev/asm*


 

5、其他

(1)添加系统参数文件配置


cat>>/etc/sysctl.conf<<EOF

vm.swappiness = 1
vm.dirty_background_ratio = 3
vm.dirty_ratio = 80
vm.dirty_expire_centisecs = 500
vm.dirty_writeback_centisecs = 100
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
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
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.panic_on_oops = 1
# net.ipv4.conf.ens33.rp_filter = 2
# net.ipv4.conf.ens34.rp_filter = 2

EOF

sysctl -p /etc/sysctl.conf


 

(2)限制


cat>>/etc/security/limits.d/99-grid-oracle-limits.conf<<EOF

oracle soft nproc 16384
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
grid soft nproc 16384
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
grid soft stack 10240
grid hard stack 32768

EOF


 

(3)停止avahi-daemon服务


systemctl stop avahi-daemon.socket
systemctl stop avahi-daemon.service
systemctl disable avahi-daemon.socket
systemctl disable avahi-daemon.service


 

(4)关闭chrony服务


systemctl stop chronyd
systemctl disable chronyd
mv /etc/chrony.conf /etc/chrony.conf.bak
systemctl status chronyd


 

(5)添加防火墙白名单


firewall-cmd --permanent --zone=trusted --add-source=192.168.2.201
firewall-cmd --permanent --zone=trusted --add-source=192.168.2.202
firewall-cmd --permanent --zone=trusted --add-source=192.168.2.203
firewall-cmd --permanent --zone=trusted --add-source=192.168.2.204
firewall-cmd --permanent --zone=trusted --add-source=192.168.2.205
firewall-cmd --permanent --zone=trusted --add-source=192.168.26.211
firewall-cmd --permanent --zone=trusted --add-source=192.168.26.212
firewall-cmd --permanent --zone=trusted --add-source=169.254.0.0/16
firewall-cmd --reload


 

(5)修改Selinux


setenforce 0
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux


 

(6)检测/dev/shm(所说起码要2G以上,不过一般内存有多大就给分多大)

i.检查


df -h


 

查看tmpfs挂载的/dev/shm那行的大小,

ii.修改

个人内存大小为6G因此直接挂6G(该文件重启生效,需要在root用户下修改)


cat>>/etc/fstab<<EOF
tmpfs                      /dev/shm          tmpfs      defaults,size=6G 0 0
EOF


 

 

(7)配置SSH互信


su - grid
mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa(这里要按几下回车)
ssh-keygen -t dsa(这里也要按几下回车)
cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys
cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys


 

(9)安装缺失包


###需要在root用户下操作
rpm -ivh /u01/soft/compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
rpm -ivh /u01/soft/cvuqdisk-1.0.10-1.rpm


 

三、数据库服务器的安装

等待一结点