这次安装RAC真是坎坷略多啊。。。。。

安装一个RAC,前提工作

添加网卡:连接方式host-only

配置ip:

node1

eth0:192.168.0.2
eth1:192.168.1.3
vip:192.168.0.10
node2
eth0:192.168.0.3
eth1:192.168.1.4
vip:192.168.0.20

配置/etc/hosts

127.0.0.1localhost

192.168.0.2rac1rac1-public
192.168.1.3rac1-priv
192.168.0.10rac1-vip

192.168.0.3rac2rac2-public

192.168.1.3rac2-priv
192.168.0.20rac2-vip

192.168.0.254rac-scan

加用户组:

groupadd-g1000oinstall

groupadd-g1200asmadmin
groupadd-g1201asmdba
groupadd-g1202asmoper
groupadd-g1300dba
groupadd-g1301oper
useradd-m-u1100-goinstall-Gasmadmin,asmdba,asmoper,dba-d/home/gridgrid
useradd-m-u1101-goinstall-Gdba,oper,asmdba-d/home/oracleoracle
gpasswd-agriddba
gpasswd-agriddba
idoracle
idgrid
passwdoracle
passwdgrid
mkdir-p/u01/app/grid/11.2.0
mkdir-p/u01/grid
chown-Rgrid:oinstall/u01
mkdir-R/u01/app/oracle/11.2.0/db_1
mkdir-p/u01/app/oracle/11.2.0/db_1
chown-Roracle:oinstall/u01
chmod-R775/u01/

--两个节点要一样

配ssh互信

切换到oracle用户

/usr/bin/ssh-keygen-trsa

/usr/bin/ssh-keygen-tdsa

注意:在两个节点都要执行

执行完就在/home/oracle/.ssh/下面有两个文件

id_dsa.pubid_rsa.pub

两个节点上都有

然后把一个节点上的这两个文件发到另外一个节点上

scpid_dsa.pubrac2:/home/oracle/.ssh/id_dsa.pub2

scpid_rsa.pubrac2:/home/oracle/.ssh/id_rsa.pub2

这时在节点2上有四个文件

catid_rsa.pubid_rsa.pub2id_dsa.pubid_dsa.pub2>authorized_keys

产生authorized_keys文件

然后把这个文件传到另外节点上

scpauthorized_keysrac1:/home/oracle/.ssh/

开始测试:

sshrac1privdate

sshrac1date

sshrac2privdate

sshrac2date

配环境变量:

node2_grid:

#exportORACLE_SID=+ASM1

exportORACLE_SID=+ASM2
exportORACLE_BASE=/u01/grid
exportORACLE_HOME=/u01/app/grid/11.2.0
exportPATH=$ORACLE_HOME/bin:$PATH:.
exportTEMP=/tmp
exportTMP=/tmp
exportTMPDIR=/tmp
umask022

oracle:

#exportORACLE_SID=rac1
exportORACLE_SID=rac2
exportORACLE_UNQNAME=rac
exportORACLE_BASE=/u01/app/oracle
exportORACLE_HOME=/u01/app/oracle/11.2.0/db_1
exportORACLE_TERM=xterm
exportNLS_DATE_FORMAT="YYYY-MM-DDHH24:MI:SS"
exportPATH=${PATH}:$ORACLE_HOME/bin:.

exportTEMP=/tmp

exportTMP=/tmp
umask022

node1_grid:
exportORACLE_SID=+ASM1
#exportORACLE_SID=+ASM2
exportORACLE_BASE=/u01/grid
exportORACLE_HOME=/u01/app/grid/11.2.0
exportPATH=$ORACLE_HOME/bin:$PATH:.
exportTEMP=/tmp
exportTMP=/tmp
exportTMPDIR=/tmp
umask022

