1准备工作1、需要准备的安装软件:VMWareServer1.0.3RedhatEnterpriseLinux5Oracle10gR2ClusterwareforLinuxOracle10gR2DatabaseforLinux2、准备设置的信息项目说明虚拟机1虚拟机2共享裸设备标识名在虚拟机上的标识名RHEL5_NODE1RHEL5_NODE2文件存放位置在宿主操作系统上的存放目录rac1rac2racshare磁盘空间占用的磁盘空间大小(建议)10GB10GB3GBIP地址公有IP地址10.10.10.20110.10.10.202---私有地址和VMWARE虚拟的网卡同一网段192.168.15.201192.168.15.202---VIP地址和公有IP地址同一网段,由ORACLE设置和使用10.10.10.21110.10.10.212---2创建虚拟机2.1选择常规参数1、选择Custom2、选择RedHatLinux3、选择安装目录4、选择CPU个数:一个5、选择内存大小不要小于512MB,否则后面验证安装时可能会出问题。6、选择首选网卡的类型这里选择bridgednetworking模式的网卡。由于RAC需要两块网卡,我们在后面还需要增加一块网卡。7、选择SCSI适配器类型这里选择LSILogic。8、选择磁盘大小建议至少安装8G以上,推荐12GB以上。如果不先申请磁盘空间,请确保虚拟机所在的宿主操作系统上有足够的磁盘空间可供扩展,否则会导致虚拟机崩溃。如果打算先申请空间,则需要确保有足够的磁盘空间可以占用。我最终使用的磁盘空间为42.5G,其中rac1和rac2两个虚拟机分别占用了15.7G,而racshare目录(主要存放那些ocrdisk,votingdisk,asmdisk等共享磁盘用)则为11GB。2.2给虚拟机增加硬件设备9、点击界面上的Editvirtualmachinesetting,增加一些硬件。我们这里一共需要增加一个网卡,至少三块硬盘(ocr一块约100M,votingdisk约60M,asm至少一块2GB,我这里建了两块asm盘,为区别起见分别是4GB和5GB大小。建议这几块硬盘先分配硬盘空间给它们,方法是选中Allocatealldiskspacenow选项)。10、点击“Add”按钮增加设备11、增加votingdisk12、设置保存路径注意点击下面的Advanced按钮。选择Virtualdevicenode,记录下几块硬盘的SCSI1:x的数据,后面修改时用到。选中下面的Independent–Persistent选项。13、创建磁盘14、同理增加Ocrdisk15、同理增加Asm1disk16、同理增加Asm2disk17、最后,增加一个Host-Only类型的网卡。2.3最终配置结果3安装RedHatEnterpriseLinux5安装完毕重启,暂时disabled防火墙和增强Linux设置然后关闭Linux,进行下一步的配置工作。4配置Linux4.1修改虚拟机配置用文本编辑工具打开RedHatLinux.vmx文件,增加以下内容:disk.locking=falsediskLib.dataCacheMaxSize=0diskLib.dataCacheMaxReadAheadSize=0diskLib.DataCacheMinReadAheadSize=0diskLib.dataCachePageSize=4096diskLib.maxUnsyncedWrites=0scsi1:1.deviceType=diskscsi1:2.deviceType=diskscsi1:3.deviceType=diskscsi1:4.deviceType=disk4.2启动Linux,编辑hosts文件增加如下内容:127.0.0.1localhost.localdomainlocalhost10.10.10.201node110.10.10.202node210.10.10.211node1-vip10.10.10.212node2-vip192.168.15.201node1-priv192.168.15.202node2-priv其中10.10.10.211和10.10.10.212是OracleCRS设置时需要的VIP,不需要我们设置。4.3创建组oinstall,dba,用户oracle[root@node1~]#groupaddoinstall[root@node1~]#groupadddba[root@node1~]#useradd-d/home/oracle-goinstall-Gdbaoracle设置oracle用户密码[root@node1~]#passwdoracle[root@node1~]#idoracleuid=501(oracle)gid=501(oinstall)groups=501(oinstall),502(dba)如果是非虚拟机安装,要注意记录下用户和组ID,在其它机器上创建同名组时,务必确认组ID和用户ID与此相同。这里由于我们一会儿采用copy文件的形式复制虚拟机,所以不需要特别关心这个。4.4修改oracle用户的初始化参数文件[root@node1~]#vi/home/oracle/.bash_profile增加如下内容:exportTMP=/tmpexportTMPDIR=$TMPexportORACLE_BASE=/opt/ora10gexportORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1exportORACLE_SID=RACDB1exportORACLE_TERM=xtermexportPATH=/usr/sbin:$PATHexportPATH=$ORACLE_HOME/bin:$PATHexportLD_LIBRARY_PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin/exportCLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlibulimit-u16384-n65536umask022此处注意oracle_sid的名称要与后续创建数据库时指定的sid相同(注意大小写),不然你每次想通过本机登录的方式进入oracle都得重新exportORACLE_SID了。4.5创建/opt/ora10g目录[root@node1~]#mkdir/opt/ora10g由于该目录主要由oracle用户操作,因此我们将其所有者改为oracle[root@node1~]#chownoracle.oinstall/opt/ora10g4.6配置内核参数[root@node1~]#vi/etc/sysctl.conf增加或修改下列内容:kernel.shmall=2097152kernel.shmmax=536870912kernel.shmmni=4096kernel.sem=25032000100128fs.file-max=65536net.ipv4.ip_local_port_range=102465000net.core.rmem_default=1048576net.core.rmem_max=1048576net.core.wmem_default=262144net.core.wmem_max=262144提示:上述参数中通常kernel.shmall和kernel.shmmax已经在该文件中存在,且其值比这里的更高,所以这两项可以在其前面增加#禁用。(kernel.shmmax该参数推荐设定为物理内存的一半,由于安装crs的时候要求内存至少512M,因此我们此处也按照512*1024*1024来设置)然后执行:[root@node1Server]#sysctl-p让设置生效4.7提高Oracle用户的shell限制设置oracle使用的文件数权限[root@node1~]#vi/etc/security/limits.conf增加:oraclesoftnproc2047oraclehardnproc16384oraclesoftnofile1024oraclehardnofile65536修改安全限制[root@node1~]#vi/etc/pam.d/login增加:sessionrequired/lib/security/pam_limits.so配置Hangcheck计时器[root@node1~]#vi/etc/rc.local增加:modprobehangcheck-timerhangcheck-tick=30hangcheck_margin=1804.8磁盘分区[root@node1~]#fdisk/dev/sdb应答过程如下(红色字体为输入内容,下同)Command(mforhelp):nCommandactioneextendedpprimarypartition(1-4)pPartitionnumber(1-4):1Firstcylinder(1-102,default1):Usingdefaultvalue1Lastcylinderor+sizeor+sizeMor+sizeK(1-102,default102):Usingdefaultvalue102Command(mforhelp):wThepartitiontablehasbeenaltered!Callingioctl()tore-readpartitiontable.Syncingdisks.需要你输入的依次是n/p/1/回车/回车/w。就本例而言,需要我们进行分区的有4个:sdb,sdc,sde,sdf。如果你上述建硬盘的步骤只建立了三个,那就是sdb,sdc,sde了。全分完后fdisk-l看一下,应该是这种形式:[root@node1oracle]#fdisk-lDisk/dev/sda:16.1GB,16106127360bytes255heads,63sectors/track,1958cylindersUnits=cylindersof16065*512=8225280bytesDeviceBootStartEndBlocksIdSystem/dev/sda1*11310439183Linux/dev/sda214195815623212+8eLinuxLVMDisk/dev/sdb:1073MB,1073741824bytes255heads,63sectors/track,130cylindersUnits=cylindersof16065*512=8225280bytesDeviceBootStartEndBlocksIdSystem/dev/sdb111301044193+83LinuxDisk/dev/sdc:1073MB,1073741824bytes255heads,63sectors/track,130cylindersUnits=cylindersof16065*512=8225280bytesDeviceBootStartEndBlocksIdSystem/dev/sdc111301044193+83LinuxDisk/dev/sdd:4294MB,4294967296bytes255heads,63sectors/track,522cylindersUnits=cylindersof16065*512=8225280bytesDeviceBootStartEndBlocksIdSystem/dev/sdd115224192933+83LinuxDisk/dev/sde:5368MB,5368709120bytes255heads,63sectors/track,652cylindersUnit