一、准备工作

VMware Server 1.0系列,可到官网注册帐号并免费下载

RHEL5 32bit,我用的版本是:Red Hat Enterprise Linux Server Release 5.1

Oracle 10gR2 Clusterware,可到官网免费下载

Oracel 10gR2 Database,可到官网免费下载

二、设置虚拟机环境

安装虚拟机过程这里就略过了

如下图示,File->New->Virtual Machine新建虚拟机


到“Select the Appropriate Configuration”阶段选择“Custom”,如下图示:

 

系统选择:Red Hat Linux

 

给虚拟机选择一个存储的位置,建议该存储位置在20G以上,如下图示:

 

设置虚拟机访问权限,这个根据自己要求来,我这里把勾去掉了,不影响后面发挥,如下图示:

 

选择默认, 如下图示:

 

选择CPU数量,如下图示:

 

设置内存大小,最低512M,设置越大越好,oracle本身就吃内存,如下图示:

 

选择网卡及网卡的类型,oracle至少需要两块网卡,因此创建完虚拟环境后,还要增加一块网卡,如下图示:

 

I/O适配器,推荐使用LSI Logic,如下图示:

 

创建磁盘,如下图示:


 

设置虚拟磁盘大小,大点最好了,如下图示:


 

再增加一块网卡,如下图示:

 

 

接下来添加几个磁盘,用来做共享存储,如下图示:

由于我们准备采用asm+raw来创建rac,将voting diskocr放在raw上,数据文件等放在asm上,因此我们至少需要创建4个虚拟的硬盘,其中voting disk需要至少20M的空间,ocr需要至少60M的空间,数据文件等至少需要12G的空间,如果你的磁盘剩余空间充足,当然大一点的比较好。

注意:此处一定要选中Allocate all disk space now,即首先分配足额的磁盘空间,避免后期需要使用时再分配,可能会造成虚拟机崩溃。如下图示:

 

Virtual device node中选择一个新的scsi总线(比如虚拟机默认磁盘SCSI 0:x,则新添加的硬盘可以使用1:x)
注意选中Persistent,即同步写入数据到磁盘。然后点击完成即可

循环上述添加磁盘的步骤,按你的实际情况添加几个(注,最少要3个,一个做asm盘,一个用来存储votingdisk,一个用来存储OCR),如下图示:

最终配置如下图示:

 

三、安装Linux系统:

Enter键以图形模式安装

 

测试安装盘,确定安装盘没问题,可以跳过这一步,如下图示:











自定义安装包,如下图示:

  • Desktop Environments
    • GNOME Desktop Environment
  • Applications
    • Editors
    • Graphical Internet
    • Text-based Internet
  • Development
    • Development Libraries
    • Development Tools
    • Legacy Software Development
  • Servers
    • Server Configuration Tools
  • Base System
    • Administration Tools
    • Base
    • Java
    • Legacy Software Support
    • System Tools
    • X Window System



开始安装,如下图示:

安装完之后进行设置,把防火墙全关掉,如下图示:





四、配置Linux环境

修改虚拟机配置

在配置linux系统之前,首先到你的虚拟机工作目录,打开.vmx文件,添加下列内容:

disk.locking = "false"
diskLib.dataCacheMaxSize = "0"
diskLib.dataCacheMaxReadAheadSize = "0"
diskLib.DataCacheMinReadAheadSize = "0"
diskLib.dataCachePageSize = "4096"
diskLib.maxUnsyncedWrites = "0"

scsi1:1.deviceType = "disk"
scsi1:2.deviceType = "disk"
scsi1:3.deviceType = "disk"
scsi1:4.deviceType = "disk"

提示:如果你创建有磁盘有多个,注意要按照你的实际情况修改。

编辑/etc/hosts文件,添加如下图示的内容:

创建组oinstall,dba,用户oracle并设置密码,如下图示:

提示:
[root@
rac1 ~]# id oracle
uid=500(oracle) gid=500(oinstall) groups=500(oinstall),501(dba)
如果是非虚机安装,要注意记录下用户和组ID,在其它机器上创建同名组时,务必确认组ID和用户ID与此相同。

创建oracle目录,注意拥有者和权限的设置,如下图示:

修改oracle用户的初始化参数文件,如下图示:

Vi /home/oracle/.bash_profile

此处注意oracle_sid的名称要与后续创建数据库时指定的sid相同(注意大小写),不然你每次想通过本机登录的方式进入oracle都得重新export ORACLE_SID了。

配置内核参数,增加以下内容,如下图:

Vi /etc/sysctl.conf

让设置生效:sysctl –p

提高oracle用户的shell限制,设置oracle使用的文件数权限:

Vi /etc/security/limits.conf增加以下内容


修改安全限制vi /etc/pam.d/login

增加:

session    required     /lib/security/pam_limits.so

配置Hangcheck计时器

Vi /etc/rc.local

增加:

modprobe hangcheck-timer hangcheck-tick=30 hangcheck_margin=180

接着,启动hangcheck:

#modprobe hangcheck_timer

最后,检查hangcheck是否启动成功:

#grep hangcheck /var/log/messages

如有类似提示:Hangcheck:starting hangcheck timer 0.9.0(tick is 30 seconds,magin is 180 seconds)提示表明启动成功。

安装oracleasmlib程序包,所需要的程序包可以到oracle官方网站下载,注意一定要与操作系统版本相符。如图红色部分示:

