六、配置磁盘 (2个裸设备4个ASMDISK)(这节内容除了fdisk分区外,只用rac1上运行,其他步骤需要在rac1,rac2上运行)
(如果你后面装好了数据库软件,以及asm部分,这时你想重新装系统,建议你利用vmware-vdiskmanager工具重新生成物理的文件)
1、配置目录
[root@rac1 ~]# mkdir -p /home/oracle/app/oracle    (oracle软件安装目录)(rac2也需要执行)     
[root@rac1 ~]# mkdir -p /home/oracle/app/crs       (集群就绪软件目录)(rac2也需要执行)        注:下面的两个文件不需要创建,建好raw设备直接链接过来即可
/home/oracle/app/crs/ocr.crs    (集群注册)                   OCR大概需要至少100M空间
/home/oracle/app/crs/vote.crs   (表决磁盘)                   voting大概需要至少20M的空间[root@rac1 ~]# chown -R oracle:oinstall  /home/oracle/app    (rac2也需要执行)     
[root@rac1 ~]# chmod -R 775 /home/oracle/app                 (rac2也需要执行)     使用fdisk 对共享磁盘分区,只需在一个节点上执行,创建完后须要分别重起两个节点,重起后查看两个节点的磁盘是否都已经出现了刚才创建的分区
对 /dev/sdb
# fdisk /dev/sdb
m
d
n
p
1
回车
25
t
83
n
p
2
回车
51
t
2
83
w对 /dev/sdc /dev/sdd /dev/sde /dev/sdf都做以下操作:
# fdisk /dev/sdc
m
d
n
p
1
回车
回车
t
83
w
操作完后,得结果大致如下:
其他盘类似,如
#fdisk -l 
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1          25      200781   83  Linux
/dev/sdb2              26          51      208845   83  Linux
/dev/sdc1               1         261     2096451   83  Linux
/dev/sdd1               1         261     2096451   83  Linux
/dev/sde1               1         261     2096451   83  Linux
/dev/sdf1               1         261     2096451   83  Linux
2、配置 raw设备 (不能使用lvm+raw)(CentOS安装的时候,缺省是Linux LVM,需要改成Linux,上面那步已经做了)(rac2也需要执行)     
[root@rac1 ~]# raw /dev/raw/raw1 /dev/sdb1
[root@rac1 ~]# raw /dev/raw/raw2 /dev/sdb2注:如果在rac2上执行raw /dev/raw/raw2 /dev/sdb2报错,再执行一次fdisk /dev/sdb ,输入w就可找到了/dev/sdb2这个设备了.如果要取消裸设备的绑定,可以重建绑定这个裸设备到0 0.(如果上面没有出错,这步不用执行)
[root@rac1 ~]# raw /dev/raw/raw1 0 0授权裸设备
[root@rac1 ~]# chown oracle:oinstall /dev/raw/raw[1-2]
[root@rac1 ~]# chmod 660 /dev/raw/raw[1-2]ORACLE用户创建链接:
使用oracle用户
[root@rac1 ~]# su - oracle
[oracle@rac1 ~]$ ln -s /dev/raw/raw1 /home/oracle/app/crs/ocr.crs
[oracle@rac1 ~]$ ln -s /dev/raw/raw2 /home/oracle/app/crs/vote.crs
[oracle@rac1 ~]$ exit使开机启动自动绑定raw设备
#cp /etc/rc.d/rc.local /etc/rc.d/rc.local.bak.bak
#gedit /etc/rc.d/rc.local 
在文件最后添加如下内容:
raw /dev/raw/raw1 /dev/sdb1
raw /dev/raw/raw2 /dev/sdb2
chown oracle:oinstall /dev/raw/raw[1-2]
chmod 660 /dev/raw/raw[1-2]
3、利用ftp,把下载好的asm 程序ftp到虚拟机上(用root帐户来ftp)(rac2也需要执行)  
oracleasm-support-2.0.4-1.el5.i386.rpm 
oracleasm-2.6.18-92.el5-2.0.4-2.el5.i686.rpm
oracleasmlib-2.0.3-1.el5.i386.rpm4、配置asm 设备(rac2也需要执行)  
[root@rac1 ~]# cd /root   
[root@rac1 ~]# rpm -ivh oracleasm-support-2.0.4-1.el5.i386.rpm 
[root@rac1 ~]# rpm -ivh oracleasm-2.6.18-92.1.10.el5-2.0.4-1.el5.i686.rpm 
[root@rac1 ~]# rpm -ivh oracleasmlib-2.0.3-1.el5.i386.rpm配置ASMLib
(以下操作需要在两个节点上执行)
[root@rac1 ~]# /etc/init.d/oracleasm configure
Configuring the Oracle ASM library driver.This will configure the on-boot properties of the Oracle ASM library
driver.  The following questions will determine whether the driver is
loaded on boot and what permissions it will have.  The current values
will be shown in brackets ('[]').  Hitting <ENTER> without typing an
answer will keep that current value.  Ctrl-C will abort.Default user to own the driver interface []: oracle
Default group to own the driver interface []: oinstall
Start Oracle ASM library driver on boot (y/n) [n]: y
Fix permissions of Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration:           [  OK  ]
Creating /dev/oracleasm mount point:                       [  OK  ]
Loading module "oracleasm":                                [  OK  ]
Mounting ASMlib driver filesystem:                         [  OK  ]
Scanning system for ASM disks:                             [  OK  ]以上操作将加载oracleasm.o驱动,并且mount上ASM文件系统,同时我们可以通过以下命令来手工的卸载和加载ASMLib
[root@rac1 ~]# /etc/init.d/oracleasm disable   //出错检查/var/log/messages文件,确认需要更新的内核版本,这个可以不用执行[root@rac1 ~]# /etc/init.d/oracleasm enable    //这个要执行添加init文件使系统启动时自动加载ASMLib
[root@rac1 ~]# cd /etc/rc3.d
[root@rac1 ~]# ln -s ../init.d/oracleasm S99oracleasm
[root@rac1 ~]# ln -s ../init.d/oracleasm K01oracleasm
重新启动系统,确认ASMLib已经可以自动加载
[root@rac1 ~]#lsmod |grep oracleasm
oracleasm      44436  1
以下操作只需在一个节点上操作
创建ASM磁盘(说明:createdisk 是针对分区,不是针对磁盘,即:先应将磁盘分区)
(如果重新做了新的磁盘,你需要用deletedisk 删除了,再生成,保险一点)
[root@rac1 ~]# /etc/init.d/oracleasm createdisk VOL1 /dev/sdc1 
[root@rac1 ~]# /etc/init.d/oracleasm createdisk VOL2 /dev/sdd1  
[root@rac1 ~]# /etc/init.d/oracleasm createdisk VOL3 /dev/sde1  
[root@rac1 ~]# /etc/init.d/oracleasm createdisk VOL4 /dev/sdf1  
以下操作需在两个节点上操作
[root@rac1 ~]# /etc/init.d/oracleasm scandisks
[root@rac1 ~]# /etc/init.d/oracleasm listdisks
 
