安装Oracle RAC

前置条件

  • 至少2台host
  • 每台host配置2块网卡,1公有1私有,2块网卡分别配置固定ip
  • 每台host至少3个共享盘
  • 每块共享盘至少60G
  • 安排至少3个virtual ip在公有网段中
  • host需提供vnx界面或者x11 forward功能
  • 需要一台网络与oracle rac host相通的Windows跳板机,并安装xming

适用范围

  • Oracle RAC 11g, 12c, 18c, 19c
  • Linux

具体步骤及命令

2台节点均操作:新建用户

/usr/sbin/groupadd -g 501 oinstall
/usr/sbin/groupadd -g 502 dba
/usr/sbin/groupadd -g 504 asmadmin
/usr/sbin/groupadd -g 506 asmdba
/usr/sbin/groupadd -g 507 asmoper
/usr/sbin/useradd -u 5001 -g oinstall -G dba,asmadmin,asmdba,asmoper grid
/usr/sbin/useradd -u 5002 -g oinstall -G dba,asmdba oracle

2台节点均操作: 设定用户密码

passwd grid
passwd oracle

2台节点均操作: 配置域名解析为本地优先

[root@testhost228192 ~]# cat /etc/nsswitch.conf | grep hosts
#hosts: db files nisplus nis dns
hosts: files dns

2台节点均操作: 配置域名解析

echo 10.108.228.190 testhost228190 >> /etc/hosts
echo 10.108.228.158 testhost228158 >> /etc/hosts
echo 10.108.228.140 SCAN140 >> /etc/hosts
echo 10.108.228.141 testhost228190-vip >> /etc/hosts
echo 10.108.228.142 testhost228158-vip >> /etc/hosts
echo 10.11.12.190 testhost228190-priv >> /etc/hosts
echo 10.11.12.158 testhost228158-priv >> /etc/hosts
cat /etc/hosts

2台节点均操作: 配置系统参数

cp /etc/sysctl.conf /etc/sysctl.conf.bak
echo “#Oracle Parameter” >> /etc/sysctl.conf
echo kernel.shmmni = 4096 >> /etc/sysctl.conf
echo kernel.sem = 250 32000 100 128 >> /etc/sysctl.conf
echo fs.file-max = 6815744 >> /etc/sysctl.conf
echo fs.aio-max-nr = 1048576 >> /etc/sysctl.conf
echo net.ipv4.ip_local_port_range = 9000 65500 >> /etc/sysctl.conf
echo net.core.rmem_default = 262144 >> /etc/sysctl.conf
echo net.core.rmem_max = 4194304 >> /etc/sysctl.conf
echo net.core.wmem_default = 262144 >> /etc/sysctl.conf
echo net.core.wmem_max = 1048576 >> /etc/sysctl.conf
echo “kernel.shmmax = 33657890820” >> /etc/sysctl.conf
echo “kernel.shmall = 6595019” >> /etc/sysctl.conf
echo “kernel.panic_on_oops = 1” >> /etc/sysctl.conf
cat /etc/sysctl.conf

sysctl -p

cp /etc/security/limits.conf /etc/security/limits.conf.bak
echo “#Oracle Parameter” >> /etc/security/limits.conf
echo grid soft nproc 2047 >> /etc/security/limits.conf
echo grid hard nproc 16384 >> /etc/security/limits.conf
echo grid soft nofile 1024 >> /etc/security/limits.conf
echo grid hard nofile 65536 >> /etc/security/limits.conf
echo oracle soft nproc 2047 >> /etc/security/limits.conf
echo oracle hard nproc 16384 >> /etc/security/limits.conf
echo oracle soft nofile 1024 >> /etc/security/limits.conf
echo oracle hard nofile 65536 >> /etc/security/limits.conf
cat /etc/security/limits.conf

cp /etc/pam.d/login /etc/pam.d/login.bak
echo “#Oracle parameter” >> /etc/pam.d/login
echo session required pam_limits.so >> /etc/pam.d/login
cat /etc/pam.d/login

cp /etc/profile /etc/profile.bak
echo “#Oracle Parameter” >> /etc/profile
echo “if [ $USER = “oracle” ] || [ $USER = “grid” ]; then” >> /etc/profile
echo “if [ $SHELL = “/bin/ksh” ]; then” >> /etc/profile
echo “ulimit -p 16384” >> /etc/profile
echo “ulimit -n 65536” >> /etc/profile
echo “else” >> /etc/profile
echo “ulimit -u 16384 -n 65536” >> /etc/profile
echo “fi” >> /etc/profile
echo “umask 022” >> /etc/profile
echo “fi” >> /etc/profile
cat /etc/profile

cp /etc/csh.login /etc/csh.login.bak
echo “#Oracle Parameter” >> /etc/csh.login
echo “if ( $USER = “oracle” || $USER = “grid” ) then” >> /etc/csh.login
echo “limit maxproc 16384” >> /etc/csh.login
echo “limit descriptors 65536” >> /etc/csh.login
echo “endif” >> /etc/csh.login
cat /etc/csh.login

2台节点均操作: 创建Oracle所需目录