其他包的安装方法,能装的都装上,我这里列出清单,如下图示:

mkdir -p /media/cdrom
mount -r /dev/cdrom /media/cdrom
cd /media/cdrom/Server
rpm -Uvh binutils-2.*
rpm -Uvh glibc-2*
rpm -Uvh glibc-common-2.*
rpm -Uvh libaio-0*
rpm -Uvh libgcc-4.*
rpm -Uvh libstdc++-4.*
rpm -Uvh make-3*
rpm -Uvh setarch-2*
rpm -Uvh glibc-devel-2.*
rpm -Uvh gcc-4*
rpm -Uvh gcc-c++-4.*
rpm -Uvh libstdc++-devel-4.*
rpm -Uvh compat-db-4*
rpm -Uvh compat-gcc-34-3*
rpm -Uvh compat-gcc-34-c++-3*
rpm -Uvh compat-libstdc++-33-3*
rpm -Uvh libaio-devel-0.*
rpm -Uvh libXp-1*
rpm -Uvh openmotif-2*
rpm -Uvh sysstat-7.*

磁盘分区,如下图示:

需要你输入的依次是"n/p/1/回车/回车/w"
就本例而言,需要我们进行分区的有4个:sdb,sdc,sde,sdf

配置裸设备
由于RHEL5中取消了rawdevices,如果不想将映射命令放到rc.local中的话,我们就需要将其配置到/etc/udev/rules.d/文件夹中
修改文件
[root@rac1 ~]# vi /etc/udev/rules.d/60-raw.rules

增加如下内容:
ACTION=="add", KERNEL=="/dev/sdb1",RUN+="/bin/raw /dev/raw/raw1 %N"
ACTION=="add", ENV{MAJOR}=="8",ENV{MINOR}=="17",RUN+="/bin/raw /dev/raw/raw1 %M %m"
ACTION=="add", KERNEL=="/dev/sdc1",RUN+="/bin/raw /dev/raw/raw2 %N"
ACTION=="add", ENV{MAJOR}=="8",ENV{MINOR}=="33",RUN+="/bin/raw /dev/raw/raw2 %M %m"
ACTION=="add", KERNEL=="/dev/sdd1",RUN+="/bin/raw /dev/raw/raw3 %N"
ACTION=="add", ENV{MAJOR}=="8",ENV{MINOR}=="49",RUN+="/bin/raw /dev/raw/raw3 %M %m"
ACTION=="add", KERNEL=="/dev/sde1",RUN+="/bin/raw /dev/raw/raw4 %N"
ACTION=="add", ENV{MAJOR}=="8",ENV{MINOR}=="65",RUN+="/bin/raw /dev/raw/raw4 %M %m"
KERNEL=="raw[1-4]", OWNER="oracle", GROUP="oinstall", MODE="640"

提示:要根据你的实际情况来配置

可以用ls –l /dev/raw/raw*验证一下。

[root@rac1 ~]# ls /dev/raw/ -l
total 0
crw-r----- 1 oracle oinstall 162, 1 Jun  6 17:57 raw1
crw-r----- 1 oracle oinstall 162, 2 Jun  6 17:57 raw2
crw-r----- 1 oracle oinstall 162, 3 Jun  6 17:57 raw3
crw-r----- 1 oracle oinstall 162, 4 Jun  6 17:57 raw4

OK
,前期设置完成.

五、配置第2台节点-rac2

关闭节点1,直接将rac1目录复制一份到rac2,然后修改.vmx文件中的配置,displayName = "RHEL501"改成displayName = "RHEL502",然后用vmware打开rac2目录中的vmx文件即可。

将你启动RHEL502的时候,系统会弹出这个提示,一个要选择Create。该选项是说vmware发现配置发生了变化,如果该虚机是复制出来的,需要创建一个唯一的身份标识,让你来选择是否创建,当然要选择Create,如图示:


修改hostname,rac1改成rac2

[root@rac1 ~]# hostname node2
[root@rac1 ~]# vi /etc/sysconfig/network

这样重新启动之后机器名就变成rac1了。



这一步主要是查看两块网卡的mac地址。

[root@rac2~]# cd /etc/sysconfig/network-scripts/
[root@
rac2 network-scripts]# mv ifcfg-eth0.bak ifcfg-eth0 -f
[root@
rac2 network-scripts]# mv ifcfg-eth1.bak ifcfg-eth1 –f

[root@rac2 network-scripts]# vi ifcfg-eth0
修改IP地址
注意修改HWADDR的值为前面ifconfig中查看到的eth0HWaddr00:0C:29:83:9E:29

[root@
rac2 network-scripts]# vi ifcfg-eth1
同理做修改,HWADDR的值要修改为eth1中的HWaddr:00:0C:29:83:9E:23
最后重启一下网络服务

[root@rac2 network-scripts]# service network restart

提示:此时两机使用4IP4个别名互ping应该都是通的了,如果不通,建议按照上述的操作步骤,检查一下网络的配置。

当然更改IP和产生mac地址还可以用图形界面,如下图示:

[root@rac2 ~]#system-config-network

选择欲修改的网卡,然后选择Edit,然后分配IP,之后点击Hardware Device,并且点击Probe重新产生MAC地址,如下图示:

以上两种方法,根据你的情况任选一种。

统统设置完成后,建议重启一下第2个节点。