• OCM_Session7_10_安装clusterware


    十、安装clusterware

    开始安装,我是使用xmanager 4安装的,我的本机ip为192.168.1.103

    [root@rac1 ~]# xhost+
    -bash: xhost+: command not found
    [root@rac1 ~]# export DISPLAY=192.168.1.103:0.0
    [root@rac1 ~]# su - oracle
    [oracle@rac1 ~]$ cd /stage/clustware/Disk1/clusterware/
    [oracle@rac1 clusterware]$ ll
    total 36
    drwxr-xr-x 2 oracle oinstall 4096 Jul  3  2005 cluvfy
    drwxr-xr-x 6 oracle oinstall 4096 Jul  3  2005 doc
    drwxr-xr-x 4 oracle oinstall 4096 Jul  3  2005 install
    drwxr-xr-x 2 oracle oinstall 4096 Jul  3  2005 response
    drwxr-xr-x 2 oracle oinstall 4096 Jul  3  2005 rpm
    -rwxr-xr-x 1 oracle oinstall 1328 Jul  3  2005 runInstaller
    drwxr-xr-x 9 oracle oinstall 4096 Jul  3  2005 stage
    drwxr-xr-x 2 oracle oinstall 4096 Jul  3  2005 upgrade
    -rw-r--r-- 1 oracle oinstall 3445 Jul  3  2005 welcome.html
    [oracle@rac1 clusterware]$ ./runInstaller 
    Starting Oracle Universal Installer...

    Checking installer requirements...

    Checking operating system version: must be redhat-3, SuSE-9, redhat-4, UnitedLinux-1.0, asianux-1 or asianux-2
                                          Passed


    All installer requirements met.

    Preparing to launch Oracle Universal Installer from /tmp/OraInstall2014-03-22_03-39-48PM. Please wait ...[oracle@rac1 clusterware]$ Oracle Universal Installer, Version 10.2.0.1.0 Production
    Copyright (C) 1999, 2005, Oracle. All rights reserved.

    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    如果出现以下错误,则是因为缺少-ivh libXp-1.0.0-8.1.el5.i386.rpm的原因,之前我在检查缺少包时,已经安装过了。

    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Exception java.lang.UnsatisfiedLinkError: /tmp/OraInstall2014-03-22_08-31-31AM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory occurred..
    java.lang.UnsatisfiedLinkError: /tmp/OraInstall2014-03-22_08-31-31AM/jre/1.4.2/lib/i386/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory
            at java.lang.ClassLoader$NativeLibrary.load(Native Method)
            at java.lang.ClassLoader.loadLibrary0(Unknown Source)
            at java.lang.ClassLoader.loadLibrary(Unknown Source)
            at java.lang.Runtime.loadLibrary0(Unknown Source)
            at java.lang.System.loadLibrary(Unknown Source)
            at sun.security.action.LoadLibraryAction.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at sun.awt.NativeLibLoader.loadLibraries(Unknown Source)
            at sun.awt.DebugHelper.<clinit>(Unknown Source)
            at java.awt.Component.<clinit>(Unknown Source)
            at oracle.sysman.oii.oiif.oiifm.OiifmGraphicInterfaceManager.<init>(OiifmGraphicInterfaceManager.java:222)
            at oracle.sysman.oii.oiic.OiicSessionInterfaceManager.createInterfaceManager(OiicSessionInterfaceManager.java:193)
            at oracle.sysman.oii.oiic.OiicSessionInterfaceManager.getInterfaceManager(OiicSessionInterfaceManager.java:202)
            at oracle.sysman.oii.oiic.OiicInstaller.getInterfaceManager(OiicInstaller.java:436)
            at oracle.sysman.oii.oiic.OiicInstaller.runInstaller(OiicInstaller.java:926)
            at oracle.sysman.oii.oiic.OiicInstaller.main(OiicInstaller.java:866)
    Exception in thread "main" java.lang.NoClassDefFoundError
            at oracle.sysman.oii.oiif.oiifm.OiifmGraphicInterfaceManager.<init>(OiifmGraphicInterfaceManager.java:222)
            at oracle.sysman.oii.oiic.OiicSessionInterfaceManager.createInterfaceManager(OiicSessionInterfaceManager.java:193)
            at oracle.sysman.oii.oiic.OiicSessionInterfaceManager.getInterfaceManager(OiicSessionInterfaceManager.java:202)
            at oracle.sysman.oii.oiif.oiifm.OiifmAlert.<clinit>(OiifmAlert.java:151)
            at oracle.sysman.oii.oiic.OiicInstaller.runInstaller(OiicInstaller.java:984)
            at oracle.sysman.oii.oiic.OiicInstaller.main(OiicInstaller.java:866)
    ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    缺少包
    [oracle@rac1 clusterware]$ su -
    Password: 
    [root@rac1 ~]# mount /dev/cdrom /mnt/
    mount: you must specify the filesystem type
    [root@rac1 ~]# mount /dev/cdrom /mnt/
    mount: block device /dev/cdrom is write-protected, mounting read-only
    [root@rac1 ~]# cd /mnt/Server/
    [root@rac1 Server]#  rpm -ivh libXp-1.0.0-8.1.el5.i386.rpm 
    warning: libXp-1.0.0-8.1.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
    Preparing...                ########################################### [100%]
       1:libXp                  ########################################### [100%]
    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


    1.稍微等几秒钟,便可看见弹出的clusterware安装界面,点击“Next”
    安装oracle clusterware 10.2.0.1.0开始,进入欢迎界面点击“Next”



    2.将oraInventory目录安装到/u01/app/oracle/oraInventory下,点击“Next”
    指定操作系统组:oinstall组
    默认


    3.定义clusterware的安装路径,点击“Next”
    Name:OraCrs10g_home
    Path:/u01/app/oracle/product/10.2.0/crs_1


    4.先决条件prerequisite检查,0 requirements to beverified。
    安装前期的环境检查,如图所示



    5. 指定集群节点rac1 rac2 Specify Cluster Configuration 这个地方系统默认只显示一个节点,另一个节点需要手动添加
    点击“Add…”-> Public Node Name:rac2.localdomain  -> Private Node Name:rac2-priv.localdomain -> virtual Host Name: rac2-vip.localdomain




    6. 指定网卡接口用途,系统把所有网卡都扫描进来
    点击“Edit”修改
    eth0设置为public网卡
    eth1设置为private网卡


    7.指定“OCR 集群注册表”所对应裸设备路径,点击“Next”
    OCR:oracle cluster register集群注册表文件,这个文件中记录了oracle RAC的所有可用资源,例如:实例, 数据库 ,监听 ,节点 ,ASM 磁盘组, service服务等资源,只有把新资源注册到OCR才能被RAC调配使用。例如 新加入一个节点到RAC架构,就需要把新节点注册到OCR,由于OCR文件非常重要因此需要我们拥有冗余方案。
    选择“External Redundancy 外部冗余”【你将用磁盘管理系统提供OCR冗余】
    Specify OCR Location:/dev/raw/raw1


    8.指定“Voting Disk 表决磁盘”所对应裸设备路径,点击“Next”
    Voting Disk:表决磁盘是用于防止脑裂现象的一种判断机制,一般为单数个磁盘,当某个节点发生通信故障或不能继续扮演RAC角色时需要表决磁盘来判断是否剔除它。
    选择“External Redundancy 外部冗余”
    Specify Voting Disk Location:/dev/raw/raw2


    9.当上述属性设置完之后,下面开始正式的安装过程,点击“Install”,主节点安装完成后,系统会自动往rac2对应目录下推送clusterware的所有文件。



    ----------------------------------------------------------------------------------------------------------------------------------------
    如果出现以下错误,则是缺少包的原因,安装包后,在retry,就可以了。


    [root@rac1 Server]# rpm -ivh kernel-headers-2.6.18-274.el5.i386.rpm 
    warning: kernel-headers-2.6.18-274.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
    Preparing...                ########################################### [100%]
       1:kernel-headers         ########################################### [100%]
    [root@rac1 Server]# rpm -ivh glibc-headers-2.5-65.i386.rpm 
    warning: glibc-headers-2.5-65.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
    Preparing...                ########################################### [100%]
       1:glibc-headers          ########################################### [100%]
    [root@rac1 Server]# rpm -ivh glibc-devel-2.5-65.i386.rpm
    warning: glibc-devel-2.5-65.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
    Preparing...                ########################################### [100%]
       1:glibc-devel            ########################################### [100%]
    [root@rac1 Server]# rpm -ivh gcc-4.1.2-51.el5.i386.rpm
    warning: gcc-4.1.2-51.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
    Preparing...                ########################################### [100%]
       1:gcc                    ########################################### [100%]
    [root@rac1 Server]# rpm -ivh libstdc++-devel-4.1.2-51.el5.i386.rpm 
    warning: libstdc++-devel-4.1.2-51.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
    Preparing...                ########################################### [100%]
       1:libstdc++-devel        ########################################### [100%]
    [root@rac1 Server]# rpm -ivh gcc-c++-4.1.2-51.el5.i386.rpm 
    warning: gcc-c++-4.1.2-51.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
    Preparing...                ########################################### [100%]
       1:gcc-c++                ########################################### [100%]
    [root@rac1 Server]# 

    ---------------------------------------------------------------------------------------------------------------------------


     
    10.安装完成之后,需要分别在两个节点以root身份运行两个脚本
    第一个脚本在所有节点上都执行 /u01/app/oracle/oraInventory/orainstRoot.sh
    第二个脚本在所有节点上都执行 /u01/app/oracle/product/10.2.0/crs_1/root.sh



    按顺序执行
    su - root
    先在rac1节点上执行:

    root@rac1 ~]# /u01/app/oracle/oraInventory/orainstRoot.sh
    Changing permissions of /u01/app/oracle/oraInventory to 770.
    Changing groupname of /u01/app/oracle/oraInventory to oinstall.
    The execution of the script is complete
    [root@rac1 ~]# /u01/app/oracle/product/10.2.0/crs_1/root.sh
    WARNING: directory '/u01/app/oracle/product/10.2.0' is not owned by root
    WARNING: directory '/u01/app/oracle/product' is not owned by root
    WARNING: directory '/u01/app/oracle' is not owned by root
    Checking to see if Oracle CRS stack is already configured
    /etc/oracle does not exist. Creating it now.

    Setting the permissions on OCR backup directory
    Setting up NS directories
    Oracle Cluster Registry configuration upgraded successfully
    WARNING: directory '/u01/app/oracle/product/10.2.0' is not owned by root
    WARNING: directory '/u01/app/oracle/product' is not owned by root
    WARNING: directory '/u01/app/oracle' is not owned by root
    assigning default hostname rac1 for node 1.
    assigning default hostname rac2 for node 2.
    Successfully accumulated necessary OCR keys.
    Using ports: CSS=49895 CRS=49896 EVMC=49898 and EVMR=49897.
    node <nodenumber>: <nodename> <private interconnect name> <hostname>
    node 1: rac1 rac1-priv rac1
    node 2: rac2 rac2-priv rac2
    Creating OCR keys for user 'root', privgrp 'root'..
    Operation successful.
    Now formatting voting device: /dev/raw/raw2
    Format of 1 voting devices complete.
    Startup will be queued to init within 90 seconds.
    Adding daemons to inittab
    Expecting the CRS daemons to be up within 600 seconds.
    CSS is active on these nodes.
            rac1
    CSS is inactive on these nodes.
            rac2
    Local node checking complete.
    Run root.sh on remaining nodes to start CRS daemons.
    [root@rac1 ~]# 
    ----------------------------------------------------------------------------------------------------------------------

    再在rac2节点上执行

    [root@rac2 ~]# /u01/app/oracle/oraInventory/orainstRoot.sh
    Changing permissions of /u01/app/oracle/oraInventory to 770.
    Changing groupname of /u01/app/oracle/oraInventory to oinstall.
    The execution of the script is complete

    ------------------------------------------------------------------------------------------------------

    在rac2执行/u01/app/oracle/product/10.2.0/crs_1/root.sh之前要修改两个文件,否则会出现以下错误:
    /u01/app/oracle/product/10.2.0/crs_1/jdk/jre//bin/java: error while loading shared libraries: libpthread.so.0: cannot open shared object file: No such file or directory

    ----------------------------------------------------------------------------------------------------------------



    11.下面我们在rac2上执行root.sh脚本之前需要先在两个节点中都编辑两个文件,使用root用户修改
    其实这里需要在两个节点上都需要这两个文件的修改。

    第一个文件
    [root@rac2 ~]# vi /u01/app/oracle/product/10.2.0/crs_1/bin/vipca
    搜索/LD_ASSUME_KERNEL


           #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
           unset LD_ASSUME_KERNEL ---添加一行:清除环境变量
           #End workaround

    -------------------------------------------------------------------------------------------------------
    第二个文件
    [root@rac2 ~]# vi /u01/app/oracle/product/10.2.0/crs_1/bin/srvctl


    #Remove this workaround when the bug 3937317 is fixed
    LD_ASSUME_KERNEL=2.4.19
    export LD_ASSUME_KERNEL
     unset LD_ASSUME_KERNEL---添加一行:清除环境变量
    # Run ops control utility

    --------------------------------------------------------------------------------------               

    12.然后在rac2节点下用root身份执行

    [root@rac2 ~]# /u01/app/oracle/product/10.2.0/crs_1/root.sh
    WARNING: directory '/u01/app/oracle/product/10.2.0' is not owned by root
    WARNING: directory '/u01/app/oracle/product' is not owned by root
    WARNING: directory '/u01/app/oracle' is not owned by root
    Checking to see if Oracle CRS stack is already configured
    /etc/oracle does not exist. Creating it now.

    Setting the permissions on OCR backup directory
    Setting up NS directories
    Oracle Cluster Registry configuration upgraded successfully
    WARNING: directory '/u01/app/oracle/product/10.2.0' is not owned by root
    WARNING: directory '/u01/app/oracle/product' is not owned by root
    WARNING: directory '/u01/app/oracle' is not owned by root
    clscfg: EXISTING configuration version 3 detected.
    clscfg: version 3 is 10G Release 2.
    assigning default hostname rac1 for node 1.
    assigning default hostname rac2 for node 2.
    Successfully accumulated necessary OCR keys.
    Using ports: CSS=49895 CRS=49896 EVMC=49898 and EVMR=49897.
    node <nodenumber>: <nodename> <private interconnect name> <hostname>
    node 1: rac1 rac1-priv rac1
    node 2: rac2 rac2-priv rac2
    clscfg: Arguments check out successfully.

    NO KEYS WERE WRITTEN. Supply -force parameter to override.
    -force is destructive and will destroy any previous cluster
    configuration.
    Oracle Cluster Registry for cluster has already been initialized
    Startup will be queued to init within 90 seconds.
    Adding daemons to inittab
    Expecting the CRS daemons to be up within 600 seconds.
    CSS is active on these nodes.
            rac1
            rac2
    CSS is active on all nodes.
    Waiting for the Oracle CRSD and EVMD to start
    Waiting for the Oracle CRSD and EVMD to start
    Waiting for the Oracle CRSD and EVMD to start
    Waiting for the Oracle CRSD and EVMD to start
    Oracle CRS stack installed and running under init(1M)
    Running vipca(silent) for configuring nodeapps
    Error 0(Native: listNetInterfaces:[3])
      [Error 0(Native: listNetInterfaces:[3])]
    [root@rac2 ~]# 

    --------------------------------------------------------------------
    这里报错,有的文档这样修改,我没有验证过。
    我是在rac1节点上修改 /u01/app/oracle/product/10.2.0/crs_1/bin/vipca和 /u01/app/oracle/product/10.2.0/crs_1/bin/srvctl后,再次在rac2节点上运行 /u01/app/oracle/product/10.2.0/crs_1/root.sh,如下:

    1.这里我没有验证过。有的文档说明可以这样修改。

    Waiting for the Oracle CRSD and EVMD to start          
    Oracle CRS stack installed and running under init(1M)
    Running vipca(silent) for configuring nodeapps           运行vipca配置节点
    Error 0(Native: listNetInterfaces:[3])                   本地网卡错误
    [Error 0(Native: listNetInterfaces:[3])]                 本地网卡错误

    cd /u01/app/oracle/product/10.2.0/crs_1/bin
    ./oifcfg            这是oracle网卡配置工具,我们可以使用这个工具来检查网卡配置是否正确
    oifcfg iflist       检查网卡配置
    oifcfg setif -global eth0/192.168.1.0:public                       指定全局公有网卡
    oifcfg setif -global eth1/172.168.1.0:cluster_interconnect         指定全局私有网卡
    oifcfg getif        获取配置结果,当rac2配置好后rac1自动生成vipca文件,oifcfg getif

    -----------------------------------------------------------------------------------------


    2.我是在第一个节点rac1修改后,再在rac2上执行一下/u01/app/oracle/product/10.2.0/crs_1/root.sh脚本

    -- -------------------------------------------------------------------------------------------
    rac1节点

    第一个文件[root@rac1 ~]# vi /u01/app/oracle/product/10.2.0/crs_1/bin/vipca
    搜索/LD_ASSUME_KERNEL


           #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
           unset LD_ASSUME_KERNEL ---添加一行:清除环境变量
           #End workaround


    第二个文件[root@rac1 ~]# vi /u01/app/oracle/product/10.2.0/crs_1/bin/srvctl


    #Remove this workaround when the bug 3937317 is fixed
    LD_ASSUME_KERNEL=2.4.19
    export LD_ASSUME_KERNEL
     unset LD_ASSUME_KERNEL---添加一行:清除环境变量
    # Run ops control utility

    --------------------------------------------------------------------------------          

    3.rac2节点再次执行,没有出现错误:

    [root@rac2 ~]# /u01/app/oracle/product/10.2.0/crs_1/root.sh
    WARNING: directory '/u01/app/oracle/product/10.2.0' is not owned by root
    WARNING: directory '/u01/app/oracle/product' is not owned by root
    WARNING: directory '/u01/app/oracle' is not owned by root
    Checking to see if Oracle CRS stack is already configured
    Oracle CRS stack is already configured and will be running under init(1M)
    [root@rac2 ~]# 


    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    13.两个节点执行完毕后,点击OK,出现如下配置信息。


    14.在执行oracle cluster verification utility出现错误,此时需要在任意节点上执行配置虚拟ip。



    15.使用root用户配置虚拟ip
    此步骤在rac1和rac2节点上都可操作
    执行/u01/app/oracle/product/10.2.0/crs_1/bin/vipca
    自动弹出图形化界面我们可以使用vipca来创建和配置VIP GSD ONS 资源




    16.打开欢迎界面,点击“Next”


    17. 系统自动找到public的eth0,点击“Next”,【虚拟ip是基于公有网卡eth0】


    18 . 补填各节点对应的vip名称和ip地址 mask地址,点击“Next”
    Node name  IP Alias Name  IP address      Subnet Mask
    rac1       rac1-vip.localdomain       192.168.1.152   255.255.255.0
    rac2       rac2-vip.localdomain       192.168.1.154   255.255.255.0



    19 .检查概述信息,点击“Finish”开始安装,重点检查返填出来的IP地址是否正确千万不能错.


    20.安装完之后就可以点击“ok”查看结果,点击“Exit”退出vipca.



    21.检查vip服务 gsd ons vip 包含三个进程.

    crs_stat -t  全是ONLINE才算正常,在所有节点上都相同

    target是希望的最终状态,state是当前状态

    [root@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      


     
    22 .vipca执行成功后,那么相当于rac2的root.sh脚本也顺利完成,下一步需要做的就是返回到rac1节点,执行剩下的步骤,点击“OK”在Retry,




    23 .启动三个组件并通过前提条件检查.如下,状态为全部成功》
    Oracle     Notification    Server   Configuration Assistance     通知服务
    Oracle     Private  Interconnect   Configuration Assistance      私有互联服务
    Oracle     Cluster   Verification    Utility                     集群检查工具


    24 .等待配置完成后,将会收到“The installation of Oracle Clusterware was successful”提示信息,点击“Exit”,“Yes”退出整个clusterware的安装界面



    25.验证安装成功.至此,clusterware安装成功。

    在rac1和rac2上分别执行crs_stat -t 检查集群软件状态,必须都为ONLINE才算正常
    [root@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    
    ----------------------------------------------------------------------
    [root@rac2 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 

    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  • 相关阅读:
    数据仓库系列之ETL过程和ETL工具
    大数据从入门到精通
    Mysql误删表中数据与误删表的恢复方法(转)
    Vscode 小白使用介绍
    Window 通过cmd查看端口占用,杀死进程方法
    Python基础教程,Python入门教程(非常详细)
    tuxedo安装与配置入门
    Win10系统Ping端口及利用telnet命令Ping 端口
    Tuxedo 介绍
    hibernate框架的简单入门
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13315876.html
Copyright © 2020-2023  润新知