原集群:
oracle11.2.0.4    linux6.8     双节点,rac1、rac2

/etc/hosts信息:
192.168.174.121  rac1
192.168.174.122  rac2
192.168.160.121 rac1priv
192.168.160.122  rac2priv
192.168.174.123  rac1vip
192.168.174.124  rac2vip
192.168.174.125 racscanip

GRID:
$ORACLE_BASE:/u01/app/grid
$ORACLE_HOME:/u01/grid/11.2.0.4/

ORACLE:
$ORACLE_BASE:/u01/app/oracle
$ORACLE_HOME:/u01/app/oracle/product/11.2.0.4/db_1

新主机:
oracle11.2.0.4   linux6.8   节点:rac3
ip:192.168.174.126    
vip:192.168.174.127
private ip:192.168.160.126

GRID:
$ORACLE_BASE:/u01/app/grid
$ORACLE_HOME:/u01/grid/11.2.0.4/

ORACLE:
$ORACLE_BASE:/u01/app/oracle
$ORACLE_HOME:/u01/app/oracle/product/11.2.0.4/db_1

基本步骤为
节点3的OS配置-->添加 GI-->安装 oracle 软件-->添加实例

1.节点3的OS 配置

需要和之前集群的两个节点的配置相同,这里使用虚拟机测试,直接拷贝节点1的快照,删除无用信息,重新备库。

1.1、配置yum源

mount  /dev/sr0 /mnt

cd /etc/yum.repos.d/
rm -rf *

vi /etc/yum.repos.d/ol.repo   --rehat6以上
[local-source]
name=ol
baseurl=file:///mnt/
ebabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle

设置开机自动挂载:
vi /etc/fstab
/dev/sr0 /mnt iso9660 defaults 0 0

安装rpm依赖包
yum install binutils compat-libstdc++-33 compat-libstdc++-296 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers libaio libaio-devel libgcc libstdc++ libstdc++-devel make openmotif sysstat unixODBC unixODBC-devel compat-libcap1 ksh -y
yum install -y xterm

1.2、创建用户、组、目录

groupadd -g 1000 oinstall
groupadd -g 1001 dba
groupadd -g 1002 asmadmin
groupadd -g 1003 asmdba
groupadd -g 1004 asmoper
useradd -u 1100 -g oinstall -G asmadmin,asmdba,asmoper,dba grid
useradd -u 1101 -g oinstall -G dba,asmdba,asmadmin,asmoper oracle

passwd grid
passwd oracle

mkdir -p  /u01/app/11.2.0.4/grid
mkdir -p  /u01/app/grid
mkdir -p  /u01/grid/11.2.0.4/
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01
chown -R grid:oinstall /u01/grid
chmod -R 775 /u01/

1.3、配置系统文件

--/etc/security/limits.conf 是 Linux 资源使用配置文件,用来限制用户对系统资源的使用 
--https://www.cnblogs.com/pzk7788/p/7250723.html

vi /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

vi /etc/pam.d/login添加:
session required pam_limits.so

以下是生产正式环境中用的
mv /etc/sysctl.conf /etc/sysctl.conf.bak
vi /etc/sysctl.conf
节点1:
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
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
kernel.shmall = 33030144
kernel.shmmax = 81174881894
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.aio-max-nr=3145728

配置生效,在全部节点操作
sysctl -p

vi /etc/profile添加:
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

1.4、禁用SELinux、iptable

建议禁用此功能。
vi /etc/selinux/config
SELINUX=disabled
需要重启。

service iptables stop
chkconfig iptables off

1.5、停止ntp服务和删除配置文件及pid文件(看情况配置)

service ntpd stop
chkconfig ntpd off
rm -rf /etc/ntpd.conf 
rm -rf /var/run/ntpd.pid

1.6、oracle、grid用户环境变量配置

vi ~/.bash_profile  编辑后source ~/.bash_profile
export TMP=/tmp 
export TMPDIR=$TMP 
export ORACLE_SID=racdb3   #节点1的配置
export ORACLE_BASE=/u01/app/oracle 
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/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
export NLS_LANG=AMERICAN_AMERICA.UTF8

grid用户,2个节点上配置:
vi ~/.bash_profile  编辑后source ~/.bash_profile
export TMP=/tmp 
export TMPDIR=$TMP 
export ORACLE_SID=+ASM3   #节点1的配置
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/grid/11.2.0.4/
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
export NLS_LANG=AMERICAN_AMERICA.UTF8

1.7修改主机名

vi /etc/sysconfig/network

HOSTNAME=rac3
hostname rac3

1.8 /etc/hosts配置

192.168.174.121  rac1
192.168.174.122  rac2
192.168.160.121 rac1priv
192.168.160.122  rac2priv
192.168.174.123  rac1vip
192.168.174.124  rac2vip
192.168.174.125 racscanip

192.168.174.126  rac3
192.168.174.127  rac3vip
192.168.160.126  rac3priv

1.9、节点3配置IP地址

配置 IP 地址主要是配置 2 个文件:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
vi /etc/udev/rules.d/70-persistent-net.rules
如果重启后网络还是不能连接,那么可以尝试以下步骤:
1 删除文件/etc/udev/rules.d/70-persistent-net.rules
2 将/etc/sysconfig/network-scripts/ifcfg-eth1 中的 HWADDR 行删除,或注释掉
3 关闭虚拟机
4 将 2 块网卡都删除,并且删除虚拟机配置文件(RHEL_LHR.vmx)中的以 ethernet 开头的所有项目
5 然后重新添加网卡,重新手动去生成 MAC 地址。
6 重启 OS

1.10、配置共享磁盘

节点1和节点2使用multipath+udev多路径,所以节点3也使用此方法。
操作方法详情见:
http://www.821121.com/?p=1036

1.11、 配置互信

下面两条命令以 root 用户在节点 1 上执行即可:
配置 oracle 和 grid 用户的互信:
cd /u01/grid/sshsetup

./sshUserSetup.sh -user grid -hosts "rac1 rac2 rac3" -advanced -noPromptPassphrase
./sshUserSetup.sh -user oracle -hosts "rac1 rac2 rac3" -advanced -noPromptPassphrase

输入 yes 及密码一路回车即可。

以 oracle 和 grid 用户在 2 个节点上都测试两节点连通性:
ssh lhr-11gR2-rac1 date
ssh lhr-11gR2-rac2 date
ssh lhr-11gR2-rac3 date

第二次执行时不再提示输入口令,并且可以成功执行命令,则表示 SSH 对等性配置成功

1.12互信建立完成后,安装rpm包。

在节点1 grid安装目录下的rpm目录下有cvuqdisk-1.0.9-1.rpm的安装包。
cd /u01/grid/rpm
rpm -ivh cvuqdisk-1.0.9-1.rpm

拷贝cvuqdisk-1.0.9-1.rpm到节点3
scp cvuqdisk-1.0.9-1.rpm 192.168.174.126:/tmp/

节点3安装
cd /u01/
rpm -ivh cvuqdisk-1.0.9-1.rpm 

1.13 添加节点前的预检验

cd /u01/grid
在节点 1 上以 grid 用户校验新节点的硬件和 OS 配置是否正确:
./runcluvfy.sh stage -post hwos -n rac3
在节点 1 上以 grid 用户校验新节点是否满足安装 GRID 的条件:
./runcluvfy.sh stage -pre crsinst -n rac3
在节点 1 上以 grid 用户校验新节点是否满足添加的条件:
./runcluvfy.sh stage -pre nodeadd -n rac3 -fixup -verbose

Related Posts