一、基本环境需求
系统环境:
系统版本:RHEL5U8 x86_64
ORACLE版本:ORACLE 10.2.1
IP地址
odb1 192.168.100.144
192.168.101.144
odb2 192.168.100.143
192.168.101.143
服务器关闭Selinux
/iptables
二、前期准备工作
修改两台计算机的主机名字
odb1 odb1-priv odb1-vip
obd2 odb2-priv odb2-vip
配置yum源码,保证数据包都完整安装,oracleRAC最讨厌少包,确包的问题,大多数都是由于rpm包引起的
分别在两台机器上创建oracle用户和oinstall dba两个组
准备六块共享盘,我们在此实验中可以借助virtualbox来模拟,在环境中我们可以使用EMC netapp 来规划
data×2 10G 数据盘 根据业务来划分大小
ocr×2 512M 集群信息注册盘
virdisk×3 512M
需要注意的是 在oracle11g中不支持virtualdis 只支持asm
切忌要格式创建的硬盘,格式化只需要在一台机器上配置测试就可以了
配置双向SSH无密码认证,
SSH需要两台机器互相连接,并且需要SSH本身能SSH连接,不然会在oracle集群节点报错
创建raw(裸)设备,需要修改RAC机器的节点上的两个配置文件
还需要注意raw权限的问题 chmodchown
注意:需要两边的raw设备端口号一样,不然会报错,
例如:我们在节点A上面RAW1对应的是port1,那么我们需要在节点B上的RAW1对应的也是port1,端口不能错误。不然会发生错误
修改系统参数文件,配置oracle用户的环境变量
三、实施前期准备工作
1.创建oracle用户两个节点配置创建一样
[root@rac2 ~]
[root@rac2 ~]
[root@rac2 ~]
[root@rac2 ~]
[root@rac1 oracle]
Changing password foruser oracle.
passwd
: all authentication tokens updated successfully.
[root@rac1 oracle]
2.修改计算机名字,以及修改hosts文件
[root@odb1 ~]
odb1
修改计算机名字的两种方式
临时修改:hostnameodb1
永久修改:vim
/etc/sysconfig/network
hots文件需要修改,双节点需要认证 两台机器配置是一样的,另一台机器直接
scp
过去就可以
[root@odb1 ~]
127.0.0.1 localhost
192.168.100.144 odb1
192.168.100.143 odb2
192.168.101.144 odb1-priv
192.168.101.143 odb2-priv
192.168.100.252 odb1-vip
192.168.100.253 odb2-vip
[root@odb1 ~]
3.修改yum源服务器,我们做是本地yum服务器,两台机器配置完全一样,
scp
到新的机器就可以
mount
/dev/cdrom/mnt
如下附件是yum本地源的配置,因为RHEL5.x系列配置公网yum比较麻烦,rpm安装更恐怖,只能本地yum配置
[root@odb1 ~]
[opensource]
name=opensource
baseurl=
file
:
///mnt/Server
enabled=1
gpgcheck=0
[opensource1]
name=opensource1
baseurl=
file
:
///mnt/VT
enabled=1
gpgcheck=0
[opensource2]
name=opensource2
baseurl=
file
:
///mnt/Cluster
enabled=1
gpgcheck=0
[root@odb1 ~]
4.共享共享存储磁盘的配置,我们在这里是模拟的,因此我们在第一个节点上添加硬盘共享,然后第二个节点就可以使用
用到的技术 LVM 几个命令:pvcreate cgcreate lvcreate
需要格式化
如下是裸设备的配置修改,两台机器配置的方式一模一样;
root@rac1
/home
]
/dev/raw/raw1/dev/sdb1
/dev/raw/raw2/dev/sdc1
/dev/raw/raw3/dev/sdd1
/dev/raw/raw4/dev/sde1
/dev/raw/raw5/dev/sdf1
/dev/raw/raw6/dev/sdg1
/dev/raw/raw7/dev/sdh1
[root@rac1
/home
]
[root@rac1
/home
]
ACTION==
"add"
, KERNEL==
"sdb"
, RUN+=
"/bin/raw /dev/raw/raw1 %N"
ACTION==
"add"
, KERNEL==
"sdc"
, RUN+=
"/bin/raw /dev/raw/raw2 %N"
ACTION==
"add"
, KERNEL==
"sdd"
, RUN+=
"/bin/raw /dev/raw/raw3 %N"
ACTION==
"add"
, KERNEL==
"sde"
, RUN+=
"/bin/raw /dev/raw/raw4 %N"
ACTION==
"add"
, KERNEL==
"sdf"
, RUN+=
"/bin/raw /dev/raw/raw5 %N"
ACTION==
"add"
, KERNEL==
"sdg"
, RUN+=
"/bin/raw /dev/raw/raw6 %N"
ACTION==
"add"
, KERNEL==
"sdh"
, RUN+=
"/bin/raw /dev/raw/raw7 %N"
[root@rac1
/home
]
重启服务
[root@rac1
/home
]
Assigning devices:
/dev/raw/raw1--
>
/dev/sdb1
/dev/raw/raw1
: bound to major 8, minor 17
/dev/raw/raw2--
>
/dev/sdc1
/dev/raw/raw2
: bound to major 8, minor 33
/dev/raw/raw3--
>
/dev/sdd1
/dev/raw/raw3
: bound to major 8, minor 49
/dev/raw/raw4--
>
/dev/sde1
/dev/raw/raw4
: bound to major 8, minor 65
/dev/raw/raw5--
>
/dev/sdf1
/dev/raw/raw5
: bound to major 8, minor 81
/dev/raw/raw6--
>
/dev/sdg1
/dev/raw/raw6
: bound to major 8, minor 97
/dev/raw/raw7--
>
/dev/sdh1
/dev/raw/raw7
: bound to major 8, minor 113
done
[root@rac1
/home
]
授权在两个节点都需要
[root@odb1 ~]
[root@odb1 ~]
[root@odb1 ~]
[root@odb1 ~]
[root@odb1 ~]
KERNEL==
"raw[1-7]"
, OWNER=
"oracle"
GROUP=
"dba"
, MODE=
"0660"
5.配置SSH双向认证
三部曲,如下三步 需要在RAC两个节点上都同时配置
[oracle@odb1 ~]$
ssh
-keygen -t rsa 一路回车
[oracle@odb1 ~]$
cd
.
ssh
/
需要注意,在配置完成之后,需要SSH手动连接测试,保证正常因为有的会是
yes
因为如果在RAC节点检查的时候,没有安装会报错
两台节点在oracle用户下操作
sshodb1
sshodb2
sshodb1-priv
sshodb2-priv
6.yum安装oracle需要使用的包
yum -y installinstallcompat-db.* binutils* binutils-devel.* control-center.* control-center-devel.* control-center.* gcc gcc-c++ glibc-utils glibc.* glibc-common.* glibc-devel.* glibc-headers.* compat-glibc.* glibc-common libstdc++.* libstdc++-devel.* libstdc++44-devel.* makesetarch installcompat-db.* compat-db binutils control-center gcc gcc-c++ glibc glibc-devel glibc-common libstdc++ libstdc++-devel makeopenmotif setarch libaio compat-libstdc++ compat-gcccompat- libXp openmotif22 compat-db
7.配置环境变量
配置环境变量
su
- oracle
vim .bashrc 两个节点配置完全一样,只需要修改SID就可以
exportORACLE_BASE=
/u01/app/oracle
exportORA_CRS_HOME=$ORACLE_BASE
/product/10
.2.0
/crs_1
exportORACLE_HOME=$ORACLE_BASE
/product/10
.2.0
/db_1
exportPATH=$ORACLE_HOME
/bin
:$ORA_CRS_HOME
/bin
:$PATH
exportORACLE_OWNER=oracle
exportORACLE_SID=odb1
exportORACLE_TERM=vt100
exportTHREADS_FLAG=native
exportLD_LIBRARY_PATH=$ORACLE_HOME
/lib
:$LD_LIBRARY_PATH
exportLANG=en_US
umask022
8.创建环境变量节点 两个节点都需要创建
[root@odb1 ~]
[root@odb1 ~]
[oracle@odb1 ~]$
mkdir
$ORACLE_BASE
/admin-p
[oracle@odb1 ~]$
mkdir
-p $ORACLE_HOME
[oracle@odb1 ~]$
mkdir
-p $ORA_CRS_HOME
[oracle@odb1 ~]$
mkdir
-p $ORACLE_BASE
/oradata/r10g
8.5
cat >>/etc/profile<<EOF
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/bash" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
EOF
9.修改oracle最大连接数文件(两台节点都需要修改)
cat
/etc/security/limits
.com
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
10.添加oracle的pam认证模块
cat
/etc/pam
.d
/login
session required
/lib/security/pam_limits
.so
11.修改内核参数 两台节点都配置
vim
/etc/sysctl
.conf
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.
file
‐max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144
sysctl -p 生效
12.修改hangcheck
time
内核参数 两台节点都安装
vim
/etc/modprobe
.conf 最后面添加如下一行
options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180
然后生效:modprobe -vhangcheck-timer
13.自己搭建NTP时间服务器,要么自己来inetrnet时间服务器
ntpdate ntp.api.bz
关于搭建NTP时间服务器,查看我的博文;
时间服务器每小时同步一样
crontab
-e
* 1 * * * ntpdate -s ntp.api.bz
至此准备环境配置完成,接下来安装RAC安装