一、 准备工作
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 disk和ocr放在raw上,数据文件等放在asm上,因此我们至少需要创建4个虚拟的硬盘,其中voting disk需要至少 20M 的空间,ocr需要至少 60M 的空间,数据文件等至少需要1- 2G 的空间,如果你的磁盘剩余空间充足,当然大一点的比较好。
注意:此处一定要选中Allocate all disk space now,即首先分配足额的磁盘空间,避免后期需要使用时再分配,可能会造成虚拟机崩溃。如下图示:
Virtual device node中选择一个新的scsi总线(比如虚拟机默认磁盘SCSI 0:x,则新添加的硬盘可以使用1:x)
注意选中Persistent,即同步写入数据到磁盘。然后点击完成即可。
循环上述添加磁盘的步骤,按你的实际情况添加几个(注,最少要3个,一个做asm盘,一个用来存储votingdisk,一个用来存储OCR),如下图示:
最终配置如下图示:
三、 安装Linux系统:
按Enter键以图形模式安装
测试安装盘,确定安装盘没问题,可以跳过这一步,如下图示:
自定义安装包,如下图示:
开始安装,如下图示:
安装完之后进行设置,把防火墙全关掉,如下图示:
四、 配置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中查看到的eth0的HWaddr:00: 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
提示:此时两机使用4个IP或4个别名互ping应该都是通的了,如果不通,建议按照上述的操作步骤,检查一下网络的配置。
当然更改IP和产生mac地址还可以用图形界面,如下图示:
[root@rac2 ~]#system-config-network
选择欲修改的网卡,然后选择Edit,然后分配IP,之后点击Hardware Device,并且点击Probe重新产生MAC地址,如下图示:
以上两种方法,根据你的情况任选一种。
统统设置完成后,建议重启一下第2个节点。