mkdir -p /u01/app/oraInventory
chown -R grid:oinstall /u01/app/oraInventory
chmod -R 775 /u01/app/oraInventory
mkdir -p /u01/app/grid
chown -R grid:oinstall /u01/app/grid
chmod -R 775 /u01/app/grid
mkdir -p /u01/app/grid_home
chown -R grid:oinstall /u01/app/grid_home
chmod -R 775 /u01/app/grid_home
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/app/oracle
mkdir -p /home/grid
mkdir -p /home/oracle
chown -R grid:oinstall /home/grid
chown -R oracle:oinstall /home/oracle

2台节点均操作: 配置Yum源

【请自行解决】

2台节点均操作: 关闭防火墙FIREWALL

service ipchains status
service iptables status
service ipchains stop
service iptables stop
chkconfig ipchains off
chkconfig iptables off
echo 0 >/selinux/enforce
sed -i -e “s/(SELINUX=)enforcing/\1disabled/” /etc/selinux/config
cat /selinux/enforce should be 0

或者
systemctl stop firewalld.service
systemctl disable firewalld.service

节点1操作: 配置ssh免密登录

su - grid
mkdir ~/.ssh

ssh-keygen -t rsa (just press enter)
ssh-keygen -t dsa (just press enter)

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

ssh [节点2] cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ssh [节点2] cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
scp ~/.ssh/authorized_keys [节点2] :~/.ssh/authorized_keys

2台节点均操作: 验证ssh免密登录

在节点1执行
ssh [节点2] date
在节点2执行
ssh [节点1] date

节点1操作: 解压缩Oracle Grid安装包至/u01/app/grid_home

unzip xxxx

节点1操作: 执行节点预检查

./runcluvfy.sh stage -pre crsinst -n “testhost228158,testhost228190” -verbose
根据检查结果安装软件包
如,安装oracle所需的软件包
rm -f pkgverify.txt
rpm -q --qf ‘%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n’ binutils
compat-libstdc+±33
elfutils-libelf
elfutils-libelf-devel
gcc
gcc-c++
glibc
glibc-common
glibc-devel
glibc-headers
ksh
libaio
libaio-devel
libgcc
libstdc++
libstdc+±devel
make
sysstat
unixODBC
unixODBC-devel | grep not | awk ‘{print $2}’ >> pkgverify.txt

for i in cat pkgverify.txt
do
yum -y install $i
done

若为SLES, use GUI YAST to install missed package.
libcap1-1.10
libcap1-1.10-devel
nfs-kernel-server-1.2.1-2.24.1
gcc(x86_64)-4.3
gcc-c++(x86_64)-4.3
glibc-devel-2.9
libaio-devel-0.3.104
libstdc+±devel(x86_64)-4.3
libstdc++43-devel-4.3.3_20081022
sysstat-8.1.5

2台节点均操作: 配置grid用户环境变量

su - grid
vi .bash_profile

TMP=/tmp; export TMP
TMPDIR=KaTeX parse error: Expected 'EOF', got '#' at position 20: … export TMPDIR #̲node1 :ORACLE_S…ORACLE_HOME/bin: P A T H ; e x p o r t P A T H T H R E A D S F L A G = n a t i v e ; e x p o r t T H R E A D S F L A G P A T H = PATH; export PATH THREADS_FLAG=native; export THREADS_FLAG PATH= PATH;exportPATHTHREADSFLAG=native;exportTHREADSFLAGPATH=ORACLE_HOME/bin:$PATH; export PATH
umask 022
export DISPLAY=10.108.228.179:0.0

2台节点均操作: 配置oracle用户环境变量

su - oracle
vi .bash_profile

TMP=/tmp; export TMP
TMPDIR=KaTeX parse error: Expected 'EOF', got '#' at position 129: …rt ORACLE_HOME #̲node1:ORACLE_SI…PATH; export PATH
PATH= O R A C L E H O M E / b i n : ORACLE_HOME/bin: ORACLEHOME/bin:PATH; export PATH
LD_LIBRARY_PATH= O R A C L E H O M E / l i b : / l i b : / u s r / l i b ; e x p o r t L D L I B R A R Y P A T H C L A S S P A T H = ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH CLASSPATH= ORACLEHOME/lib:/lib:/usr/lib;exportLDLIBRARYPATHCLASSPATH=ORACLE_HOME/JRE: O R A C L E H O M E / j l i b : ORACLE_HOME/jlib: ORACLEHOME/jlib:ORACLE_HOME/rdbms/jlib; export CLASSPATH
NLS_DATE_FORMAT=“yyyy-mm-dd HH24:MI:SS”; export NLS_DATE_FORMAT
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;export NLS_LANG
umask 022
export DISPLAY=10.108.228.179:0.0

2台节点均操作: 配置共享盘权限规则,保证重启不变

cd /etc/udev/rules.d/
vi 99-chown.rules
KERNEL==“sd*”, OWNER=“grid”, GROUP=“oinstall”, MODE=“666”
KERNEL==“dm*”, OWNER=“grid”, GROUP=“oinstall”, MODE=“666”
KERNEL==“emcp*”, OWNER=“grid”, GROUP=“oinstall”, MODE=“666”

udevadm control --reload-rules
start_udev
或者
udevadm trigger

安装Oracle Grid

su - grid
/u01/app/gridSetup.sh

安装Oracle Database

su - oracle
解压缩oracle安装包
运行安装脚本即可

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值