• Vmware Workstation实现CentOS6.10_x64 下ORACLE RAC 11.2.0.4的搭建


       想必大家在学习ORACLE 11g时,都想搭建一个RAC的实验环境。在搭建RAC实验环境时,会碰到诸如IP怎么规划、虚拟机环境下怎么共享磁盘、ASM磁盘创建,以及安装过程中会遇到这样那样的问题。搭建一个完整的RAC实验环境下来,少则一天,多则一周,浪费不少时间和精力,一遍又一遍重新系统,遇到一个又一个问题,相信初学者,搭建过RAC的同学都会有这样的体会。

      这次把搭建RAC的步骤完整的整理出来,以供大家参考,相互交流学习,文中如有错误,欢迎大家斧正。

     

    一、部署环境准备

    1、准备所需软件

      VMware workstation

      CentOS release 6.10

      FreeNAS 11.2

     p13390677_112040_Linux-x86-64_1of7.zip

     p13390677_112040_Linux-x86-64_2of7.zip

     p13390677_112040_Linux-x86-64_3of7.zip

     

      2、创建rac节点服务器

      2.1 需要在VMware WorkStation里创建两台虚拟机:racnode1和racnode2。

      VM主机的内存2G(官方说至少1.5G,安装grid检查仍会警告不够用,安装过程可能出现失败,建议最少2G)。

      硬盘30G。

      网络适配器2个。

                

      2.2 安装centos6.x虚拟机操作系统。

            

      2.3 RAC的ip规划

        网卡添加2个, 11.2开始至少需要4种IP地址。 RAC的IP规划如下:

    Hostname

    Type

    IP Address

    Interface

    racnode1

    Public IP

    192.168.153.101

    eth0

    racnode1-vip

    Virtual IP

    192.168.153.201

    eth0:1

    racnode1-pip

    Private IP

    10.0.0.101

    eth1

    racnode2

    Public IP

    192.168.153.102

    eth0

    racnode2-vip

    Virtual IP

    192.168.153.202

    eth0:1

    racnode2-pip

    Private IP

    10.0.0.102

    eth1

    scan-cluster

    SCAN IP

    192.168.153.100

    eth0

      说明:

      Oracle RAC环境下每个节点都会有多个IP地址,分别为公共IP(Public IP) 、私有IP(Private IP)和虚拟IP(Virtual IP):

      私有IP(Public IP)

      Private IP address is used only for internal clustering processing(Cache Fusion).

      专用(私有)IP地址只用于内部群集处理,如心跳侦测,服务器间的同步数据用。

      虚拟IP(Virtual IP)

      Virtual IP is used by database applications to enable fail over when one cluster node fails.

      当一个群集节点出现故障时,数据库应用程序通过虚拟IP地址进行故障切换。

      当一个群集节点出现故障时,数据库应用程序(包括数据库客户端)通过虚拟IP地址切换到另一个无故障节点,另一个功能是均衡负载。

      公共IP(Public IP)

      Public IP adress is the normal IP address typically used by DBA and SA to manage storage, system and database.

      公共IP地址

      正常的(真实的)IP地址,通常DBA和SA使用公共IP地址在来管理存储、系统和数据库。

      监听IP(SCAN IP)

    从Oracle 11g R2开始,Oracle RAC网络对IP地址有特殊要求,新增了加监听IP地址(SCAN IP),所以从Oracle 11g R2开始Oracle RAC网络至少需要4种IP地址(前面介绍三种IP地址)。在Oracle 11g R2之前,如果数据库采用了RAC架构,在客户端的tnsnames中,需要配置多个节点的连接信息,从而实现诸如负载均衡、Failover等RAC的特性。因此,当数据库RAC集群需要添加或删除节点时,需要及时对客户端机器的tns进行更新,以免出现安全隐患。

    在Oracle 11g R2中,为了简化该项配置工作,引入了SCAN(Single Client Access Name)的特性。该特性的好处在于,在数据库与客户端之间,添加了一层虚拟的服务层,就是所谓的SCAN IP以及SCAN IP Listener,在客户端仅需要配置SCAN IP的tns信息,通过SCAN IP Listener,连接后台集群数据库。这样,不论集群数据库是否有添加或者删除节点的操作,均不会对Client产生影响。

    2.4 配置虚拟机网卡

        按前面的IP规划,来设置每个节点的网卡的IP地址。

        [root@racnode1 ~]# cd /etc/sysconfig/network-scripts/ ,根据自身网卡进行配置,示例:

        racnode1:

    1.编辑eth0网卡:

    #vi ifcfg-eth0 ,内容如下:

    DEVICE=eth0

    TYPE=Ethernet

    UUID=43b4bc9f-052e-45ec-bca2-dbaeeef39c20

    ONBOOT=yes

    NM_CONTROLLED=yes

    BOOTPROTO=none

    HWADDR=00:0C:29:FC:92:1F

    IPADDR=192.168.153.101

    PREFIX=24

    GATEWAY=192.168.153.2

    DNS1=61.139.2.69

    DEFROUTE=yes

    IPV4_FAILURE_FATAL=yes

    IPV6INIT=no

    NAME="System eth0"

    2.创建eth0:1

    #cp ifcfg-eth0 ifcfg-eth0:1

    #vi ifcfg-eth0:1,内容如下:

    DEVICE=eth0:1

    TYPE=Ethernet

    UUID=43b4bc9f-052e-45ec-bca2-dbaeeef39c20

    ONBOOT=yes

    NM_CONTROLLED=yes

    BOOTPROTO=none

    HWADDR=00:0C:29:FC:92:1F

    IPADDR=192.168.153.201

    PREFIX=24

    GATEWAY=192.168.153.2

    DNS1=61.139.2.69

    DEFROUTE=yes

    IPV4_FAILURE_FATAL=yes

    IPV6INIT=no

    NAME="System eth0:1"

    3.编辑eth1网卡:

    #vi ifcfg-eth1,内容如下:

    DEVICE=eth1

    TYPE=Ethernet

    BOOTPROTO=none

    IPADDR=10.0.0.101

    PREFIX=24

    GATEWAY=10.0.0.1

    DEFROUTE=yes

    IPV4_FAILURE_FATAL=yes

    IPV6INIT=no

    NAME="System eth1"

    UUID=1655f5de-c00e-454c-aa8f-501bf70fd60c

    ONBOOT=yes

    HWADDR=00:0C:29:FC:92:29

    racnode2:

    1.编辑eth0网卡:

    #vi ifcfg-eth0 ,内容如下:

    DEVICE=eth0

    TYPE=Ethernet

    UUID=643e30b9-906e-4051-b972-483da6a33203

    ONBOOT=yes

    NM_CONTROLLED=yes

    BOOTPROTO=none

    IPADDR=192.168.153.102

    PREFIX=24

    GATEWAY=192.168.153.2

    DNS1=61.139.2.69

    DEFROUTE=yes

    IPV4_FAILURE_FATAL=yes

    IPV6INIT=no

    NAME="System eth0"

    HWADDR=00:0C:29:C9:A7:2D

    2.创建eth0:1

    #cp ifcfg-eth0 ifcfg-eth0:1

    #vi ifcfg-eth0:1,内容如下:

    DEVICE=eth0:1

    TYPE=Ethernet

    UUID=643e30b9-906e-4051-b972-483da6a33203

    ONBOOT=yes

    NM_CONTROLLED=yes

    BOOTPROTO=none

    IPADDR=192.168.153.202

    PREFIX=24

    GATEWAY=192.168.153.2

    DNS1=61.139.2.69

    DEFROUTE=yes

    IPV4_FAILURE_FATAL=yes

    IPV6INIT=no

    NAME="System eth0:1"

    3.编辑eth1网卡:

    #vi ifcfg-eth1,内容如下:

    DEVICE=eth1

    HWADDR=00:0C:29:C9:A7:37

    TYPE=Ethernet

    BOOTPROTO=none

    IPADDR=10.0.0.102

    PREFIX=24

    GATEWAY=10.0.0.1

    DEFROUTE=yes

    IPV4_FAILURE_FATAL=yes

    IPV6INIT=no

    NAME=eth1

    UUID=1207dcc1-7a39-45b0-b604-f38e5c90934d

    ONBOOT=yes

    LAST_CONNECT=1546520521

      

      2.5编辑/etc/hosts文件

        racnode1、racnode2配置一样

    # vim /etc/hosts ,修改内容如下:

    127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

    #racnode1

    192.168.153.101    racnode1

    192.168.153.201    racnode1-vip

    10.0.0.101    racnode1-pip

    #racnode2

    192.168.153.102    racnode2

    192.168.153.202    racnode2-vip

    10.0.0.102    racnode2-pip

    #scan-ip

    192.168.153.100    scan-cluster

     

      [root@localhost ~]# hostname racnode1 ,修改主机名

      [root@localhost ~]# hostname racnode2 ,修改主机名

      2.6 创建用户和组

        安装RAC,需要建立相应的用户和组。在racnode1、racnode2上进行用户和组的创建:

    Group Name

    Group ID

    Group Info

    Oracle User

    Grid User

    oinstall

    1000

    Inventory Group

    Y

    Y

    dba

    1200

    OSDBA Group

    Y

     

    oper

    1201

    OSOPER Group

    Y

     

    asmadmin

    1300

    OSASM

     

    Y

    asmdba

    1301

    OSDBA for ASM

    Y

    Y

    asmoper

    1302

    OSOPER for ASM

     

    Y

      

      root 下执行操作:创建组、用户,并设置用户密码

    groupadd -g 1000 oinstall

    groupadd -g 1200 dba

    groupadd -g 1201 oper

    groupadd -g 1300 asmadmin

    groupadd -g 1301 asmdba

    groupadd -g 1302 asmoper

    useradd -u 1100 -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid

    useradd -u 1101 -g oinstall -G dba,oper,asmdba oracle

    passwd grid

    passwd oracle

     

      2.7 创建目录并授权

       在racnode1、racnode2上进行目录的创建和授权:

      root 下执行以下操作:

    mkdir -p /u01/app/11.2.0/grid

    mkdir -p /u01/app/grid

    mkdir /u01/app/oracle

    chown -R grid:oinstall /u01

    chown oracle:oinstall /u01/app/oracle

    chmod -R 775 /u01/

    2.8 设置环境变量

        (1)配置用户环境变量:grid用户

    racnode1

    [grid@racnode1 ~]$ vim .bash_profile

    export TMP=/tmp

    export TMPDIR=$TMP

    export ORACLE_SID=+ASM1

    export ORACLE_BASE=/u01/app/grid

    export ORACLE_HOME=/u01/app/11.2.0/grid

    export PATH=/usr/sbin:$PATH

    export PATH=$ORACLE_HOME/bin:$PATH

    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

    export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

    umask 022

    [grid@racnode1 ~]$ source .bash_profile

     

    racnode2

    [grid@racnode2 ~]$ vim .bash_profile

    export TMP=/tmp

    export TMPDIR=$TMP

    export ORACLE_SID=+ASM2

    export ORACLE_BASE=/u01/app/grid

    export ORACLE_HOME=/u01/app/11.2.0/grid

    export PATH=/usr/sbin:$PATH

    export PATH=$ORACLE_HOME/bin:$PATH

    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

    export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

    umask 022

    [grid@racnode2 ~]$ source .bash_profile

     

        (2)配置用户环境变量:oracle用户

       racnode1

    [oracle@racnode1 ~]$ vim .bash_profile

    export TMP=/tmp

    export TMPDIR=$TMP

    export ORACLE_SID=orcl1

    export ORACLE_UNQNAME=orcl

    export ORACLE_BASE=/u01/app/oracle

    export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

    export TNS_ADMIN=$ORACLE_HOME/network/admin

    export PATH=/usr/sbin:$PATH

    export PATH=$ORACLE_HOME/bin:$PATH

    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

    [oracle@racnode1 ~]$ source .bash_profile

     

      racnode2

    [oracle@racnode2 ~]$ vim .bash_profile

    export TMP=/tmp

    export TMPDIR=$TMP

    export ORACLE_SID=orcl2

    export ORACLE_UNQNAME=orcl

    export ORACLE_BASE=/u01/app/oracle

    export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

    export TNS_ADMIN=$ORACLE_HOME/network/admin

    export PATH=/usr/sbin:$PATH

    export PATH=$ORACLE_HOME/bin:$PATH

    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

    [oracle@racnode2 ~]$ source .bash_profile

     

    2.9 配置用户对等性[ssh互信]:grid用户、oracle用户

    racnode1

    ssh-keygen -t rsa #一路回车

    ssh-keygen -t dsa #一路回车

    racnode2

    ssh-keygen -t rsa #一路回车

    ssh-keygen -t dsa #一路回车

    racnode1、再racnode2上执行过上述两条命令后,再回到racnode1再继续执行下面的命令:

    cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys

    cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys

    ssh racnode2 cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys

    ssh racnode2 cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys

    scp ~/.ssh/authorized_keys racnode2:~/.ssh/authorized_keys

    chmod 600 .ssh/authorized_keys

    两个节点互相ssh通过一次

    ssh racnode1 date

    ssh racnode2 date

    ssh racnode1-vip date

    ssh racnode2-vip date

    ssh racnode1-pip date

    ssh racnode2-pip date

    2.10 修改系统参数配置文件

         在racnode1和racnode2上都要执行

          修改 sysctl.conf,

    [root@ ~]# vim /etc/sysctl.conf ,在最后添加以下内容:

    kernel.msgmnb = 65536

    kernel.msgmax = 65536

    kernel.shmmax = 68719476736

    kernel.shmall = 4294967296

    fs.aio-max-nr = 1048576

    fs.file-max = 6815744

    kernel.shmall = 2097152

    kernel.shmmni = 4096

    kernel.sem = 250 32000 100 128

    net.ipv4.ip_local_port_range = 9000 65500

    net.core.rmem_default = 262144

    net.core.rmem_max = 4194304

    net.core.wmem_default = 262144

    net.core.wmem_max = 1048586

    net.ipv4.tcp_wmem = 262144 262144 262144

    net.ipv4.tcp_rmem = 4194304 4194304 4194304

            [root@ ~]# sysctl -p 立即生效

      1. 修改 limits.conf

        [root@ ~]# vim /etc/security/limits.conf ,在最后添加以下内容:

    grid soft nproc 2047

    grid hard nproc 16384

    grid soft nofile 1024

    grid hard nofile 65536

    oracle soft nproc 2047

    oracle hard nproc 16384

    oracle soft nofile 1024

    oracle hard nofile 65536

     

      1. 修改 /etc/pam.d/login

        [root@ ~]# vim /etc/pam.d/login,session required pam_namespace.so下面插入:

                session required pam_limits.so

      1. 停止并删除ntp服务

        [root@ ~]# service ntpd status

        [root@ ~]# chkconfig ntpd off

        [root@ ~]# cp /etc/ntp.conf /etc/ntp.conf.bak

        [root@ ~]# rm -rf /etc/ntp.conf

      1. 修改/etc/profile

        [root@ ~]# cp /etc/profile /etc/profile.bak

        [root@ ~]# vim /etc/profile,在文件最后添加以下内容:

        if [ $USER = "ORACLE" ] || [ $USER = "GRID" ];then

        if [ $SHELL = "/bin/ksh" ];then

        ulimit -p 16384

        ulimit -n 65536

        else

        ulimit -u 16384 -n 65536

        fi

        umask 022

        fi

     三 、创建FreeNAS共享存储服务器

    本次搭建:在VMware 虚拟机上安装和配置FreeNAS 11.2,请自行下载所需版本。

    【FreeNAS-11.2-RELEASE.iso】

    下载地址:https://download.freenas.org/11.2/STABLE/RELEASE/x64/FreeNAS-11.2-RELEASE.iso

    3.1准备一台虚拟机,此处详细步骤略。

    3.2 FreeNAS系统安装

    3.2.1 打开虚拟机电源。进入安装界面,敲击回车开始安装。

        3.2.2 选择第一个"Install/Upgrade",点击OK。

    3.2.3 提示内存小于8G。此处作为虚拟测试,可忽略此项错误提示。直接点击Yes。

        3.2.4 选择安装在哪个磁盘上。此处选择20G的磁盘作为系统安装盘。光标上下移动,空格键为选择。然后点击OK。

        3.2.5 此处为警告,告知安装位置及清空磁盘数据。直接点击OK。

        3.2.6 设置root的密码。

        3.2.7 选择引导类型。此处选择 BIOS 类型。

        3.2.8 开始安装。等待一段时间后,即安装完毕。

        3.2.9 安装完毕后,弹出提示告知安装完毕。直接点击OK。

        3.2.10 安装完毕后需要重启。选择第三个"Reboot System"。点击OK。

        3.2.11 系统在将重启后,继续安装一些组件。请等待最终安装完毕。

        

    3.2.12 安装完毕后,如下图。参照提示,可根据实际需要去修改配置。

    管理地址也已列出。如:http://192.168.153.230

    至此,FreeNAS 系统安装完毕。

    3.3 FreeNAS登录及配置

    3.3.1 浏览器登录: 默认用户为root , 密码为安装系统时所设置的密码。

    3.3.2 登录后如下,根据实际需要进行配置。

    3.3.3 根据oracle 11gR2 RAC环境所需的共享存储,进行配置。

        第1步、 配置iscsi服务,打开iscsi并开机勾选自启动。

        第2步、 依次进入菜单: Sharing – Block(ISCSI),设置Target Global Configuration。

    Base Name 可自定义,此处默认。其他可不填写。 点击SAVE保存。

        

    第3步、 设置 Portals :

    点击ADD添加,填写IP地址和端口号,然后SAVE保存。

    设置后,如下图。

        第4步、设置 Initiators :

    点击ADD添加,Initiators和Authorized Networks 都选择 ALL ,点击SAVE保存。

    设置后,如下图。

        第5步、 设置 Authorized Access :

            点击ADD添加,此处Group Id、User和Sercret的值可以任意填写,此处分别设置为1、grid和gridasm ,并点击SAVE保存。

    设置后,如下图。

    第6步、设置 Targets :

            Target Name 可随意填写,此处为 asm 。选择 Portal Group ID 、Initiator Group ID ,即是上面所设置的 Group ID。此处为1。其他选项默认即可。 点击SAVE保存。

    设置后,如下图。

        第7步、设置 Extents :

            点击ADD添加,设置Extent name名称;选择Extent type,分为磁盘或者分区,此处选择磁盘。选择磁盘da1、da2、da3、da4等。 选择LUN RPM磁盘转速。其他默认即可。点击SAVE保存。

    依次将所需添加的设备添加完毕后,如下图所示。

        

    第8步、设置Associated Targets :

            点击ADD添加,选择Target、选择Extent,即是上步设置的asm 、crs、data1、data2、fra等。

    设置后,如下图。

    二、RAC集群安装

    1、配置共享存储

    1.1 安装iscsi客户端

    racnode各节点,查看系统是否安装iscsi软件包,以centos6.x为例

    [root@ ~]# rpm -qa | grep iscsi

    iscsi-initiator-utils-6.2.0.873-27.el6_9.x86_64

    如未安装,请执行 yum install -y iscsi-initiator-utils 进行安装客户端。

    1.2 使用UDEV绑定共享存储

    查找iSCSI设备,发现共享存储:

    [root@ ~]# iscsiadm -m discovery -t sendtargets -p 192.168.153.230

    192.168.153.230:3260,1 iqn.2005-10.org.freenas.ctl:asm

    1.3 运行fdisk命令可以发现新的设备。分别对应FreeNAS中设置的Disk Extents。

    1.4 磁盘分区

    # fdisk /dev/sdb

    根据提示输入 n p w

    # 同理,重复步骤对 sdc sdd sde 完成分区。

    分区完毕后,fdisk -l查看如下:

    1.5 安装UEK核心

    UEK可以从http://public-yum.oracle.com/下载安装:

    http://www.rpmfind.net/linux/centos/6.10/updates/x86_64/Packages/kmod-oracleasm-2.0.8-16.el6_10.x86_64.rpm

    http://download.oracle.com/otn_software/asmlib/oracleasmlib-2.0.12-1.el6.x86_64.rpm

    http://public-yum.oracle.com/repo/OracleLinux/OL6/latest/x86_64/getPackage/oracleasm-support-2.1.11-2.el6.x86_64.rpm

    [root@ ~]# yum install kmod-oracleasm

    [root@ ~]# rpm -ivh oracleasmlib-2.0.12-1.el6.x86_64.rpm

    [root@ ~]# rpm -ivh oracleasm-support-2.1.8-1.el6.x86_64.rpm

    1.6    创建ASM Disk Volumes

    1.6.1 配置并装载ASM核心模块,在一个节点操作即可。

    [root@racnode1 ~]# oracleasm configure -i ,根据提示输入:

    Configuringthe Oracle ASM library driver.

    Thiswill configure the on-boot properties of the Oracle ASM library

    driver.  The following questions will determinewhether the driver is

    loadedon boot and what permissions it will have. The current values

    willbe shown in brackets ('[]').  Hitting<ENTER> without typing an

    answerwill keep that current value.  Ctrl-Cwill abort.

    Defaultuser to own the driver interface []: grid

    Defaultgroup to own the driver interface []: asmadmin

    StartOracle ASM library driver on boot (y/n) [n]: y

    Scanfor Oracle ASM disks on boot (y/n) [y]: y

    WritingOracle ASM library driver configuration: done

    [root@racnode1 ~]# oracleasm init

        Creating/dev/oracleasm mount point: /dev/oracleasm

    Loadingmodule "oracleasm": oracleasm

    MountingASMlib driver filesystem: /dev/oracleasm

    1.6.2 创建ASM磁盘

    [root@racnode1 ~]# oracleasm createdisk CRSVOL1 /dev/sdb1

    Writingdisk header: done

    Instantiatingdisk: done

    [root@racnode1 ~]# oracleasm createdisk DATAVOL1 /dev/sdc1

    Writingdisk header: done

    Instantiatingdisk: done

    [root@racnode1 ~]# oracleasm createdisk DATAVOL2 /dev/sdd1

    Writingdisk header: done

    Instantiatingdisk: done

    [root@racnode1 ~]# oracleasm createdisk FRAVOL1 /dev/sde1

    Writingdisk header: done

    Instantiatingdisk: done

    [root@racnode1 ~]# oracleasm listdisks

    CRSVOL1

    DATAVOL1

    DATAVOL2

    FRAVOL1

    使用oracleasm-discover查找ASM磁盘,运行该命令查看是否能找到刚创建的4个磁盘。

    [root@racnode1 ~]# oracleasm-discover

    UsingASMLib from /opt/oracle/extapi/64/asm/orcl/1/libasm.so

    [ASMLibrary - Generic Linux, version 2.0.4 (KABI_V2)]

    Discovereddisk: ORCL:CRSVOL1 [2096753 blocks (1073537536 bytes), maxio 512]

    Discovereddisk: ORCL:DATAVOL1 [41940960 blocks (21473771520 bytes), maxio 512]

    Discovereddisk: ORCL:DATAVOL2 [41940960 blocks (21473771520 bytes), maxio 512]

    Discovereddisk: ORCL:FRAVOL1 [62912480 blocks (32211189760 bytes), maxio 512]

    使用oracleasm scandisks 扫描asm磁盘

    [root@racnode1 ~]# oracleasm scandisks

    Reloading disk partitions: done

    Cleaning any stale ASM disks...

    Scanning system for ASM disks...

    2、rac软件安装

    2.1 安装oracle所依赖组件

    [root@racnode1 ~]# yum -y install binutils compat-libstdc++ elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel numactl-devel sysstat unixODBC unixODBC-devel compat-libstdc++* libXp

    [root@racnode1 ~]# rpm -ivh pdksh-5.2.14-30.x86_64.rpm (这个包需要下载)

    [root@racnode2 ~]# 同上

    2.2 安装前预检查配置信息

    请使用grid用户 ,racnode1、racnode2都要执行一下这个脚本。

    [grid@racnode1 ~]$ cd /opt/grid/ 切换到软件上传目录

    [grid@racnode1 grid]$ ./runcluvfy.sh stage -pre crsinst -n racnode1,racnode2 -fixup -verbose

    结果如:

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    Performing pre-checks for cluster services setup

    Checking node reachability...

    Check: Node reachability from node "racnode1"

    Destination Node Reachable?

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

    racnode1 yes

    racnode2 yes

    Result: Node reachability check passed from node "racnode1"

    Checking user equivalence...

    Check: User equivalence for user "grid"

    Node Name Status

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

    racnode2 passed

    racnode1 passed

    Result: User equivalence check passed for user "grid"

    (中间部分省略粘贴)

    (中间部分省略粘贴)

    (中间部分省略粘贴)

    Checking the file "/etc/resolv.conf" to make sure only one of domain and search entries is defined

    File "/etc/resolv.conf" does not have both domain and search entries defined

    Checking if domain entry in file "/etc/resolv.conf" is consistent across the nodes...

    domain entry in file "/etc/resolv.conf" is consistent across nodes

    Checking if search entry in file "/etc/resolv.conf" is consistent across the nodes...

    search entry in file "/etc/resolv.conf" is consistent across nodes

    Checking DNS response time for an unreachable node

    Node Name Status

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

    racnode2 passed

    racnode1 passed

    The DNS response time for an unreachable node is within acceptable limit on all nodes

    File "/etc/resolv.conf" is consistent across nodes

    Check: Time zone consistency

    Result: Time zone consistency check passed

    Pre-check for cluster services setup was successful.

    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

    2.3 开始安装grid软件

    确保两个节点racnode1、racnode2都已经启动,然后以grid用户登录,开始Oracle Grid Infrastructure安装 【请在图形界面下】

    [grid@racnode1 ~]$ cd /opt/grid/ 切换到软件上传目录

    [grid@racnode1 grid]$ ./runInstaller

    第1步:选择"skip software updates".

    第2步:默认即可。选择"Install and Configure Oracle Grid Infrastructure for a Cluster".

    第3步:选择高级安装

    第4步: 选择English

    第5步:去掉Configure GNS,设置Cluster Name,Scan Name,ScanPort:1521.

    注意:将SCAN Name与/etc/hosts文件一致。 我们这里应是: scan-cluster ,Cluster Name可以自定义。

    第6步:选择Add,添加节点

    Public Hostname输入racnod2, Virtual Hostname输入racnode2-vip

    最终结果如下:

    验证ssh等效性

    1) 如果前置未设置ssh等效性:选择ssh connectivty,输入OS password:grid(grid用户密

    码),点击setup,等待即可,成功则下一步。然后点击"T est".

    2) 如果前面已经设置了ssh等效性:可以点击"T est",或直接下一步

    点击"setup"后

    点击"OK"

    点击"Test"

    点击OK

    如果点击"Next",出现[INS-40912]错误:

    【这个问题的解答】这是个虚拟IP,当前你应该ping不通。目前你还没安装,暂时不会绑到网卡上。

    这个应该在RAC安装完,启动成功后,才会随机往两台机器上的其中一个网卡绑定。

    当其中一台机器坏了,自动飘移到另一台。

    【解决办法】ifconfig eth0:1 down 或者 ifdown eth0:1 然后,点击"Next"

    第7步:选择网卡2:eth1,InterfaceType: Private,点击"Next"

    第8步:默认即可."Oracle Automatic Storage Management(Oracle ASM)"

    第9步:创建ASM磁盘组。若未发现磁盘,则点击change Discovery Path,输入磁盘所在地址。

    第10步:设置密码,如果密码设置相对简单,会弹出提示,直接继续即可。

    第11步—第14步:默认即可.

    安装前检查,有些警告提示可以忽略。 如有其它错误,根据具体错误提示进行分析配置。点下一步出现。

    第15步: 默认即可,点击 install 开始安装。

    第16步:安装进程。

    提示执行脚本。

    一定要以root帐户执行,并且不能同时执行。

    先执行racnode1     /u01/app/oraInventory/orainstRoot.sh,

    再执行racnode2     /u01/app/oraInventory/orainstRoot.sh

    然后,先执行racnode1     /u01/app/11.2.0/grid/root.sh

    再执行 racnode2     /u01/app/11.2.0/grid/root.sh

    第17步:安装完毕,点击close。 至此rac软件安装完毕。接下来要进行验证。

    2.4 验证Oracle Grid Infrastructure安装成功。

    以racnode1为例粘贴结果,racnode2执行结果此处不粘贴了。

    [root@racnode1 ~]# su - grid

    [grid@racnode1 ~]$ crsctl check crs

    CRS-4638: Oracle High Availability Services is online

    CRS-4537: Cluster Ready Services is online

    CRS-4529: Cluster Synchronization Services is online

    CRS-4533: Event Manager is online

    检查Clusterware资源:[grid@racnode1 ~]$ crs_stat -t -v

    Name             Type         R/RA F/FT Target State     Host

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

    ora.CRS.dg         ora....up.type     0/5 0/ ONLINE ONLINE racnode1

    ora.DATA.dg         ora....up.type     0/5 0/ ONLINE ONLINE racnode1

    ora.FRA.dg             ora....up.type     0/5 0/ ONLINE ONLINE racnode1

    ora....ER.lsnr         ora....er.type     0/5 0/ ONLINE ONLINE racnode1

    ora....N1.lsnr         ora....er.type     0/5 0/0 ONLINE ONLINE racnode1

    ora.asm             ora.asm.type     0/5 0/ ONLINE ONLINE racnode1

    ora.cvu             ora.cvu.type     0/5 0/0 ONLINE ONLINE racnode2

    ora.gsd              ora.gsd.type     0/5 0/ OFFLINE OFFLINE

    ora....network         ora....rk.type     0/5 0/ ONLINE ONLINE racnode1

    ora.oc4j             ora.oc4j.type     0/1 0/2 ONLINE ONLINE racnode2

    ora.ons             ora.ons.type         0/3 0/ ONLINE ONLINE racnode1

    ora....SM1.asm         application     0/5 0/0 ONLINE ONLINE racnode1

    ora....C1.lsnr         application     0/5 0/0 ONLINE ONLINE racnode1

    ora. racnode1.gsd        application     0/5 0/0 OFFLINE OFFLINE

    ora. racnode1.ons     application     0/3 0/0 ONLINE ONLINE racnode1

    ora. racnode1.vip     ora....t1.type     0/0 0/0 ONLINE ONLINE racnode1

    ora....SM2.asm         application     0/5 0/0 ONLINE ONLINE racnode2

    ora....C2.lsnr         application     0/5 0/0 ONLINE ONLINE racnode2

    ora. racnode2.gsd     application     0/5 0/0 OFFLINE OFFLINE

    ora. racnode2.ons     application     0/3 0/0 ONLINE ONLINE racnode2

    ora. racnode2.vip     ora....t1.type     0/0 0/0 ONLINE ONLINE racnode2

    ora.scan1.vip         ora....ip.type     0/0 0/0 ONLINE ONLINE racnode1

    检查集群节点

    [grid@racnode1 ~]$ olsnodes -n

    racnode1 1

    racnode2 2

    检查两个节点上的Oracle TNS监听器进程:

    [grid@racnode1 ~]$ ps -ef|grep lsnr|grep -v 'grep'

    grid 94448 1 0 15:04 ? 00:00:00 /u01/app/11.2.0/grid/bin/tnslsnr LISTENER -inherit

    grid 94485 1 0 15:04 ? 00:00:00 /u01/app/11.2.0/grid/bin/tnslsnr LISTENER_SCAN1 -inherit

    [grid@racnode1 ~]$ ps -ef|grep lsnr|grep -v 'grep'|awk '{print $9}'

    LISTENER

    LISTENER_SCAN1

    确认针对Oracle Clusterware文件的Oracle ASM功能:

    [grid@racnode1 ~]$ srvctl status asm -a

    ASM is running on racnode1,racnode2

    ASM is enabled.

    检查Oracle集群注册表(OCR):

    [grid@racnode1 ~]$ ocrcheck

    Status of Oracle Cluster Registry is as follows :

         Version : 3

         Total space (kbytes) : 262120

         Used space (kbytes) : 2624

         Available space (kbytes) : 259496

         ID : 1555425658

         Device/File Name : +CRS

    Device/File integrity check succeeded

    Device/File not configured

    Device/File not configured

    Device/File not configured

    Device/File not configured

         Cluster registry integrity check succeeded

         Logical corruption check bypassed due to non-privileged user

    检查表决磁盘:

    [grid@racnode1 ~]$ crsctl query css votedisk

    ## STATE File Universal Id File Name Disk group

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

    1. ONLINE 0d90b0c368684ff5bff8f2094823b901 (ORCL:CRSVOL1) [CRS]

    Located 1 voting disk(s).

    3、oracle软件安装

    确保两个节点racnode1、racnode2都已经启动,然后以oracle用户登录,安装请在图形界面下

    进入软件安装包的目录

    [oracle@racnode1 database]$ ./runInstaller

    第1步:不勾选I wish to …… ,然后点next。

    第2步:选择跳过软件更新,点击next。

    第3步: 选择仅安装数据库软件,点击next。

    第4步: 选择全部节点,并测试ssh互信。

    点击SSH Connectivity… ,输入oracle的密码,点击test 测试通过如下提示:

    点击OK,然后点击next。

    第5步: 选择语言

    第6步: 选择安装的数据库类型,此处选择企业版。

    第7步: 默认即可

    第8步: 默认即可

    第9步: 安装前检查,此时检查结果有一条,该条忽略即可。勾选ignore all。点击next。如有其它报错,根据实际情况进行排查处理。

    第10步: 默认即可,点击 install 开始安装

    第11步: 安装过程中需要执行脚本

    先在racnode1执行,执行完毕之后,再在racnode2中执行。

    4、配置ASM磁盘组

    也可以在安装ORACLE软件之前创建ASM磁盘组。下面开始创建ASM磁盘组。

    命令 asmca 启动图形配置 。 点击Create ,创建磁盘组。

        Disk Group Name 命名为DATA;

    Redundancy选择 External (None);;

    disks勾选 DATAVOL1、DATAVOL2;

    点击OK,提示创建成功。

    同理,创建FRA组。 另外最初安装grid的时候已经配置过CRS。最终结果如下:

    其中,点击Mount ALL ,挂载所有磁盘。点击Yes。确认挂载。

    5、创建数据库

    第1步: 切换到oracle用户,以oracle用户运行命令 dbca 。弹出开始画面。

    选择Oracle Real Application Cluster(RAC)database,点击next。

    选择Create a Database,创建一个数据库。点击next。

    第2步: 选择General Purpose or Transaction Processing

    第3步:选择Configuration Type:Admin-Managed. Global Database Name:testdb. SID Prefix:testdb.

    点击"Select ALL". 这里一定要选择全部节点.

    第4步: 配置Enterprise Managert 和 Automatic Maintenance Tasks.

    第5步:设置密码。"Use the Same Administrative Password for All Accounts"

    提示密码过于简单,点击Yes 。

    第6步:在"Databse Area",点击"Browse",选择+DATA.

    要求设置ASMSNMP密码

    第7步:设置FRA和归档。定义快速恢复区(FRA)大小时,一般用整个卷的大小的90%

    点击"Browse",选择 FRA

    第8步:设置Sample Schemas和Custom Scripts.一般不勾选"Sample Schemas"

    第9步:设置内存、SGA和PGA、字符集、连接模式。

    选择Typical,SGA and PGA,先用默认的744MB. 后面根据情况也可以调整。

    第10步:点击"Next"

    第11步:开始创建数据库。选择"Create Database"

    创建过程中。

    弹出下图,提示Database creation complete.和相应的提示信息。

    点Exit,退出。数据库创建完成。

    RAC安装到此完成。

    三、RAC 基本操作、ASM基本操作及日常查看

    很多说法:Oracle 自身bug, 如果启动失败 root先执行

    /bin/dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1

    1、关闭启动顺序

    (一)关闭过程(关闭数据库->CRS集群关闭)

    1步、关闭数据库:

    oracl用户执行srvctl命令

    语法:srvctl stop database -d dbname -o immediate

    作用:可以一次性关闭dbname的所有实例

    [oracle@racnode1 ~]$ srvctl stop database -d racdb -停止所有节点上的实例

    然后查看状态:

    [oracle@racnode1 ~]$ srvctl status database -d racdb

    Instance racnode1 is not running on node racnode1

    Instance racnode2 is not running on node racnode2

    2步、停止HAS(High Availability Services),必须以root用户操作

    [root@racnode1 oracle]# cd /u01/grid/11.2.0/grid/bin

    [root@racnode1 bin]# ./crsctl stop has -f

    [root@racnode1 bin]# ./crsctl stop crs -f

    本命令只能关闭当前节点的CRS服务,因此需要在RAC的所有节点上执行,启动也一样。hascrs等同

    第3步、停止节点集群服务,必须以root用户:

    [root@racnode1 oracle]# cd /u01/grid/11.2.0/grid/bin

    [root@racnode1 bin]# ./crsctl stop cluster ----停止本节点集群服务

    [root@racnode1 bin]# ./crsctl stop cluster -all ---停止所有节点服务

    也可以如下控制所停节点:

    [root@racnode1 bin]# crsctl stop cluster -n racnode1 racnode2

    CRS-2677: Stop of 'ora.cssd' on 'racnode1' succeeded

    CRS-2677: Stop of 'ora.cssd' on 'racnode2' succeeded

    。。。。。。。。。。。省略日志输出。。。。。。。。。。。。。。

    你如果想一条命令把所有的进程全部停止可以使用上述命令。如果不指定参数的话对当前节点有效,如果指定参数的话对相关参数节点有效。

    第4步、检查集群进程状态

    [root@racnode1 bin]# crsctl check cluster

    详细输出

    [root@racnode1 bin]# crs_stat -t -v

    只检查本节点的集群状态

    [root@racnode1 bin]# crsctl check crs

     

    (二)启动过程(CRS集群启动->启动数据库)

    第1步、启动HAS

    单一节点启动

    [root@racnode2 ~]# crsctl start has

    [root@racnode2 ~]# crsctl start crs

    [root@racnode2 ~]# crsctl check crs

    CRS-4638: Oracle High Availability Services is online

    CRS-4537: Cluster Ready Services is online

    CRS-4529: Cluster Synchronization Services is online

    CRS-4533: Event Manager is online

    所有节点启动

    [root@racnode1 bin]# crsctl start cluster -n racnode1 racnode2

    CRS-4123: Oracle High Availability Services has been started.

    [root@racnode1 bin]# crsctl start cluster -all

    [root@racnode2 ~]# crsctl check cluster

    CRS-4537: Cluster Ready Services is online

    CRS-4529: Cluster Synchronization Services is online

    CRS-4533: Event Manager is online

    此命令会在后台启动所有RAC CRS相关进程

    [root@racnode2 ~]# crs_stat -t -v

    CRS-0184: Cannot communicate with the CRS daemon.

    因为start has启动的crs进程比较多因此会启动的比较慢,我的机器等待了5分钟,在没有完全启动成功之前会报上述错误,需要耐心等待一段时间后执行下面命令即可查看到所有CRS相关进程服务已经启动。

    [root@racnode2 ~]# crs_stat -t -v

    Name Type R/RA F/FT Target State Host

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

    ora.DATA.dg ora....up.type 0/5 0/ ONLINE ONLINE racnode1

    ora....ER.lsnr ora....er.type 0/5 0/ ONLINE ONLINE racnode1

    ora....N1.lsnr ora....er.type 0/5 0/0 ONLINE ONLINE racnode2

    ora....N2.lsnr ora....er.type 0/5 0/0 ONLINE ONLINE racnode1

    ora....N3.lsnr ora....er.type 0/5 0/0 ONLINE ONLINE racnode1

    ora.asm ora.asm.type 0/5 0/ ONLINE ONLINE racnode1

    ora.cvu ora.cvu.type 0/5 0/0 ONLINE ONLINE racnode1

    ora.gsd ora.gsd.type 0/5 0/ OFFLINE OFFLINE

    ora....network ora....rk.type 0/5 0/ ONLINE ONLINE racnode1

    ora.oc4j ora.oc4j.type 0/1 0/2 ONLINE ONLINE racnode1

    ora.ons ora.ons.type 0/3 0/ ONLINE ONLINE racnode1

    ora....SM1.asm application 0/5 0/0 ONLINE ONLINE racnode1

    ora....C1.lsnr application 0/5 0/0 ONLINE ONLINE racnode1

    ora.racnode1.gsd application 0/5 0/0 OFFLINE OFFLINE

    ora.racnode1.ons application 0/3 0/0 ONLINE ONLINE racnode1

    ora.racnode1.vip ora....t1.type 0/0 0/0 ONLINE ONLINE racnode1

    ora....SM2.asm application 0/5 0/0 ONLINE ONLINE racnode2

    ora....C2.lsnr application 0/5 0/0 ONLINE ONLINE racnode2

    ora.racnode2.gsd application 0/5 0/0 OFFLINE OFFLINE

    ora.racnode2.ons application 0/3 0/0 ONLINE ONLINE racnode2

    ora.racnode2.vip ora....t1.type 0/0 0/0 ONLINE ONLINE racnode2

    ora....ry.acfs ora....fs.type 0/5 0/ ONLINE ONLINE racnode1

    ora.scan1.vip ora....ip.type 0/0 0/0 ONLINE ONLINE racnode2

    ora.scan2.vip ora....ip.type 0/0 0/0 ONLINE ONLINE racnode1

    ora.scan3.vip ora....ip.type 0/0 0/0 ONLINE ONLINE racnode1

    说明:

    英文解释

    ora.gsd is OFFLINE by default ifthere is no 9i database in the cluster.

    ora.oc4j is OFFLINE in 11.2.0.1 as DatabaseWorkload Management(DBWLM) is unavailable. these can be ignored in11gR2 RAC.

    中文解释

    ora.gsd是集群服务中用于与9i数据库进行通信的一个进程,在当前版本中为了向后兼容才保存下来,状态为OFFLINE不影响CRS的正常运行与性能,我们忽略即可

    ora.oc4j是在11.2.0.2以上版本中有效的服务进程,用于DBWLM的资源管理,因此在11.2.0.1以下版本并没有使用

    第2步、启动数据库:

    oracl用户执行srvctl命令:

    语法:srvctl start|stop|status database -d dbname -o immediate

    作用:可以一次性启动dbname的所有实例

    [oracle@racnode1 ~]$ srvctl start database -d racdb -启动所有节点上的实例

    然后查看状态:

    [oracle@racnode1 ~]$ srvctl status database -d racdb

    (三)检查状态

    root下执行命令,请配置环境变量,可省略完整路径。

    export ORACLE_HOME=/u01/grid/product/11gr2

    export PATH=$ORACLE_HOME/bin:$PATH

    (1).详细输出资源全名称并检查状态

    crsctl status resource -t

    crsctl status resource

    (2).常用srvctl命令

    指定dbname上某个实例

    srvctl start|stop|status instance -d <dbname> -i <instance_name>

    (3).显示RAC下所有实例配置与状态

    srvctl status|config database -d <dbname>

    (4).显示所有节点的应用服务(VIP,GSD,listener,ONS)

    srvctl start|stop|status nodeapps -n<node_name>

    (5).ASM进程服务管理

    srvctl start|stop|status|config asm -n <nodename>[-i <asm_inst_name>] [-o<oracle_home>]

    srvctl config asm -a

    srvctl status asm -a

    (6).可以获取所有的环境信息:

    srvctl getenv database -d <dbname> [-i<instance_name>]

    (7).设置全局环境和变量:

    srvctl setenv database -d<dbname> -t LANG=en

    (8).在OCR中删除已有的数据库信息

    srvctl remove database -d <dbname>

    (9).向OCR中添加一个数据库的实例:

    srvctl add instance -d <dbname> -i<instance_name> -n <node1>

    srvctl add instance -d <dbname> -i<instance_name> -n <node2>

    (10).检查监听的状态

    srvctl status listener

    srvctl config listener -a

    (11)SCAN配置信息

    srvctl config scan

    (12)SCAN listener状态信息

    srvctl status scan

     

    小结:crsctl命令是一个集群级别命令,可以对所有集群资源进行统一启动、停止等管理操作

    srvctl命令是一个服务级别命令,可以对单一服务资源进行统一启动、停止等管理操作

    2、查看数据库实例、datafile、logfile、controfile、ASM实例

    查看数据库实例

    #su - oracle

    [oracle@racnode1 ~]$ sqlplus / as sysdba

    SQL> select instance_name,status from v$instance;

    INSTANCE_NAME STATUS

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

    orcl2 OPEN

    查看datafilelogfilecontrofile

    SQL> select TS#,STATUS,NAME from v$datafile;

    TS# STATUS NAME

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

    0 SYSTEM +DATA/testdb/datafile/system.256.911229287

    1 ONLINE +DATA/orcl/datafile/sysaux.257.911229291

    2 ONLINE +DATA/ orcl /datafile/undotbs1.258.911229293

    4 ONLINE +DATA/ orcl /datafile/users.259.911229293

    6 ONLINE +DATA/ orcl /datafile/example.264.911229559

    5 ONLINE +DATA/ orcl /datafile/undotbs2.265.911230235

    查看logfile:

    SQL> desc v$logfile;

    Name Type Nullable Default Comments

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

    GROUP# NUMBER Y

    STATUS VARCHAR2(7) Y

    TYPE VARCHAR2(7) Y

    MEMBER VARCHAR2(513) Y

    IS_RECOVERY_DEST_FILE VARCHAR2(3) Y

    SQL> select GROUP#,STATUS,MEMBER from v$logfile;

    GROUP#         STATUS                                                 MEMBER

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

    2 +FRA/orcl/onlinelog/group_2.262.997887279

    2 +CRS/orcl/onlinelog/group_2.258.997887279

    1 +FRA/orcl/onlinelog/group_1.261.997887277

    1 +CRS/orcl/onlinelog/group_1.257.997887277

    3 +FRA/orcl/onlinelog/group_3.265.997887443

    3 +CRS/orcl/onlinelog/group_3.259.997887443

    4 +FRA/orcl/onlinelog/group_4.266.997887443

    4 +CRS/orcl/onlinelog/group_4.260.997887445

    8 rows selected

    查看controlfile:

    SQL> desc v$controlfile;

    Name         Type         Nullable Default Comments

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

    STATUS     VARCHAR2(7)     Y

    NAME         VARCHAR2(513)     Y

    IS_RECOVERY_DEST_FILE     VARCHAR2(3)     Y

    BLOCK_SIZE     NUMBER         Y

    FILE_SIZE_BLKS     NUMBER         Y

    SQL> select NAME,STATUS from v$controlfile;

    NAME STATUS

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

    +FRA/orcl/controlfile/current.260.997887273

    +CRS/orcl/controlfile/current.256.997887273

    查看ASM实例

    [grid@racnode1 ~]$ sqlplus / as sysasm

    SQL> select instance_name,status from v$instance;

    INSTANCE_NAME     STATUS

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

    +ASM1         STARTED

    [grid@racnode2 ~]$ sqlplus / as sysasm

    SQL> select instance_name,status from v$instance;

    INSTANCE_NAME     STATUS

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

    +ASM2         STARTED

    [grid@racnode1 ~]$ sqlplus / as sysasm

    查看集群负载情况:    

    SQL> select inst_id, count(*) from gv$session group by inst_id;

    INST_ID COUNT(*)

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

    1 41

    2 39

    查看用户在哪个节点:

    SQL> select instance_name from v$instance;

    INSTANCE_NAME

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

    orcl2

    查看RAC集群名称:

    [root@racnode1 ~]# /u01/app/11.2.0/grid/bin/cemutlo -n

    racnode-cluster

    其他:crs 等同 has ["crsctl start crs" = "crsctl start has"]

    /u01/app/11.2.0/grid/bin/crsctl start crs -- root启动集群实例

    /u01/app/11.2.0/grid/bin/crsctl stop crs    -- root关闭集群实例

    srvctl start database -d orcl                -- oracle启动数据库

    srvctl stop database -d orcl                    -- oracle关闭数据库

    crsctl status resource -t                        -- rootgrid 查看资源状态

    /u01/app/11.2.0/grid/bin/crs_stat -t -v     -- oracle10g查看资源命令,11g仍可用。

    3、ASM基本操作

    asmcmd常用命令格式

    [grid@racnode1 ~]$ asmcmd

    ASMCMD> help

    查看asm磁盘组

    [grid@racnode1 ~]$ asmcmd -p

    ASMCMD [+] > exit

    四、整个安装过程中,可能常见的问题整理

    1、安装前预检查配置信息报错:

    如果没有配置DNS(只在hosts文件里标明),检测/etc/resolv.conf会失败的,可以忽略该警告,直接 ignore 即可,不影响安装,或配置dns服务,重新检测。

    2、安装grid软件 SSH互信问题导致无法进行下一步

    ssh互信配置

    3、安装grid软件 [INS-40912]错误

    忽略即可

    4、安装grid 环境检查报错或警告; 如果最后一列中有yes,则选择Fix & Check Again,运行其中的脚本

    这个警告,点击"more details"查看如下:

    选择Ignore All.

    5、执行root.sh报错

    找不到共享库。

    racnode1:

    # yum install compat-libcap1*

    racnode2:

    # yum install compat-libcap1*

    然后, racnode1 执行root.sh

    然后, racnode2 执行root.sh

    6、 INS-20802 Oracle Cluster Verifaction Utility failed。 可以skip。点击"Skip"

    提示:INS-32091,Software Installation was successful.But some configuration assistants failed,were

    cancelled or skipped. Are you sure you want to continue?

    选择"Yes"。

    7、检查结果warning."Single Client Access Name(SCAN)。忽略即可。勾选"Ignore All"。

    Oracle安装过程检查报错

    8、设置ASMSNMP密码 报错

    解决:以grid用户给asmsnmp设置密码。然后再点击上图的"Retry"。

    待续……

  • 相关阅读:
    .NET数据库编程求索之路6.使用ADO.NET实现(三层架构篇使用List传递数据基于存储过程)(1)
    【转】模板化的单例模式
    .NET数据库编程求索之路7.使用ADO.NET实现(工厂模式实现多数据库切换)(1)
    【转】VC++项目中stdafx.h的作用
    【转】用oledb读取dbf文件报错--“外部表不是预期的格式” [
    【转】ADO.Net连接DBF文件
    【转】可能继承的C++ Singleton基类
    .NET数据库编程求索之路6.使用ADO.NET实现(三层架构篇使用List传递数据基于存储过程)(2)
    .NET数据库编程求索之路4.使用ADO.NET实现(三层架构篇使用Table传递数据)(3)
    RMAN>干掉热备份#OCP试验1#
  • 原文地址:https://www.cnblogs.com/ctulzq/p/10299161.html
Copyright © 2020-2023  润新知