1 前期准备
在vmware workstation中安装redhat enterprise linux as 4.8,使用vmware Converter转换上传
两台linux到vmware ESXI4.0 虚拟服务器上,如果是个人练习,推荐本地使用vmware server。
官方下载10201_clusterware_linux_x86.zip,10201_database_linux_x86.zip。
2 ESXI下创建共享磁盘
Ø 开启ESXI远程SSH的功能,参加<< Vmware ESXI4.0安装及配置说明文档>>,在虚拟服务器
上使用如下命令创建三个共享磁盘。
vmkfstools -c
vmkfstools -c
vmkfstools -c
Ø 在VMware vSphere Client图形界面下配置之前上传的两台linux,将三个磁盘依次添加到linux中,注意:总线不能与linux本地磁盘位于同一总线。比如:linux本地磁盘如果是SCSI0:0,那这三个磁盘可以是SCSI1:0,SCSI1:1,SCSI1:2。
Ø 编辑两台linux的配置文件***.vmx文件,添加disk.locking = "FALSE",将scsi1.sharedBus = "none"改为scsi1.sharedBus = "VIRTUAL"。
Ø 打开两台linux,使用fdisk –l查看磁盘。在第一台linux中使用fdisk /dev/sd*,*代表具体的盘符,依次创建三个磁盘分区。 分区完以后,我们以sdb1,sdc1,sdd1为例。在第二台linux中使用partprobe扫描分区,然后fdisk –l 再次查看,即可看到sdb1,sdc1,sdd1。
3 修改主机名
vi /etc/hosts
vi /etc/sysconfig/network
在两台linux中将这两个文件中相应的主机名分别改为rac1和rac2。为了使配置生效,reboot.
并在/etc/hosts文件中添加节点IP地址,如:
vip地址必须和真实ip地址同一网段,priv私有IP地址只要两台机器在同一网段即可。
4 Linux网络配置
给每台linux再添加一块网卡。安装RAC每台机器至少需要两块网卡。
vi /etc/sysconfig/network-scripts/ifcfg-eth0 设置为真实IP地址
vi /etc/sysconfig/network-scripts/ifcfg-eth1 设置为私有IP地址
service network restart
网卡中的内容类似如下:
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
TYPE=Ethernet
NETMASK=255.255.255.0
IPADDR=
USERCTL=no
IPV6INIT=no
PEERDNS=yes
GATEWAY=
5 在linux中安装oracle所需软件包
查阅官方文档,根据linux版本可确定需要安装的软件包,软件包可从linux系统安装光盘或镜像文件中获得。在两台linux中通过rpm –ivh 命令分别安装如下软件包。
Redhat 4.8所需软件包列表如下:
binutils-2.15.92.0.2-13.EL4
compat-db-
compat-libstdc++-296-2.96-132.7.2
control-center-
gcc-
gcc-c++-
glibc-
glibc-common-
gnome-libs-
libstdc++-
libstdc++-devel-
make-3.80-5
pdksh-
sysstat-
xscreensaver-4.18-5.rhel4.2
setarch-1.6-1
为了后续我们能够配置ASM磁盘,还需要下载ASM驱动包,下载地址为:
http://www.oracle.com/technetwork/topics/linux/downloads/rhel4-092650.html
根据linux版本号选择下载,共三个:
oracleasm-
oracleasmlib-
oracleasm-support-
查看linux版本号uname –r。
6 修改Linux内核参数
在两台linux中分别修改:
Ø vi /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 使之生效。
Ø vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
Ø vi /etc/pam.d/login
session required /lib/security/pam_limits.so
session required pam_limits.so
Ø vi /etc/rc.local
modprobe hangcheck-timer hangcheck-tick=30 hangcheck_margin=180
7 创建oracle用户、组
在两台linux中分别执行:
groupadd oinstall
groupadd dba
useradd -d /home/oracle -g oinstall -G dba oracle
passwd oracle
8 修改oracle环境变量
vi /home/oracle/.bash_profile
添加如下内容:
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE/product/
export ORA_CRS_HOME=$ORACLE_BASE/product/
export ORACLE_SID=oradb10
export ORACLE_TERM=xterm
export PATH=/usr/sbin:$PATH
export PATH=$ORA_CRS_HOME/bin:$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin/
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:
$ORACLE_HOME/rdbms/jlib
ulimit -u 16384 -n 65536
umask 022
使用source .bash_profile使之生效。
mkdir /oracle
chown oracle.oinstall /oracle
9 建立时间同步
Ø 在两台linux中开启时间同步服务器:
chkconfig ntpd on --设置随机启动
service ntpd status –查看启动状态
service ntpd start --启动
Ø 在第二台linux中编辑/etc/ntp/conf:
vi /etc/ntp/conf
使用#号注释掉:
#server 0.rhel.pool.ntp.org
#server 1.rhel.pool.ntp.org
#server 2.rhel.pool.ntp.org
添加
server
将第一台linux作为时间同步服务器
Ø 定时矫正时间
vi /etc/rc.local
添加
while [1]; do ntpdate rac1 1>/dev/null 2>&1; sleep 2; done &
Ø 使用
date -s 11:13:00
clock –w
将第一台linux时间调整正确,重启第二台linux后即可看到时间同步了。
10 建立SSH等效性
Ø 在两台linux中依次执行:
[root@rac1 opt]# su - oracle
[oracle@rac1 ~]$ mkdir ~/.ssh
[oracle@rac1 ~]$ chmod 700 ~/.ssh
[oracle@rac1 ~]$ ssh-keygen -t rsa
[oracle@rac1 ~]$ ssh-keygen -t dsa
Ø 在第一台linux中执行:
[oracle@rac1 ~]$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
[oracle@rac1 ~]$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
[oracle@rac1 ~]$ ssh rac2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
[oracle@rac1 ~]$ ssh rac2 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
[oracle@rac1 ~]$ scp ~/.ssh/authorized_keys rac2:~/.ssh/authorized_keys
Ø 验证ssh等效性 ( 必须都执行,否则后续集群环境检查不通过 )
[oracle@rac1 ~]$ ssh rac1 date
[oracle@rac1 ~]$ ssh rac2 date
[oracle@rac1 ~]$ ssh rac1-priv date
[oracle@rac1 ~]$ ssh rac2-priv date
[oracle@rac2 ~]$ ssh rac1 date
[oracle@rac2 ~]$ ssh rac2 date
[oracle@rac2 ~]$ ssh rac1-priv date
[oracle@rac2 ~]$ ssh rac2-priv date
11 配置裸设备
在两台linux上依次执行:
Ø vi /etc/sysconfig/rawdevices
/dev/raw/raw1 /dev/sdb1
/dev/raw/raw2 /dev/sdc1
Ø 修改裸设备权限:
vi /etc/udev/permissions.d/50-udev.permissions
将/etc/udev/permissions.d/50-udev.permissions的113行
从raw/*:root:disk:0660
修改为
raw/*:oracle:oinstall:0660
Ø service rawdevices restart
12 配置ASM
Ø 在两台Linux中依次执行:
[root@rac1 ~] /etc/init.d/oracleasm configure
Default user to own the driver interface []: oracle
Default group to own the driver interface []: dba
Start Oracle ASM library driver on boot (y/n) [n]: y
Fix permissions of Oracle ASM disks on boot (y/n) [y]: y
[root@rac2 ~] /etc/init.d/oracleasm configure
Default user to own the driver interface []: oracle
Default group to own the driver interface []: dba
Start Oracle ASM library driver on boot (y/n) [n]: y
Fix permissions of Oracle ASM disks on boot (y/n) [y]: y
Ø 在第一台linux中执行:
[root@rac1 ~] /etc/init.d/oracleasm createdisk VOL1 /dev/sdd1
Ø 在两台linux中依次执行:
[root@rac1 ~]/etc/init.d/oracleasm scandisks
[root@rac1 ~]/etc/init.d/oracleasm listdisks
[root@rac2 ~]/etc/init.d/oracleasm scandisks
[root@rac2 ~]/etc/init.d/oracleasm listdisks
13 上传安装介质
将下载好的集群软件和数据库软件通过工具使用stp二进制方式上传至第一台linux。建议上传用
户为oracle。推荐工具winscp。
解压:
[oracle@rac1 ~]unzip 10201_clusterware_linux_x86.zip
[oracle@rac1 ~]unzip 10201_database_linux_x86.zip
解压后会看到两个文件夹clusterware和database。
14 RAC环境检查
[oracle@rac1 ~]cd clusterware/cluvfy
[oracle@rac1 cluvfy]./runcluvfy.sh stage -pre crsinst -n rac1,rac2 –verbose
根据检查结果安装修正未通过的选项。
注意:redhat4.8中有如下四个软件包提示缺失,是一个bug,只要确保安装了compat-***相应软件包版本即可。
compat-gcc-7.3-2.96.128
compat-gcc-c++-7.3-2.96.128
compat-libstdc++-7.3-2.96.128
compat-libstdc++-devel-7.3-2.96.128
15 安装集群软件cluterware
在linux图形界面中操作或者使用xmanager软件将图形界面传回本地操作。
ocr存储位置我们填写 /dev/raw/raw1
votingdisk存储位置我们填写 /dev/raw/raw2
以上存储是我们配置的裸设备。
16 安装数据库
安装数据库我们建议只安装软件,建库单独执行。
17 运行dbca建库
选择创建集群数据库,存储选择ASM,会提示你创建监听和配置ASM磁盘组。之后操作与常规
建库操作类似。当然也可以是裸设备。
18 结束语
Oracle RAC的安装比较费力。中途一个小小的失误都可能导致安装失败。因此,对于初次安装的人来说,要想安装成功,都会经历好多次失败。当然,成功的喜悦也只有自己能体会。我个人在学习RAC的过程中,仅安装就历时一周,经历了八次失败!第九次开始成功。另外,在windows下安装oracle RAC可参加我的另一篇文档<<虚拟机中Win2003+Oracle10gRAC安装指南>>。
Oracle RAC的安装仅是一个开始,更艰巨的任务是后续的RAC管理!