RedHat6.8+Openfiler+ASM搭建Oracle11G RAC系列(一)—— 系统准备工作

1.1 RAC架构规划

服务器主机名wlrac01wlrac02
公共IP地址192.168.1.135192.168.1.136
虚拟IP地址192.168.1.137192.168.1.138
私有IP地址172.16.1.1172.16.1.2
Oracle RAC SIDwlracdb1wlracdb2
集群实例名称wlracdb
SCAN IP192.168.1.140
操作系统RedHat6.8-x86_64
存储Openfiler
Oracle版本Oracle 11.2.0.1

1.2 修改/etc/hosts文件

所有节点都要配置

[root@racnode1 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

#Public Network - (eth0)

192.168.1.135 wlrac01
192.168.1.136 wlrac02

#Private Interconnect - (eth1)

172.16.1.1 wlrac01-priv
172.16.1.2 wlrac02-priv

#Public Virtual IP(VIP) - (eth0:1)

192.168.1.137 wlrac01-vip
192.168.1.138 wlrac02-vip

#Single Client Access Name (SCAN)

192.168.1.140 wlrac-scan

#Storage Network for Openfiler - (eth0)

192.168.1.116 openfiler

1.3 安装所需要的软件包

所有节点都要执行

配置好yum,使用yum安装(附上redhat6.8安装yum源配置链接https://www.cnblogs.com/jjp816/p/6437558.html

yum install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel compat-libstdc++-33.i686 libaio.i686 libaio-devel.i686 libstdc++.i686 unixODBC.i686 unixODBC-devel.i686 glibc-devel.i686 glibc.i686 libgcc.i686 libstdc++-devel .i686 compat-libcap1 -y

1.4 添加用户,组和目录

1.4.1 RAC使用的用户与组的关系

描述OS组名分配给该组的OS用户oracle权限oracle组名
Oracle清单和软件所有者oinstallgrid、oracle
Oracle自动存储管理组asmadmingridSYSASMOSASM
ASM 数据库管理员组asmdbagrid、oracleASM的SYSDBAOSDBA for ASM
ASM 操作员组asmopergridASM的SYSOPEROSOPER for ASM
数据库管理员dbaOracle、gridSYSDBAOSDBA
数据库操作员operoracleSYSOPEROSOPER

1.4.2 在所有节点都要执行创建用户

GRID 用户:

groupadd -g 1000 oinstall
groupadd -g 1200 asmadmin
groupadd -g 1201 asmdba
groupadd -g 1202 asmoper
groupadd -g 1300 dba
groupadd -g 1301 oper
useradd -m -u 1100 -g oinstall -G asmadmin,asmdba,asmoper,dba -d /home/grid -s /bin/bash -c “Grid Infrastructure Owner” grid
id grid

Oracle 用户:

useradd -m -u 1101 -g oinstall -G dba,oper,asmdba -d /home/oracle -s /bin/bash -c “Oracle Software Owner” oracle
id oracle

在所有节点上验证用户 nobody 存在

安装软件之前,执行以下过程,以验证在两个Oracle RAC 节点上存在用户nobody,要确定该用户是否存在,输入以下命令:

id nobody

uid=99(nobody) gid=99(nobody) groups=99(nobody)
如果该命令显示了nobody 用户的信息,则无需创建该用户。如果用户 nobody 不存在,则输入以下命令进行创建:

/usr/sbin/useradd nobody

1.4.3 在所有节点上创建安装目录

mkdir -p /u01/app/grid
mkdir -p /u01/app/11.2.0/grid
chown -R grid:oinstall /u01

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

chown -R oracle:oinstall /u01
chmod -R 775 /u01/

1.5 配置用户环境变量

1.5.1 安装jdk

  1. rpm –ivh jdk-7u80-linux-x64.rpm
  2. 编辑vim /etc/profile.d/java.sh
    export JAVA_HOME=/usr/java/jdk1.7.0_80
    export CLASSPATH=:$JAVA_HOME/lib
    export PATH=$JAVA_HOME/bin:$PATH
  3. source /etc/profile.d/java.sh

1.5.2 Grid用户环境变量:

以grid用户帐户分别登录到两个Oracle RAC节点并创建以下登录脚本 (.bash_profile)。在为每个Oracle RAC节点设置Oracle环境变量时,确保为每个RAC节点指定唯一的 Oracle SID。如:
wlrac01:ORACLE_SID=+ASM1
wlrac02:ORACLE_SID=+ASM2

# su - grid
#vi ~/.bash_profile
# —————————————————
# .bash_profile
# —————————————————
# OS User: grid
# Application: Oracle Grid Infrastructure
# Version: Oracle 11g release 2
# —————————————————

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

ORACLE_SID=+ASM1; export ORACLE_SID
JAVA_HOME=/usr/java/jdk1.7.0_80; export JAVA_HOME
ORACLE_BASE=/u01/app/grid; export ORACLE_BASE
ORACLE_HOME=/u01/app/11.2.0/grid; export ORACLE_HOME
ORACLE_PATH=/u01/app/oracle/common/oracle/sql; export ORACLE_PATH
ORACLE_TERM=xterm; export ORACLE_TERM
NLS_DATE_FORMAT=”YYYY-MM-DD HH24:MI:SS”; export NLS_DATE_FORMAT
TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11
PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
PATH=${PATH}:/u01/app/common/oracle/bin
export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH

CLASSPATH=$ORACLE_HOME/JRE
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export CLASSPATH

THREADS_FLAG=native; export THREADS_FLAG

export TEMP=/tmp
export TMPDIR=/tmp

umask 022

1.5.3 Oracle用户的环境变量

以oracle用户帐户分别登录到两个Oracle RAC节点并创建以下登录脚本(.bash_profile),在为每个Oracle RAC节点设置Oracle环境变量时,确保为每个RAC节点指定唯一的Oracle SID。如:
wlrac01:ORACLE_SID=wlracdb1
wlrac02:ORACLE_SID=wlracdb2

# su - oracle
#vi ~/.bash_profile

# —————————————————
# .bash_profile
# —————————————————
# OS User: oracle
# Application: Oracle Database Software Owner
# Version: Oracle 11g release 2
# —————————————————

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

ORACLE_SID=wlracdb1; export ORACLE_SID
ORACLE_UNQNAME=wlracdb; export ORACLE_UNQNAME
JAVA_HOME=/usr/java/jdk1.7.0_80; export JAVA_HOME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME
ORACLE_PATH=/u01/app/common/oracle/sql; export ORACLE_PATH
ORACLE_TERM=xterm; export ORACLE_TERM
NLS_DATE_FORMAT=”YYYY-MM-DD HH24:MI:SS”; export NLS_DATE_FORMAT
NLS_LANG=AMERICAN_AMERICA.AL32UTF8; export NLS_LANG
TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11
PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
PATH=${PATH}:/u01/app/common/oracle/bin
export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH

CLASSPATH=$ORACLE_HOME/JRE
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export CLASSPATH

THREADS_FLAG=native; export THREADS_FLAG

export TEMP=/tmp
export TMPDIR=/tmp

umask 022

1.6 配置内核参数

官网手册给出的值都是最小值,因此如果您的系统使用更大的值,则不要更改。

#vi /etc/sysctl.conf
kernel.shmmax = 107374182400
kernel.shmall = 4294967296
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
fs.aio-max-nr=1048576

注意:RedHat6.8已经配置了为以下内核参数定义的默认值:
kernel.shmall
kernel.shmmax
如果这些默认值等于或大于必需值,则使用这些默认值。
使修改的参数生效:
[root@racnode1 ~]# sysctl -p

1.7 设置系统资源限制

1.7.1 修改limits.conf文件

以root用户身份,在每个Oracle RAC节点上,在/etc/security/limits.conf 文件中添加以下内容:

# Oracle-Validated setting for nofile soft limit is 131072
oracle soft nofile 131072
grid soft nofile 131072
# Oracle-Validated setting for nofile hard limit is 131072
oracle hard nofile 131072
grid hard nofile 131072
# Oracle-Validated setting for nproc soft limit is 131072
oracle soft nproc 131072
grid soft nproc 131072
# Oracle-Validated setting for nproc hard limit is 131072
oracle hard nproc 131072
grid hard nproc 131072
# Oracle-Validated setting for core soft limit is unlimited
oracle soft core unlimited

# Oracle-Validated setting for core hard limit is unlimited
oracle hard core unlimited

# Oracle-Validated setting for memlock soft limit is 50000000
oracle soft memlock unlimited

# Oracle-Validated setting for memlock hard limit is 50000000
oracle hard memlock unlimited

# RAC grid
grid soft nofile 131072
grid hard nofile 131072

1.7.2 修改login文件

在每个Oracle RAC节点上都要执行,在/etc/pam.d/login文件中添加

session required pam_limits.so
session required /lib64/security/pam_limits.so

1.8 配置时间同步

配置网络时间协议 —(仅当不按如上所述使用CTSS时)
如果正在使用NTP,并且愿意继续使用它而不是集群时间同步服务,那么您需要修改NTP初始化文件,在其中设置-x标志,这样可避免向后调整时间。完成此任务后,重启网络时间协议后台程序。
为了在Oracle Enterprise Linux、Red Hat Linux和Asianux系统上完成此任务,编辑/etc/sysconfig/ntpd 文件,添加 -x 标志,如下例所示:
[root@rac1 mapper]# cat /etc/sysconfig/ntpd
SYNC_HWCLOCK=yes
OPTIONS=”-x -u ntp:ntp -p /var/run/ntpd.pid -g”

编辑/etc/ntp.conf,添加如下内容
wlrac01:
server 192.168.1.135
server 127.127.1.0

fudge 127.127.1.0 stratum 10
restrict 192.168.1.135 mask 255.255.255.255 nomodify notrap noquery

wlrac02:
server wlrac01
restrict wlrac01 mask 255.255.255.255 nomodify notrap noquery

然后,分别重启 NTP 服务。
# /sbin/service ntp restart

1.9 关闭系统防火墙和selinux

所有节点都要执行

service iptables stop
chkconfig iptables off

设置/etc/selinux/config文件,将SELINUX设置为disabled

以上配置都完成后,需要重启系统生效

#reboot


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浅抒流年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值