oracle:
exportORACLE_SID=rac1
#exportORACLE_SID=rac2
exportORACLE_UNQNAME=rac
exportORACLE_BASE=/u01/app/oracle
exportORACLE_HOME=/u01/app/oracle/11.2.0/db_1
exportORACLE_TERM=xterm
exportNLS_DATE_FORMAT="YYYY-MM-DDHH24:MI:SS"
exportPATH=${PATH}:$ORACLE_HOME/bin:.

exportTEMP=/tmp

exportTMP=/tmp
umask022

配共享磁盘:

先创建共享磁盘:

vmware-vdiskmanager.exe-c-s5120MB-alsilogic-t2“d:\sharedisk\sharedisk01.vmdk”

vmware-vdiskmanager.exe-c-s5120MB-alsilogic-t2“d:\sharedisk\sharedisk02.vmdk”

vmware-vdiskmanager.exe-c-s5120MB-alsilogic-t2“d:\sharedisk\sharedisk03.vmdk”

vmware-vdiskmanager.exe-c-s5120MB-alsilogic-t2“d:\sharedisk\sharedisk04.vmdk”

vmware-vdiskmanager.exe-c-s5120MB-alsilogic-t2“d:\sharedisk\sharedisk05.vmdk”

然后再把磁盘一个一个添加到两个节点上

添加之后

打开.vmx

添加:

disk.EnableUUID="TRUE"

diskLib.dataCacheMaxSize="0"
diskLib.dataCacheMaxReadAheadSize="0"
diskLib.dataCacheMinReadAheadSize="0"
diskLib.dataCachePageSize="4096"
diskLib.maxUnsyncedWrites="0"
disk.locking="FALSE"
scsi1:0.SharedBus="Virtual"
scsi1:1.SharedBus="Virtual"
scsi1:2.SharedBus="Virtual"
scsi1:3.SharedBus="Virtual"
scsi1:4.SharedBus="Virtual"

打开虚拟机

配置UDEV

我的是oraclelinux5.8

/sbin/scsi_id-g-u-s/block/sdb

/sbin/scsi_id-g-u-s/block/sdc

/sbin/scsi_id-g-u-s/block/sdd

/sbin/scsi_id-g-u-s/block/sde

/sbin/scsi_id-g-u-s/block/sdf

然后添加99-oracle-asmdevices.rules

/etc/udev/rules.d/99-oracle-asmdevices.rules

内容:

KERNEL=="sd*",BUS=="scsi",PROGRAM=="/sbin/scsi_id-g-u-s%p",RESULT=="36000c29732fadfd3ff9fa212d1de2e2e",NAME="asm-diskb",OWNER="grid",GROUP="asmadmin",MODE="0660"

KERNEL=="sd*",BUS=="scsi",PROGRAM=="/sbin/scsi_id-g-u-s%p",RESULT=="36000c29e184787560400153bb251c16f",NAME="asm-diskc",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="sd*",BUS=="scsi",PROGRAM=="/sbin/scsi_id-g-u-s%p",RESULT=="36000c29a1a5b2e2a3962ab90b3aa25ee",NAME="asm-diskd",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="sd*",BUS=="scsi",PROGRAM=="/sbin/scsi_id-g-u-s%p",RESULT=="36000c295d404bac8bb9c00f8f7d60a32",NAME="asm-diske",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="sd*",BUS=="scsi",PROGRAM=="/sbin/scsi_id-g-u-s%p",RESULT=="36000c2961f7aca1c95c4224f761666e7",NAME="asm-diskf",OWNER="grid",GROUP="asmadmin",MODE="0660"

在一个节点上配置好之后传递到另一个节点

scp99-oracle-asmdevices.rulesrac2:/etc/udev/rules.d/

重启udev

/sbin/start_udev

然后执行

ll/dev/asm*

就可以看到了。。。。。

这个弄了两天,,,,

如果系统是oraclelinux5版本的,99-oracle-asmdevices.rules这个文件里面的内容一定要和上面的一样。。。。。。否则找不到asm磁盘

接着安装grid