[root@rac1 ~]# /etc/init.d/oracleasm listdisks   //列出ASM磁盘
VOL1
VOL2
VOL3
VOL4
如果要删除ASM磁盘通过以下命令
[root@rac1 ~]# /etc/init.d/oracleasm deletedisk VOL4
注意:
   如果是在RAC环境中的某一个节点中添加了ASM磁盘,那么需要在其他的节点上运行scandisk来获取这种变化
[root@rac1 ~]# /etc/init.d/oracleasm scandisks
OK,现在已经完成了创建ASM实例的物理基础,下面开始安装数据库
**********************************************************************************************
建议:程序下载过去后,关机,把rac1,rac2虚拟机备份一个,以防后面做错,前面的就白做了.
**********************************************************************************************

解决方案 »

  1.   

    七、安装Clusterware
    注意:    时间同步很重要,否则安装过程出错.因为vmware的时间问题,我在安装到同步文件到rac2这步时,每2秒同步一次时间,不然安装出错.
        在这项配置中,除非特别说明,所有操作都是基于oracle用户的.1、利用ftp,把10201_clusterware_linux32.zip下载到rac1上(用oracle用户下载),并解压
    $ cd /home/oracle
    $ unzip -q 10201_clusterware_linux32.zip
    $ rm -rf 10201_clusterware_linux32.zip2、检查安装环境
    在安装crs之前,建议先利用CVU(Cluster Verification Utility)检查 CRS 的安装前环境 (需要先安装cvuqdisk-1.0.1-1.rpm ,位于clusterware/rpm/目录下)
    [oracle@rac1]$ /home/oracle/clusterware/cluvfy/runcluvfy.sh stage -pre crsinst -n rac1,rac2 -verbose需要注意几点,其返回的信息中有几个错误可忽略~~.与VIP 查找一组适合的接口有关,错误信息如下:
    错误信息如下:
    ERROR:
    Could not find a suitable set of interfaces for VIPs.这是一个bug,Metalink中有详细说明,doc.id:338924.1,如说明中所述,可以忽略该错误,没什么问题..有一堆包的验证会出现错误,要么提示找不到,要么是版本不对.例如:
    Check: Package existence for "compat-gcc-7.3-2.96.128"
      Node Name                       Status                          Comment         
      ------------------------------  ------------------------------  ----------------
      node2                           missing                         failed         
      node1                           missing                         failed         
    Result: Package existence check failed for "compat-gcc-7.3-2.96.128"............
    ...........
    这之类的吧不用管它们,这也是一个BUG,只要确认节点中都已经安装了正确版本的 compat-* 包即可..内存检查失败
    可以忽略的错误,内存差一点并不会影响到crs的安装,只是慢一些而已.
    2、开始安装crs会遇到Checking operating system version: must be redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2这个错误
    解决方法如下:(这个方法还没有成功,还没有找到CentOS具体的配置,你在运行runInstaller的时候,需要加上-ignoreSysPrereqs参数,系统检查的时候,强制下一步)
    $cd /home/oracle/clusterware/install
    $cp oraparam.ini oraparam.ini.bak
    $gedit oraparam.ini
    ### #[Certified Versions] 
    Linux=redhat-3,SuSE-9,redhat-4,centos-5,UnitedLinux-1.0,asianux-1,asianux-2] 
    再添加 
    [Linux-CentOS release 5.2 (Final)-optional] 
    TEMP_SPACE=80 
    SWAP_SPACE=150 
    MIN_DISPLAY_COLORS=256 解决中文乱码的方法:安装JDK方法
    把jdk-1_5_0_16-linux-i586-rpm.bin从SUN公司网站下下来以后,ftp到rac1,rac2上(root权限)
    # cd /root
    # chmod 777 jdk-1_5_0_16-linux-i586-rpm.bin
    # ./jdk-1_5_0_16-linux-i586-rpm.bin
    按回车到文件最后,输入yes就可以了.
    # rm -rf jdk-1_5_0_16-linux-i586-rpm.bin
    # exit如果使用中文安装,安装出现的乱码主要原因来自于oracle自带的jre,所以我们首先安装自己的java的jre安装好后
    $ cd  /home/oracle/clusterware
    $ export ORACLE_HOME=/home/oracle/app/crs
    $./runInstaller -ignoreSysPrereqs  -jreLoc /usr/java/jdk1.5.0_16/jre
    rac的安装并没有太明显的主从关系,一般我们认为,在哪个上面执行了安装,哪个就是主(实际也不完全是这样,主节点安装的时候,也会自动将文件复制到其它节点的)
    这里我们选择rac1进行安装~~
    安装图形界面的步骤:
    下一步(N) --> 
    下一步(N) --> 
    下一步(N) --> 
    是(Y) --> 
    (1个警告,1个要求待验证.)下一步(N) --> 
    是(Y) -->  
    添加(A) --> 
    从上到下,依次是: rac2.localdomain , rac2-priv.localdomain , rac2-vip.localdomain  --> 
    确定(O)  --> 
    下一步(N) --> 
    选中eth0,点击 编辑(E) --> 
    把 专用 选择成 公用 --> 
    确定 --> 
    下一步(N) --> 
    外部冗余(E) --> 
    在空白处输入 /dev/raw/raw1 --> 
    下一步(N) --> 
    外部冗余(E) --> 
    在空白处输入 /dev/raw/raw2 -->
    下一步(N) --> 
    (如果这时报 请检查/dev/raw/raw2是否有oracle权限时
    在rac1,rac2上执行:
    # chown oralce:oinstall /dev/raw/raw2
    # chmod 660 /dev/raw/raw2
    就行了.
    下一步(N) --> 
    )
    安装(I),现在等着,大概1小20时分钟时间
    关于磁盘冗余
    指定OCR使用外部冗余还是内部冗余,如果服务器作了raid,不需要内部冗余,直接选择外部冗余.
    指定表决磁盘(所谓表决磁盘,实际就是一个文件),仍然使用外部冗余.
     3、(一定会碰到这个错误,请在rac1的root.sh执行之前做,rac1,rac2都要做)
    错误描述:在/home/oracle/app/crs/bin下,运行vipca就会有这个错误
    (这个错误一定会碰见,因此在rac1在执行./root.sh之后,请先解决这个错误)
    /home/oracle/app/crs/jdk/jre//bin/java: error while loading shared libraries:  libpthread.so.0: cannot open shared object file: No such file or directory
    可以按照如下方式解决:修改vipca文件(需要在两个节点上操作)
    [oracle@rac2 bin]$ cp /home/oracle/app/crs/bin/vipca /home/oracle/app/crs/bin/vipca.bak
    [oracle@rac2 bin]$ gedit /home/oracle/app/crs/bin/vipca
    找到如下内容:
           Remove this workaround when the bug 3937317 is fixed
           arch=`uname -m`
           if [ "$arch" = "i686" -o "$arch" = "ia64" ]
           then
                LD_ASSUME_KERNEL=2.4.19
                export LD_ASSUME_KERNEL
           fi
           #End workaround
    在fi后新添加一行:
    unset LD_ASSUME_KERNEL以及srvctl文件 (需要在两个节点上操作)
    [oracle@rac2 bin]$ cp /home/oracle/app/crs/bin/srvctl /home/oracle/app/crs/bin/srvctl.bak
    [oracle@rac2 bin]$ gedit /home/oracle/app/crs/bin/srvctl
    找到如下内容:
    LD_ASSUME_KERNEL=2.4.19
    export LD_ASSUME_KERNEL
    同样在其后新增加一行:
    unset LD_ASSUME_KERNEL4、在rac1,rac2上,执行orainstRoot.sh和root.sh脚本.
    $ su - root
    # cd /home/oracle/app/oracle/oraInventory
    # ./orainstRoot.sh
    # cd /home/oracle/app/crs
    # ./root.sh
    遇到Native: listNetInterfaces:[3]的解决办法:(这个的时机是在rac1,rac2都执行完root.sh后,点确定之前,如果错误没有出现,可以不做这一步)
    现象:
    [root@rac2 bin]#  ./vipca
    Error 0(Native: listNetInterfaces:[3])
      [Error 0(Native: listNetInterfaces:[3])]
    解决办法:
    [root@rac2 bin]# ./oifcfg iflist
    eth0  192.168.1.0
    eth1  10.0.0.0
    [root@rac2 bin]#  ./oifcfg setif -global eth0/192.168.1.0:public
    [root@rac2 bin]#  ./oifcfg setif -global eth1/10.0.0.0:cluster_interconnect
    [root@rac2 bin]# ./oifcfg getif
    eth0  192.168.1.0  global  public
    eth1  10.0.0.0  global  cluster_interconnect
    然后新开一个终端,要运行
    # unset LANG
    # /home/oracle/app/crs/bin/vipca 
    进行配置
    遇到:IP地址 "rac1-vip" 已被使用.请输入一个未使用的 IP 地址.的解决办法:
    手工重新配置VIP
    使用root用户,在rac2上操作(需要图形界面)(这个的时机是在rac1,rac2都执行完root.sh后,点确定之前)
    [root@rac2 bin]# unset LANG
    [root@rac2 bin]# /home/oracle/app/crs/bin/vipca  
    Next
    选择eth0
    填写rac1和rac2的vip地址,如:
    rac1        rac1-vip.localdomain        192.168.1.200         255.255.255.0
    rac2        rac2-vip.localdomain        192.168.1.201         255.255.255.0
    Next
    vipca开始自动配置遇到:
    Warning: Cannot convert string "-isas-song ti-medium-r-normal--*-140-*-*-c-*-
    gb2312.1980-0" to type FontStruct 的解决办法:
    先敲入unset LANG以取消语言设定,然后出来的GUI界面就是英文的,我想只能这样好受一点,总比乱码好一点吧.
    **************************************************************************
    启动vip时失败报错,查看日志/home/oracle/app/crs/log/rac1/racg/ora.rac1.vip.log
    Default gateway is not defined
    设好网关,重试,OK启动ons失败报错,查看日志/home/oracle/app/crs/log/rac1/racg/ora.rac1.ons.log
    Failed to get IP for localhost
    vi /etc/hosts
    添加127.0.0.1              rac1 localhost.localdomain localhost
    重试,OK
    配置好以后会有一个 eth0:1的虚拟网卡,ip地址为vip
    重试 oracle cluster verfication utility ,通过,OK
    被*包围的这部分我安装的时候没有出现,但我保留.host and port number already configrued in OCR
    **************************************************************************5、最后一步 oracle cluster verfication utility 可能会失败:Checking existence of VIP node application (required)
    Check failed.
    Check failed on nodes:
            rac2,rac1执行成功后返回图形界面,点击ok,这时开始执行环境配置.
      

  2.   

    如果在/home/oracle/app/oracle/oraInventory/logs/installActions...文件中
    报WARNING: RAC2.localdomain:6200 already configured.WARNING: RAC1.localdomain:6200 already configured.的错误
    请执行
    $cd /home/oracle/app/crs/bin
    $racgons remove_config rac1.localdomain:6200
    $racgons remove_config rac2.localdomain:6200
    只需要在rac1上执行就行.
    至此,Clusterware安装完毕.重新启动两台操作系统
    CRS 安装结束 
    从/home/oracle/app/crs/bin 目录中运行 olsnodes 验证安装已成功,例如: 
    用oracle用户登录
    $ cd /home/oracle/app/crs/bin
    $ olsnodes
    rac1
    rac2
    Once CRS 已安装并运行;禁止Clusterware在系统重启后自动启动的方法:
    # /etc/init.d/init.crs disable
    启动Clusterware在系统重启后自动启动的方法:
    # /etc/init.d/init.crs enable
    [oracle@rac1 ~]$ /home/oracle/app/crs/bin./crs_stat -t
    Name           Type           Target    State     Host        
    ------------------------------------------------------------
    ora.rac1.gsd   application    ONLINE    UNKNOWN   rac1        
    ora.rac1.ons   application    ONLINE    UNKNOWN   rac1        
    ora.rac1.vip   application    ONLINE    ONLINE    rac1        
    ora.rac2.gsd   application    ONLINE    UNKNOWN   rac2        
    ora.rac2.ons   application    ONLINE    UNKNOWN   rac2        
    ora.rac2.vip   application    ONLINE    ONLINE    rac2  [oracle@rac1 bin]$ crs_stop -all
    Attempting to stop `ora.rac1.vip` on member `rac1`
    Attempting to stop `ora.rac2.vip` on member `rac2`
    Stop of `ora.rac2.vip` on member `rac2` succeeded.
    Stop of `ora.rac1.vip` on member `rac1` succeeded.[oracle@rac1 bin]$ crs_start -all
    Attempting to start `ora.rac1.vip` on member `rac1`
    Attempting to start `ora.rac2.vip` on member `rac2`
    Start of `ora.rac1.vip` on member `rac1` succeeded.
    Start of `ora.rac2.vip` on member `rac2` succeeded.
    上面的这些crs_stat -t输出是我多次安装时出错的状态,
    我装好了一次,状态如下:
    [oracle@rac1 bin]$ crs_stat -t
    Name           Type           Target    State     Host        
    ------------------------------------------------------------
    ora.rac1.gsd   application    ONLINE    ONLINE    rac1        
    ora.rac1.ons   application    ONLINE    ONLINE    rac1        
    ora.rac1.vip   application    ONLINE    ONLINE    rac1        
    ora.rac2.gsd   application    ONLINE    ONLINE    rac2        
    ora.rac2.ons   application    ONLINE    ONLINE    rac2        
    ora.rac2.vip   application    ONLINE    ONLINE    rac1   查看CRS服务状态
    $ ./crsctl check crs
    CSS appears healthy
    CRS appears healthy
    EVM appears healthy结果显示正确就可以.不报错的话当然就不需要执行了,如果没有错误你应该也找不到configToolFailedCommands.sh文件.重新启动两台计算机后,如果发现有unknown的状态,解决方法如下:
    $ crs_stop -f ora.rac1.gsd
    $ crs_start -f ora.rac1.gsd
    crs_stop -f 强制关闭,如果不强制-f关闭,那么实在不知道怎么办了.如果crs_stop -f还是启动不了的话,请执行以下语句:
    停止CRS:
    # /etc/init.d/init.crs stop //或者
    # ./crsctl stop crs //或者
    $ ./crs_stop –all
    启动CRS:
    # /etc/init.d/init.crs start //或者
    $ ./crsctl start crs
    然后等待90秒以后,执行以下指令:
    $ ./crsctl check crs
    $ ./crs_stat -t
    如果还发现有unknown的状态,解决方法如下:
    $ ./crs_stop -f ora.rac1.gsd     //关闭unknown状态的节点,ora.rac1.gsd 这个是我的例子,自己相应地改就是了.
    $ ./crs_start -f ora.rac1.gsd
    最后实现的效果是:
    [oracle@rac1 bin]$ crs_stat -t
    Name           Type           Target    State     Host        
    ------------------------------------------------------------
    ora.rac1.gsd   application    ONLINE    ONLINE    rac1        
    ora.rac1.ons   application    ONLINE    ONLINE    rac1        
    ora.rac1.vip   application    ONLINE    ONLINE    rac1        
    ora.rac2.gsd   application    ONLINE    ONLINE    rac2        
    ora.rac2.ons   application    ONLINE    ONLINE    rac2        
    ora.rac2.vip   application    ONLINE    ONLINE    rac1  遇到: 在运行 ./olsnodes 报: 的错误时的解决办法:
    # ./oracleasm  scandisks
    # ./oracleasm  listdisks
    # reboot
    重新启动后,就可以了。遇到CRS-0184: Cannot communicate with the CRS daemon.的错误
    解决方法:
    $ su - root
    # /etc/init.d/init.crs start   启动底层服务,rac1,rac2都要启动
    # exit
    等待90秒钟
    (不建议使用以下的解决办法)
    $ cd /home/oracle/app/crs/bin
    $ ./crsctl start resources  启动资源
    如果还是启动不了
    更改两个节点的/etc/security/limits.conf
    修改下面的配置:fsize = -1
    core = 2097151
    cpu = -1
    data = -1
    rss = -1
    stack = -1
    nofiles = -1
    重新启动系统:
    一切正常:
    如果遇到unkown,见上面的解决办法.
    现在可以安装 Oracle RAC 软件的其余部分了.
    **********************************************************************************************
    建议:现在就关机,把rac1,rac2虚拟机备份一个,以防后面做错,前面的就白做了.
    **********************************************************************************************
      

  3.   

    八、安装Database软件
    (保证$ ./crsctl check crs  $ ./crs_stat -t ,这两个命令执行的结果都是正常)
    (要新开启一个终端,防止ORACLE_HOME=/home/oracle/app/crs的影响,我们要的位置是ORACLE_HOME=/home/oracle/app/oracle)
    1.开始安装 (oracle用户登录)
    $ cd /home/oracle/databases 
    $ ./runInstaller -ignoreSysPrereqs  -jreLoc /usr/java/jdk1.5.0_16/jre 
    2.安装图形界面的步骤:
    下一步(N) --> 
    企业版(E)(1.26GB)下一步(N) --> 
    下一步(N) --> 
    全选(S) --> 
    下一步(N) --> 
    (1个警告,3个要求待验证.)下一步(N) --> 
    是(Y) --> 
     //可能出现 : 问是否升级 选择 否(N) --> 
    仅安装数据库软件(S) -->  
    下一步(N) --> 
    安装(I),现在等着,大概2小时分钟时间
    10:51 - 12:54然后在rac1,rac2上,执行root.sh
    $ su - root
    # cd /home/oracle/app/oracle/product/10.2.0/db_1
    # ./root.sh
    都是回车
    --> 确定
    注意点:
    1.选择安装节点时,把所有节点都选上
    2.选择配置选项时,只安装数据库软件,数据可以留以后再配
        选择:install database software only
    3.同样要注意时间同步问题.
    $ su - root
    # /etc/init.d/init.crs stop   启动底层服务
    报Error while stopping resources.Possible cause : CRSD is down的错误
    解决办法:
    在重新启动两台虚拟机前,关闭服务(两台都要执行)
    # cd /etc/init.d
    # ./init.crs disable 
    重新启动后,两台计算机都要执行
    # cd /etc/init.d
    # ./init.crs enable
    # ./init.crs start
    # ./init.crs stop
    # ./init.crs start
    就可以了执行(crs_stat -t遇到unknown节点)
    $ ./crs_stop -f ...
    $ ./crs_start -f ...
    比如说: ora.rac1.gsd UNKNOWN
    $ ./crs_stop -f ora.rac1.gsd
    $ ./crs_start -f ora.rac1.gsd
    就可以了.
    [oracle@rac1 bin]$ ./crs_stat -t
    Name           Type           Target    State     Host
    ------------------------------------------------------------
    ora.rac1.gsd   application    ONLINE    ONLINE    rac1
    ora.rac1.ons   application    ONLINE    ONLINE    rac1
    ora.rac1.vip   application    ONLINE    ONLINE    rac1
    ora.rac2.gsd   application    ONLINE    ONLINE    rac2
    ora.rac2.ons   application    ONLINE    ONLINE    rac2
    ora.rac2.vip   application    ONLINE    ONLINE    rac2九、创建数据库和ASM实例
    (保证$ ./crsctl check crs  $ ./crs_stat -t ,这两个命令执行的结果都是正常)
    显示是乱码的解决方法:
    如果你用命令行进入dbca 的,先敲入unset LANG以取消语言设定,然后出来的GUI界面就是英文的,我想只能这样好受一点,总比乱码好一点吧
    1.开始安装 (oracle用户登录)
    $ cd /home/oracle/app/oracle/product/10.2.0/db_1/bin
    $ unset LANG
    $ dbca2.安装图形界面的步骤:
    Oracle Real Application Clusters database Next --> 
    Create a Database Next -->
    Select All Next --> 
    Custom Database Next--> 
    "RAC.WORLD" and "RAC" Next -->
    不选择什么  Next --> 
    输入数据库密码 Next -->
    "Automatic Storage Management (ASM)"  Next --> 
    Create initialization parameter file(IFILE) Next --> 
    输入sys新的密码 --> 
    Yes (DBCA will now create and start the ASM instance)  -->
    Yes (Do you want listener on port 1521)  -->
    Create New --> 
    Disk Group Name 取名字叫 orclvol ,并选中 OCL-VOL1,OCL-VOL2,OCL-VOL3,OCL-VOL4 点ok --> 
    Next --> 
    Data Area: +ORCLVOL(不用改变) Next --> 
    勾选 Specify Flash Recovery Area ,选择Browse... -->
    点击 ok --> 
    Flash Recovery Area: +ORCLVOL ,Flash Recovery Area Size:2048 MB (不用改变) ,不要勾选 Enable Archiving(归档日志) -->
    取消 Oracle Data Mining ,Oracle Text , Oracle OLAP , Oracle Spatial ,留下Enterprise Manager Repository勾选 -->
    点击 Standard Database Components...按钮 --> 
    不选择 Oracle XML DB,勾选 Oracle JVM --> 
    ok -->
    Next --> 
    Next --> 
    选择 Custom ,其他缺省 --> 
    Next --> 
    Next --> 
    Finish --> 
    ok
    安装完后 ,exit
    现在等着很长的时间,因为我是从晚上0:19,在第二天早上6:19发现有集群上的错误,从新启动,到6:52才才装好.反正一句话,这个时间安装得长.
    测试一下:
    http://192.168.1.100:1158/em安装的过程中
    出现 fatal error:ora.rac2.LISTENER_RAC2.lsnr 或者类似的资源 不能启动
    解决办法:
    $ crs_stop -f ora.rac2.LISTENER_RAC2.lsnr
    $ crs_start -f ora.rac2.LISTENER_RAC2.lsnr
    $ crs_stop -f ora.rac2.ASM2.asm
    $ crs_start -f ora.rac2.ASM2.asm[oracle@rac2 bin]$ ./crs_stat -t
    Name           Type           Target    State     Host
    ------------------------------------------------------------
    ora....C1.inst application    ONLINE    ONLINE    rac1
    ora....C2.inst application    ONLINE    ONLINE    rac2
    ora.RAC.db     application    ONLINE    ONLINE    rac2
    ora....SM1.asm application    ONLINE    ONLINE    rac1
    ora....C1.lsnr application    ONLINE    ONLINE    rac1
    ora.rac1.gsd   application    ONLINE    ONLINE    rac1
    ora.rac1.ons   application    ONLINE    ONLINE    rac1
    ora.rac1.vip   application    ONLINE    ONLINE    rac1
    ora....SM2.asm application    ONLINE    ONLINE    rac2
    ora....C2.lsnr application    ONLINE    ONLINE    rac2
    ora.rac2.gsd   application    ONLINE    ONLINE    rac2
    ora.rac2.ons   application    ONLINE    ONLINE    rac2
    ora.rac2.vip   application    ONLINE    ONLINE    rac2ora....C2.lsnr : ora.rac2.LISTENER_RAC2.lsnr
    ora....C1.lsnr : ora.rac1.LISTENER_RAC1.lsnr
    ora....SM2.asm : ora.rac2.ASM2.asm
    ora....SM1.asm : ora.rac1.ASM1.asm
    ora....C1.inst : ora.RAC.RAC1.inst
    ora....C2.inst : ora.RAC.RAC2.inst