zoukankan      html  css  js  c++  java
  • centos7.6静默安装oracle 11G RAC

      (一)环境介绍

      esxi6.0 ,VMware vSphere Client6.0,linux 版本Centos7.6(最小化安装)Oracle 版本 oracle 11g 11.2.0.4,下载链接在博客尾页。

      (二)虚拟化环境搭建

      资源下载:

      链接:https://pan.baidu.com/s/1AjXAPi2OBCm3pA88EtDi0Q
      提取码:1111

      个别机型去要第三方驱动,而在官方又找不到时候,可以选择ESXi-Customizer加载第三方驱动

    工具下载链接如下:

       链接:https://pan.baidu.com/s/1Ta5ZZK6KtSe05Q1LyPtU6A
      提取码:1111

      (三) 配置共享存储

      esxi配置ssh远程连接,我这里配置的与主机一起启动,如果ssh没有启动,点击启动即可。


     

      打开ssh连接工具,这里我使用的xshell,截图如下,创建共享磁盘时候忘记截图了,就截图做完毕之后的如下

     

      创建共享磁盘命令如下,(一共是4块,)

    vmkfstools -c 10240m -a lsilogic -d eagerzeroedthick mysharedisk_01.vmdk
    vmkfstools -c 10240m -a lsilogic -d eagerzeroedthick mysharedisk_02.vmdk
    vmkfstools -c 10240m -a lsilogic -d eagerzeroedthick mysharedisk_03.vmdk
    vmkfstools -c 10240m -a lsilogic -d eagerzeroedthick mysharedisk_04.vmdk
    

     
      创建成功后,打开VMware vSphere Client,进入数据存储浏览器打开如下图:

     

      两个linux节点,虚拟机中配置如下,这里列出rac1的配置:(两台Linux配置相同)

     

    两台虚拟机scsi控制器1设置为虚拟属性。

     

     

     
      将同步客户机时间与主机时间打勾,重启两台虚拟机。

       (四)配置yum源

    安装linux ,选择最小化安装,虚拟机配置双网卡,挂载安装镜像,配置yum源为本地源,挂载操作系统光盘文件,命令如下参考:

    mkdir /cdrom
    mount /dev/cdrom /cdrom
    
    cd /etc/yum.repos.d
    mkdir bak
    mv *.*  bak
    

     

    编辑yum 配置文件CentOS-Base.repo配置如下:
    vi CentOS-Base.repo添加如下

    [base]
    name=CentOS
    baseurl=file:///cdrom
    gpgcheck=0
    enabled=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    


    联网环境也可使用oracle官方源,使用命令下载:

    wget  http://public-yum.oracle.com/public-yum-ol7.repo
    

     
    安装net-tools,安装net-tools,只是为了使用ifconfig 命令,命令如下:

    yum inatall net-tools* -y
    

     
    安装unzip ,解压oracle安装包使用unzip命令:

    yum install unzip -y
    

    (五)安装前环境配置

        1.安装前下载

      下载oracle 安装包,grid 安装包,准备红帽操作系统或者oracle linux 操作系统,(oracle 和grid 需要的包在centos7会缺少compat-libstdc++  ,红帽镜像中有)
    本文中使用的oracle 11.2.0.4 安装包及补丁包如下:


    百度云链接:
    链接:https://pan.baidu.com/s/1WvdpiTs9m3es5vyTBzHb4w
    提取码:1111

    操作系统下载链接:

    centos

    http://mirrors.sohu.com/centos/7.6.1810/isos/x86_64/

    redhat
    链接:https://pan.baidu.com/s/16-TgKVk_nAxLeakRsOPKkg
    提取码:1111

     
    创建asm,前配置及规划,环境配置如下:

    oracle linux

    下载链接

    https://yum.oracle.com/oracle-linux-isos.html

      2.网络环境

    rac1
    网卡1:网卡名:ens192配置如下:

    public ip :192.168.2.101

    网卡1:网卡名:ens224配置如下:

    private vip :10.10.10.11

    网卡配置文件如下:

    ens160

    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=static
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=ens160
    UUID=fe2552fd-fd89-4cd0-9b97-55d52c1287f0
    DEVICE=ens160
    ONBOOT=yes
    IPADDR=192.168.2.101
    NETMASK=255.255.255.0

    ens192

    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=static
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=ens192
    UUID=a2834e07-69f5-49cf-b480-c58cefe28e6e
    DEVICE=ens192
    ONBOOT=yes
    IPADDR=10.10.10.11
    NETMASK=255.255.255.0


    rac2
    网卡1:网卡名:ens192配置如下:
    public ip :192.168.2.102

    网卡1:网卡名:ens224配置如下

    private vip :10.10.10.12


    配置文件如下:

    ens160

    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=static
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=ens160
    UUID=fe2552fd-fd89-4cd0-9b97-55d52c1287f0
    DEVICE=ens160
    ONBOOT=yes
    IPADDR=192.168.2.102
    NETMASK=255.255.255.0

    ens192

    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=static
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=ens192
    UUID=a2834e07-69f5-49cf-b480-c58cefe28e6e
    DEVICE=ens192
    ONBOOT=yes
    IPADDR=10.10.10.12
    NETMASK=255.255.255.0



    两个节点都要配置
    修改hosts 文件添加ip,及安装Oracle后生成的虚拟ip
    192.168.2.103-104,192.168.2.105 为安装后Oracle配置的ip:

    192.168.2.101 rac1
    192.168.2.102 rac2
     
    192.168.2.103 rac1-vip
    192.168.2.104 rac2-vip
     
    10.10.10.11 rac1-priv
    10.10.10.12 rac2-priv
     
    192.168.2.105 rac-san

      3 .关闭防火墙关闭selinux

    两节点执行如下命令, 命令如下:

    systemctl stop firewalld

    systemctl disable firewalld

    vi /etc/selinux/config

    编辑

    SELINUX=disabled

    如下图操作:

      3.安装grid必须的包

    grid必须的包官方参考官方链接:

    https://docs.oracle.com/cd/E11882_01/install.112/e41961/prelinux.htm#CWLIN225

     Table 2-9 Linux x86-64 Oracle Grid Infrastructure and Oracle RAC Package Requirements
    
    Oracle Linux 7 and Red Hat Enterprise Linux 7
    
    The following packages (or later versions) must be installed:
    
    binutils-2.23.52.0.1-12.el7.x86_64 
    compat-libcap1-1.10-3.el7.x86_64 
    gcc-4.8.2-3.el7.x86_64 
    gcc-c++-4.8.2-3.el7.x86_64 
    glibc-2.17-36.el7.i686 
    glibc-2.17-36.el7.x86_64 
    glibc-devel-2.17-36.el7.i686 
    glibc-devel-2.17-36.el7.x86_64 
    ksh
    libaio-0.3.109-9.el7.i686 
    libaio-0.3.109-9.el7.x86_64 
    libaio-devel-0.3.109-9.el7.i686 
    libaio-devel-0.3.109-9.el7.x86_64 
    libgcc-4.8.2-3.el7.i686 
    libgcc-4.8.2-3.el7.x86_64 
    libstdc++-4.8.2-3.el7.i686 
    libstdc++-4.8.2-3.el7.x86_64 
    libstdc++-devel-4.8.2-3.el7.i686 
    libstdc++-devel-4.8.2-3.el7.x86_64 
    libXi-1.7.2-1.el7.i686 
    libXi-1.7.2-1.el7.x86_64 
    libXtst-1.2.2-1.el7.i686 
    libXtst-1.2.2-1.el7.x86_64 
    make-3.82-19.el7.x86_64 
    sysstat-10.1.5-1.el7.x86_64

      修改命令如下:

    yum install -y binutils*
    yum install -y compat-libcap1*
    yum install -y gcc*
    yum install -y gcc-c++*
    yum install -y glibc*
    yum install -y glibc-devel*
    yum install -y ksh*
    yum install -y libaio*
    yum install -y libgcc*
    yum install -y libstdc*
    yum install -y libstdc++-devel*
    yum install -y libXi*
    yum install -y libXtst*
    yum install -y make*
    yum install -y sysstat*
    yum install -y elfutils-libelf-devel*

    centos7中缺少的包compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm,需要在红帽镜像中找到。使用rpm命令安装即可。

    compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm下载链接(从红帽镜像里面拷贝出来的)

    https://files.cnblogs.com/files/wenxiao1-2-3-4/compat-libstdc.rpm.zip


    [root@rac2 ~]# rpm -ivh compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm 
    warning: compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
    Preparing...                          ################################# [100%]
    Updating / installing...
       1:compat-libstdc++-33-3.2.3-69.el6 ################################# [100%]


    (环境检查时候会缺少pdksh包,忽略即可)。

      4.用户和组

    4.1创建安装目录,创建用户

    /usr/sbin/groupadd -g 1000 oinstall
    /usr/sbin/groupadd -g 1020 asmadmin
    /usr/sbin/groupadd -g 1021 asmdba
    /usr/sbin/groupadd -g 1022 asmoper
    /usr/sbin/groupadd -g 1031 dba
    /usr/sbin/groupadd -g 1032 oper
    useradd -u 1100 -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid
    useradd -u 1101 -g oinstall -G dba,asmdba,oper oracle
    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/

    参考官方创建组和用户,链接如下:


    https://docs.oracle.com/cd/E11882_01/install.112/e41961/prelinux.htm#CWLIN178


    最后使用root用户更改grid,oracle 用户的密码

    passwd oracle
    passwd grid
    

    4.2配置环境变量

    4.2.1 grid环境变量

    节点1上配置,编辑 .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

     
    节点2上配置,编辑 .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
    4.2.2oracle  环境变量

     节点1.bash_profile

    export TMP=/tmp
    export TMPDIR=$TMP
    export ORACLE_SID=rac1     
    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
    export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
    umask 022

     
    节点2.bash_profile

    export TMP=/tmp
    export TMPDIR=$TMP
    export ORACLE_SID=rac2
    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
    export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
    umask 022

    保存完毕,执行source命令,生效环境变量。

      5.linux 配置裸设备

    一个节点执行分区即可,执行fdisk 创建分区,编辑配置文件/usr/lib/udev/rules.d/60-raw.rules(两节点都需要修改)

    [root@rac1 ~]# ls /usr/lib/udev/rules.d/60-raw.rules
    /usr/lib/udev/rules.d/60-raw.rules
    [root@rac1 ~]# cat /usr/lib/udev/rules.d/60-raw.rules
    #
    # Enter raw device bindings here.
    #
    # An example would be:
    #   ACTION=="add", KERNEL=="sda", RUN+="/usr/bin/raw /dev/raw/raw1 %N"
    # to bind /dev/raw/raw1 to /dev/sda, or
    #   ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="1", RUN+="/usr/bin/raw /dev/raw/raw2 %M %m"
    # to bind /dev/raw/raw2 to the device with major 8, minor 1.
    ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N"
    ACTION=="add", KERNEL=="sdc1", RUN+="/bin/raw /dev/raw/raw2 %N"
    ACTION=="add", KERNEL=="sdd1", RUN+="/bin/raw /dev/raw/raw3 %N"
    ACTION=="add", KERNEL=="sde1", RUN+="/bin/raw /dev/raw/raw4 %N"
    
    
    KERNEL=="raw[1]", MODE="0660", OWNER="grid", GROUP="asmadmin"
    KERNEL=="raw[2]", MODE="0660", OWNER="grid", GROUP="asmadmin"
    KERNEL=="raw[3]", MODE="0660", OWNER="grid", GROUP="asmadmin"
    KERNEL=="raw[4]", MODE="0660", OWNER="grid", GROUP="asmadmin"

    重启系统后看到/dev/raw/下出现新配的文件

    [root@rac1 ~]# ls -l /dev/raw/
    total 0
    crw-rw---- 1 grid asmadmin 162, 1 Jul 15 21:23 raw1
    crw-rw---- 1 grid asmadmin 162, 2 Jul 14 20:45 raw2
    crw-rw---- 1 grid asmadmin 162, 3 Jul 14 20:45 raw3
    crw-rw---- 1 grid asmadmin 162, 4 Jul 14 20:45 raw4
    crw-rw---- 1 root disk     162, 0 Jul 14 20:45 rawctl

       6.系统参数

    修改,两个文件/etc/sysctl.conf,和/etc/security/limits.conf(两节点都需要修改)

    /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.shmmax = 4294967295
    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

    修改完毕执行sysctl -p。

    /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

       7.配置互信

     两种方法配置互信,一种手动执行命令保证两节点key文件一致,另一种方法使用oracle 安装包自带的互信脚本执行。

    方法一

    两台linux rac1,rac2互信,包括Oracle,grid 用户
    oracle 用户和grid 用户大致相同
    步骤如下
    rac1下操作
    ssh-keygen  -t rsa
    回车默认
    cat .ssh/id_rsa.pub  >> .ssh/authorized_keys

    rac2下操作
    ssh-keygen  -t rsa
    回车默认
    cat .ssh/id_rsa.pub  >> .ssh/authorized_keys

    scp .ssh/authorized_keys rac2:
    在rac2上操作

    cat authorized_keys >> .ssh/authorized_keys
    执行
    scp .ssh/authorized_keys rac1:

    rac1上操作

    cat authorized_keys >.ssh/authorized_keys
    rac1互信配置完毕配置文件,权限如下
    [

    grid@rac1 ~]$ ll .ssh/ -d
    drwx------ 2 grid oinstall 80 Jul 13 05:02 .ssh/
    [grid@rac1 ~]$ ll .ssh/
    total 16
    -rw-r--r-- 1 grid oinstall  782 Jul 13 05:04 authorized_keys
    -rw------- 1 grid oinstall 1675 Jul 13 05:01 id_rsa
    -rw-r--r-- 1 grid oinstall  391 Jul 13 05:01 id_rsa.pub
    -rw-r--r-- 1 grid oinstall  360 Jul 13 05:02 known_hosts
    [grid@rac1 ~]$ cat .ssh/authorized_keys
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDVuiEr9Dug/tLJ+rZbdUr0ZDIlviaRPAoKcPoPf2EBCCRuYa3O6sqcOqKlwMNbitRl6eTaGxktVFOru7r2AG+DlajNaZo1B5jizx+atKCZzxoils8XGZNEPbEbNZN/NwgYEq2DYv1RkjcRXMvvPhEKskkBV3GT6BOPow0YTsRwajBmaLSamhg7fHnBTkzV6cjhDlLnLCyPevvlFMcKm1Y338ApSQMNBaPO9DhprYhUaEbUK8SpqZVOOWKHpAsFqc2iAPdnXJX36W/pc+dZf/FzuaJU1bPz6nzizEBB1zsnY3MWopKrac2j6TzjHpO4HLWCLDdJLYIMsFDCL0kJEIgl/ grid@rac1
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOTMVA9hhXpMZQX9YK282J0QWxCawAwZCP/AH3zIuXYXA/q5GHYhnFoG2xAM7wt9Vf2+LXYKV0QrVBBpZAlS9MzCna2upqqfB32QtBBMeAIxyBE++9ufPUz+QgvfkpET5YA9vxgm1plX0jB5OftO0YXXQzE5m0+2TI+WRsDCSpqZJTZzfZr0ncLfT6olguTwok70ls4dv+VLDW5RyG4yef8T5+PEdQa9igPD8iqsrAcunmhzsf+Hroz7Mkkl7IiFrFZc3OOPEkOa1GK3doOZeuu75fEHDd89IEMfDPJdW5Hfv+xOTRBd3mOv0jn/oiL+9wxP9TqfamJ9XRZpUpDFeR grid@rac2
    [grid@rac1 ~]$
    

      



    rac2上rac1互信配置完毕配置文件,权限如下

    [grid@rac2 ~]$ ll .ssh/ -d
    drwx------. 2 grid oinstall 80 Jul 12 23:23 .ssh/
    [grid@rac2 ~]$ ll .ssh/
    total 16
    -rw-r--r--. 1 grid oinstall  782 Jul 13 05:04 authorized_keys
    -rw-------. 1 grid oinstall 1679 Jul 12 23:22 id_rsa
    -rw-r--r--. 1 grid oinstall  391 Jul 12 23:22 id_rsa.pub
    -rw-r--r--. 1 grid oinstall  360 Jul 13 05:02 known_hosts
    [grid@rac2 ~]$ cat .ssh/authorized_keys
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDVuiEr9Dug/tLJ+rZbdUr0ZDIlviaRPAoKcPoPf2EBCCRuYa3O6sqcOqKlwMNbitRl6eTaGxktVFOru7r2AG+DlajNaZo1B5jizx+atKCZzxoils8XGZNEPbEbNZN/NwgYEq2DYv1RkjcRXMvvPhEKskkBV3GT6BOPow0YTsRwajBmaLSamhg7fHnBTkzV6cjhDlLnLCyPevvlFMcKm1Y338ApSQMNBaPO9DhprYhUaEbUK8SpqZVOOWKHpAsFqc2iAPdnXJX36W/pc+dZf/FzuaJU1bPz6nzizEBB1zsnY3MWopKrac2j6TzjHpO4HLWCLDdJLYIMsFDCL0kJEIgl/ grid@rac1
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOTMVA9hhXpMZQX9YK282J0QWxCawAwZCP/AH3zIuXYXA/q5GHYhnFoG2xAM7wt9Vf2+LXYKV0QrVBBpZAlS9MzCna2upqqfB32QtBBMeAIxyBE++9ufPUz+QgvfkpET5YA9vxgm1plX0jB5OftO0YXXQzE5m0+2TI+WRsDCSpqZJTZzfZr0ncLfT6olguTwok70ls4dv+VLDW5RyG4yef8T5+PEdQa9igPD8iqsrAcunmhzsf+Hroz7Mkkl7IiFrFZc3OOPEkOa1GK3doOZeuu75fEHDd89IEMfDPJdW5Hfv+xOTRBd3mOv0jn/oiL+9wxP9TqfamJ9XRZpUpDFeR grid@rac2
    [grid@rac2 ~]$
    

      



    方法供参考,目的是两台机器的密钥文件写入到authorized_keys,拷贝到两台机器上,并且一致
    互信测试执行
    rac1

    [grid@rac1 ~]$ ssh rac1
    Last login: Wed Jul 15 03:30:57 2020
    [grid@rac1 ~]$
    [grid@rac1 ~]$ ssh rac2
    Last login: Wed Jul 15 03:04:23 2020 from rac1
    [grid@rac2 ~]$
    

      


    rac2

    grid@rac2 ~]$ ssh rac2
    Last login: Wed Jul 15 03:44:49 2020 from rac1
    [grid@rac2 ~]$ ssh rac1
    Last login: Wed Jul 15 03:44:31 2020 from rac1
    [grid@rac1 ~]$
    

      



    如上输出即可正常。以上完毕。

    方法二

      使用oral测自带的互信脚本,执行即可

    [root@rac1 database]# ls
    install  readme.html  response  rpm  runInstaller  sshsetup  stage  welcome.html
    [root@rac1 database]# ./sshsetup/sshUserSetup.sh help=y
    Please specify a valid and existing cluster configuration file.
    Either user name or host information is missing
    Usage ./sshsetup/sshUserSetup.sh -user <user name> [ -hosts "<space separated hostlist>" | -hostfile <absolute path of cluster configuration file> ] [ -advanced ]  [ -verify] [ -exverify ] [ -logfile <desired absolute path of logfile> ] [-confirm] [-shared] [-help] [-usePassphrase] [-noPromptPassphrase]
    [root@rac1 database]# 

      

    为为两主机rac1 ,rac2添加互信,用户是oralce

    ./sshUserSetup.sh -hosts "rac1 rac2" -user oracle -advanced

    脚本输出如下

    [root@rac1 sshsetup]# ./sshUserSetup.sh -hosts "rac1 rac2" -user oracle -advanced
    The output of this script is also logged into /tmp/sshUserSetup_2021-09-16-06-04-32.log
    Hosts are rac1 rac2
    user is oracle
    Platform:- Linux 
    Checking if the remote hosts are reachable
    PING rac1 (192.168.10.20) 56(84) bytes of data.
    64 bytes from rac1 (192.168.10.20): icmp_seq=1 ttl=64 time=0.018 ms
    64 bytes from rac1 (192.168.10.20): icmp_seq=2 ttl=64 time=0.044 ms
    64 bytes from rac1 (192.168.10.20): icmp_seq=3 ttl=64 time=0.044 ms
    64 bytes from rac1 (192.168.10.20): icmp_seq=4 ttl=64 time=0.044 ms
    64 bytes from rac1 (192.168.10.20): icmp_seq=5 ttl=64 time=0.048 ms
    
    --- rac1 ping statistics ---
    5 packets transmitted, 5 received, 0% packet loss, time 4002ms
    rtt min/avg/max/mdev = 0.018/0.039/0.048/0.012 ms
    PING rac2 (192.168.10.21) 56(84) bytes of data.
    64 bytes from rac2 (192.168.10.21): icmp_seq=1 ttl=64 time=0.600 ms
    64 bytes from rac2 (192.168.10.21): icmp_seq=2 ttl=64 time=0.714 ms
    64 bytes from rac2 (192.168.10.21): icmp_seq=3 ttl=64 time=0.701 ms
    64 bytes from rac2 (192.168.10.21): icmp_seq=4 ttl=64 time=0.737 ms
    64 bytes from rac2 (192.168.10.21): icmp_seq=5 ttl=64 time=0.643 ms
    
    --- rac2 ping statistics ---
    5 packets transmitted, 5 received, 0% packet loss, time 4005ms
    rtt min/avg/max/mdev = 0.600/0.679/0.737/0.050 ms
    Remote host reachability check succeeded.
    The following hosts are reachable: rac1 rac2.
    The following hosts are not reachable: .
    All hosts are reachable. Proceeding further...
    firsthost rac1
    numhosts 2
    The script will setup SSH connectivity from the host rac1 to all
    the remote hosts. After the script is executed, the user can use SSH to run
    commands on the remote hosts or copy files between this host rac1
    and the remote hosts without being prompted for passwords or confirmations.
    
    NOTE 1:
    As part of the setup procedure, this script will use ssh and scp to copy
    files between the local host and the remote hosts. Since the script does not
    store passwords, you may be prompted for the passwords during the execution of
    the script whenever ssh or scp is invoked.
    
    NOTE 2:
    AS PER SSH REQUIREMENTS, THIS SCRIPT WILL SECURE THE USER HOME DIRECTORY
    AND THE .ssh DIRECTORY BY REVOKING GROUP AND WORLD WRITE PRIVILEDGES TO THESE
    directories.
    
    Do you want to continue and let the script make the above mentioned changes (yes/no)?
    yes
    
    The user chose yes
    Please specify if you want to specify a passphrase for the private key this script will create for the local host. Passphrase is used to encrypt the private key and makes SSH much more secure. Type 'yes' or 'no' and then press enter. In case you press 'yes', you would need to enter the passphrase whenever the script executes ssh or scp. 
    The estimated number of times the user would be prompted for a passphrase is 4. In addition, if the private-public files are also newly created, the user would have to specify the passphrase on one additional occasion. 
    Enter 'yes' or 'no'.
    yes
    
    The user chose yes
    Creating .ssh directory on local host, if not present already
    Creating authorized_keys file on local host
    Changing permissions on authorized_keys to 644 on local host
    Creating known_hosts file on local host
    Changing permissions on known_hosts to 644 on local host
    Creating config file on local host
    If a config file exists already at /root/.ssh/config, it would be backed up to /root/.ssh/config.backup.
    Removing old private/public keys on local host
    Running SSH keygen on local host
    Enter passphrase (empty for no passphrase): 
    Enter same passphrase again: 
    Generating public/private rsa key pair.
    Your identification has been saved in /root/.ssh/id_rsa.
    Your public key has been saved in /root/.ssh/id_rsa.pub.
    The key fingerprint is:
    SHA256:gKwItLJdlR8rhK15zllEw2+Em1TyPYfylmHZDO4i88M root@rac1
    The key's randomart image is:
    +---[RSA 1024]----+
    | .   o.++o. .    |
    |. ...o+ *+.o *   |
    |o.  ++.+ Bo O +  |
    |o+ oo o.* o= =   |
    |o o  + +S.. =    |
    |      +  = o     |
    |          E      |
    |           .     |
    |                 |
    +----[SHA256]-----+
    Creating .ssh directory and setting permissions on remote host rac1
    THE SCRIPT WOULD ALSO BE REVOKING WRITE PERMISSIONS FOR group AND others ON THE HOME DIRECTORY FOR oracle. THIS IS AN SSH REQUIREMENT.
    The script would create ~oracle/.ssh/config file on remote host rac1. If a config file exists already at ~oracle/.ssh/config, it would be backed up to ~oracle/.ssh/config.backup.
    The user may be prompted for a password here since the script would be running SSH on host rac1.
    Warning: Permanently added 'rac1,192.168.10.20' (ECDSA) to the list of known hosts.
    oracle@rac1's password: 
    Done with creating .ssh directory and setting permissions on remote host rac1.
    Creating .ssh directory and setting permissions on remote host rac2
    THE SCRIPT WOULD ALSO BE REVOKING WRITE PERMISSIONS FOR group AND others ON THE HOME DIRECTORY FOR oracle. THIS IS AN SSH REQUIREMENT.
    The script would create ~oracle/.ssh/config file on remote host rac2. If a config file exists already at ~oracle/.ssh/config, it would be backed up to ~oracle/.ssh/config.backup.
    The user may be prompted for a password here since the script would be running SSH on host rac2.
    Warning: Permanently added 'rac2,192.168.10.21' (ECDSA) to the list of known hosts.
    oracle@rac2's password: 
    Done with creating .ssh directory and setting permissions on remote host rac2.
    Copying local host public key to the remote host rac1
    The user may be prompted for a password or passphrase here since the script would be using SCP for host rac1.
    oracle@rac1's password: 
    Done copying local host public key to the remote host rac1
    Copying local host public key to the remote host rac2
    The user may be prompted for a password or passphrase here since the script would be using SCP for host rac2.
    oracle@rac2's password: 
    Done copying local host public key to the remote host rac2
    Creating keys on remote host rac1 if they do not exist already. This is required to setup SSH on host rac1.
    Generating public/private rsa key pair.
    Your identification has been saved in .ssh/id_rsa.
    Your public key has been saved in .ssh/id_rsa.pub.
    The key fingerprint is:
    SHA256:v5ssNTbEi0QV7DrGvPvRRlHtCFgDx1jdVwQvAP6bWBQ oracle@rac1
    The key's randomart image is:
    +---[RSA 1024]----+
    |         o=XE.o=+|
    |        ..+.o=..+|
    |       . o. o..oo|
    |        . +o ....|
    |       +S+ .+    |
    |        B.*= o   |
    |       . =+o=    |
    |        o. =     |
    |        .+*.     |
    +----[SHA256]-----+
    Creating keys on remote host rac2 if they do not exist already. This is required to setup SSH on host rac2.
    Generating public/private rsa key pair.
    Your identification has been saved in .ssh/id_rsa.
    Your public key has been saved in .ssh/id_rsa.pub.
    The key fingerprint is:
    SHA256:DOM3p67iPw0SutOj8yXX6imidsQxrCEcPqJqS00nwj4 oracle@rac2
    The key's randomart image is:
    +---[RSA 1024]----+
    |                 |
    | .               |
    |o o   o          |
    |+= +.. +         |
    |+o=+oo. S .      |
    |o.=o+ .o +       |
    |.E.+..ooo        |
    |oo*.=+.+.        |
    |+o+Bo**o.        |
    +----[SHA256]-----+
    Updating authorized_keys file on remote host rac1
    Updating known_hosts file on remote host rac1
    The script will run SSH on the remote machine rac1. The user may be prompted for a passphrase here in case the private key has been encrypted with a passphrase.
    Updating authorized_keys file on remote host rac2
    Updating known_hosts file on remote host rac2
    The script will run SSH on the remote machine rac2. The user may be prompted for a passphrase here in case the private key has been encrypted with a passphrase.
    SSH setup is complete.
    
    ------------------------------------------------------------------------
    Verifying SSH setup
    ===================
    The script will now run the date command on the remote nodes using ssh
    to verify if ssh is setup correctly. IF THE SETUP IS CORRECTLY SETUP,
    THERE SHOULD BE NO OUTPUT OTHER THAN THE DATE AND SSH SHOULD NOT ASK FOR
    PASSWORDS. If you see any output other than date or are prompted for the
    password, ssh is not setup correctly and you will need to resolve the
    issue and set up ssh again.
    The possible causes for failure could be:
    1. The server settings in /etc/ssh/sshd_config file do not allow ssh
    for user oracle.
    2. The server may have disabled public key based authentication.
    3. The client public key on the server may be outdated.
    4. ~oracle or ~oracle/.ssh on the remote host may not be owned by oracle.
    5. User may not have passed -shared option for shared remote users or
    may be passing the -shared option for non-shared remote users.
    6. If there is output in addition to the date, but no password is asked,
    it may be a security alert shown as part of company policy. Append the
    additional text to the <OMS HOME>/sysman/prov/resources/ignoreMessages.txt file.
    ------------------------------------------------------------------------
    --rac1:--
    Running /usr/bin/ssh -x -l oracle rac1 date to verify SSH connectivity has been setup from local host to rac1.
    IF YOU SEE ANY OTHER OUTPUT BESIDES THE OUTPUT OF THE DATE COMMAND OR IF YOU ARE PROMPTED FOR A PASSWORD HERE, IT MEANS SSH SETUP HAS NOT BEEN SUCCESSFUL. Please note that being prompted for a passphrase may be OK but being prompted for a password is ERROR.
    The script will run SSH on the remote machine rac1. The user may be prompted for a passphrase here in case the private key has been encrypted with a passphrase.
    Thu Sep 16 06:05:04 EDT 2021
    ------------------------------------------------------------------------
    --rac2:--
    Running /usr/bin/ssh -x -l oracle rac2 date to verify SSH connectivity has been setup from local host to rac2.
    IF YOU SEE ANY OTHER OUTPUT BESIDES THE OUTPUT OF THE DATE COMMAND OR IF YOU ARE PROMPTED FOR A PASSWORD HERE, IT MEANS SSH SETUP HAS NOT BEEN SUCCESSFUL. Please note that being prompted for a passphrase may be OK but being prompted for a password is ERROR.
    The script will run SSH on the remote machine rac2. The user may be prompted for a passphrase here in case the private key has been encrypted with a passphrase.
    Thu Sep 16 06:05:20 EDT 2021
    ------------------------------------------------------------------------
    ------------------------------------------------------------------------
    Verifying SSH connectivity has been setup from rac1 to rac1
    IF YOU SEE ANY OTHER OUTPUT BESIDES THE OUTPUT OF THE DATE COMMAND OR IF YOU ARE PROMPTED FOR A PASSWORD HERE, IT MEANS SSH SETUP HAS NOT BEEN SUCCESSFUL.
    bash: -c: line 0: unexpected EOF while looking for matching `"'
    bash: -c: line 1: syntax error: unexpected end of file
    ------------------------------------------------------------------------
    ------------------------------------------------------------------------
    Verifying SSH connectivity has been setup from rac1 to rac2
    IF YOU SEE ANY OTHER OUTPUT BESIDES THE OUTPUT OF THE DATE COMMAND OR IF YOU ARE PROMPTED FOR A PASSWORD HERE, IT MEANS SSH SETUP HAS NOT BEEN SUCCESSFUL.
    bash: -c: line 0: unexpected EOF while looking for matching `"'
    bash: -c: line 1: syntax error: unexpected end of file
    ------------------------------------------------------------------------
    -Verification from complete-
    SSH verification complete.

      

    执行完毕,执行验证

    [oracle@rac1 ~]$ date;ssh rac1 date;ssh rac1 date;ssh rac2 date;ssh rac2 date;ssh rac1 date
    Thu Sep 16 06:17:57 EDT 2021
    Thu Sep 16 06:17:58 EDT 2021
    Thu Sep 16 06:17:58 EDT 2021
    Thu Sep 16 06:18:13 EDT 2021
    Thu Sep 16 06:18:13 EDT 2021
    Thu Sep 16 06:17:59 EDT 2021
    [oracle@rac1 ~]$ 
    

      

      

      (六)grid安装前检查


    配置完毕执行grid环境检查脚本

     ./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -fixup -verbose
    

    检查完毕,缺少的包pdksh 没有安装,安装了ksh,可以忽略,oracle 官方有解释到,参考链接:

    https://docs.oracle.com/cd/E11882_01/relnotes.112/e23558/toc.htm#CJAFEIBJ

    解释如下:

    7.2.6 Missing Package Error During Oracle Database Installation on Oracle Linux 7

    During Oracle Database 11.2.0.4 installation on Oracle Linux 7, the Oracle Universal Installer reports a missing pdksh-5.2.14 package.

    Workaround:

    Ignore the missing pdksh-5.2.14 package error and proceed with the installation.

    This issue is tracked with Oracle bug 19947777.

       (七)安装 grid 软件,oracle 及创建数据库

    安装grid前,安装grid中cvuqdisk包,操作如下:

    [root@rac2 ~]# ls -lh /u01/grid/
    total 56K
    drwxr-xr-x.  4 grid oinstall 4.0K Aug 26  2013 install
    -rw-r--r--.  1 grid oinstall  30K Aug 27  2013 readme.html
    drwxr-xr-x.  2 grid oinstall   58 Jul 23 02:48 response
    drwxr-xr-x.  2 grid oinstall   34 Aug 26  2013 rpm
    -rwxr-xr-x.  1 grid oinstall 4.8K Aug 26  2013 runcluvfy.sh
    -rwxr-xr-x.  1 grid oinstall 3.2K Aug 26  2013 runInstaller
    drwxr-xr-x.  2 grid oinstall   29 Aug 26  2013 sshsetup
    drwxr-xr-x. 14 grid oinstall 4.0K Aug 26  2013 stage
    -rw-r--r--.  1 grid oinstall  500 Aug 27  2013 welcome.html
    [root@rac2 ~]# ls -lh /u01/grid/rpm/
    total 12K
    -rw-r--r--. 1 grid oinstall 8.1K Aug 26  2013 cvuqdisk-1.0.9-1.rpm
    [root@rac2 ~]# rpm -ivh /u01/grid/rpm/cvuqdisk-1.0.9-1.rpm 
    Preparing...                          ################################# [100%]
    ls: cannot access /usr/sbin/smartctl: No such file or directory
    /usr/sbin/smartctl not found.
    error: %pre(cvuqdisk-1.0.9-1.x86_64) scriptlet failed, exit status 1
    error: cvuqdisk-1.0.9-1.x86_64: install failed
    [root@rac2 ~]# yum install -y smartmontools
    Loaded plugins: ulninfo
    Resolving Dependencies
    --> Running transaction check
    ---> Package smartmontools.x86_64 1:6.5-1.el7 will be installed
    --> Processing Dependency: mailx for package: 1:smartmontools-6.5-1.el7.x86_64
    --> Running transaction check
    ---> Package mailx.x86_64 0:12.5-19.el7 will be installed
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ===============================================================================================================================================================================================
     Package                                           Arch                                       Version                                           Repository                                Size
    ===============================================================================================================================================================================================
    Installing:
     smartmontools                                     x86_64                                     1:6.5-1.el7                                       base                                     460 k
    Installing for dependencies:
     mailx                                             x86_64                                     12.5-19.el7                                       base                                     244 k
    
    Transaction Summary
    ===============================================================================================================================================================================================
    Install  1 Package (+1 Dependent package)
    
    Total download size: 704 k
    Installed size: 2.2 M
    Downloading packages:
    -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    Total                                                                                                                                                          3.6 MB/s | 704 kB  00:00:00     
    Running transaction check
    Running transaction test
    Transaction test succeeded
    Running transaction
      Installing : mailx-12.5-19.el7.x86_64                                                                                                                                                    1/2 
      Installing : 1:smartmontools-6.5-1.el7.x86_64                                                                                                                                            2/2 
      Verifying  : mailx-12.5-19.el7.x86_64                                                                                                                                                    1/2 
      Verifying  : 1:smartmontools-6.5-1.el7.x86_64                                                                                                                                            2/2 
    
    Installed:
      smartmontools.x86_64 1:6.5-1.el7                                                                                                                                                             
    
    Dependency Installed:
      mailx.x86_64 0:12.5-19.el7                                                                                                                                                                   
    
    Complete!
    [root@rac2 ~]# rpm -ivh /u01/grid/rpm/cvuqdisk-1.0.9-1.rpm 
    Preparing...                          ################################# [100%]
    Using default group oinstall to install package
    Updating / installing...
       1:cvuqdisk-1.0.9-1                 ################################# [100%]
    [root@rac2 ~]# 

    解压grid安装包,静默安装grid配置文件:(这里配置安装grid软件配置ASM)编辑grid_install.rsp,如下仅供参考:

    解释这里:oracle.install.crs.config.networkInterfaceList=ens192:192.168.2.0:1,ens224:10.10.10.0:2

    填写公有网卡名称和似有网卡名和ip 段就可以了

    oracle.install.responseFileVersion=/oracle/install/rspfmt_crsinstall_response_schema_v11_2_0
    ORACLE_HOSTNAME=rac1
    INVENTORY_LOCATION=/u01/app/oraInventory
    SELECTED_LANGUAGES=en
    oracle.install.option=CRS_CONFIG
    ORACLE_BASE=/u01/app/grid
    ORACLE_HOME=/u01/app/11.2.0/grid
    oracle.install.asm.OSDBA=asmdba
    oracle.install.asm.OSOPER=asmoper
    oracle.install.asm.OSASM=asmadmin
    oracle.install.crs.config.gpnp.scanName=rac-san
    oracle.install.crs.config.gpnp.scanPort=1521
    oracle.install.crs.config.clusterName=cluster-san
    oracle.install.crs.config.gpnp.configureGNS=false
    oracle.install.crs.config.gpnp.gnsSubDomain=
    oracle.install.crs.config.gpnp.gnsVIPAddress=
    oracle.install.crs.config.autoConfigureClusterNodeVIP=false
    oracle.install.crs.config.clusterNodes=rac1:rac1-vip,rac2:rac2-vip
    oracle.install.crs.config.networkInterfaceList=ens192:192.168.2.0:1,ens224:10.10.10.0:2
    oracle.install.crs.config.storageOption=ASM_STORAGE
    oracle.install.crs.config.sharedFileSystemStorage.diskDriveMapping=
    oracle.install.crs.config.sharedFileSystemStorage.votingDiskLocations=
    oracle.install.crs.config.sharedFileSystemStorage.votingDiskRedundancy=NORMAL
    oracle.install.crs.config.sharedFileSystemStorage.ocrLocations=
    oracle.install.crs.config.sharedFileSystemStorage.ocrRedundancy=NORMAL
    oracle.install.crs.config.useIPMI=false
    oracle.install.crs.config.ipmi.bmcUsername=
    oracle.install.crs.config.ipmi.bmcPassword=
    oracle.install.asm.SYSASMPassword=oracle
    oracle.install.asm.diskGroup.name=DATA
    oracle.install.asm.diskGroup.redundancy=NORMAL
    oracle.install.asm.diskGroup.AUSize=1
    oracle.install.asm.diskGroup.disks=/dev/raw/raw1,/dev/raw/raw2,/dev/raw/raw3,/dev/raw/raw4
    oracle.install.asm.diskGroup.diskDiscoveryString=/dev/raw/*
    oracle.install.asm.monitorPassword=oracle
    oracle.install.crs.upgrade.clusterNodes=
    oracle.install.asm.upgradeASM=false
    oracle.installer.autoupdates.option=SKIP_UPDATES
    oracle.installer.autoupdates.downloadUpdatesLoc=
    AUTOUPDATES_MYORACLESUPPORT_USERNAME=
    AUTOUPDATES_MYORACLESUPPORT_PASSWORD=
    PROXY_HOST=
    PROXY_PORT=
    PROXY_USER=
    PROXY_PWD=
    PROXY_REALM=

    安装命令:

     ./runInstaller -silent  -ignorePrereq  -showProgress  -responseFile /u01/ora_app/grid/response/grid_install01.rsp

     -ignorePrereq表示忽略警告。

    操作步骤如下:

    [grid@rac1 grid]$ ./runInstaller -silent  -ignorePrereq  -showProgress  -responseFile /u01/ora_app/grid/response/grid_install01.rsp 
    Starting Oracle Universal Installer...
    
    Checking Temp space: must be greater than 120 MB.   Actual 9901 MB    Passed
    Checking swap space: must be greater than 150 MB.   Actual 4091 MB    Passed
    Preparing to launch Oracle Universal Installer from /tmp/OraInstall2020-07-24_06-21-45PM. Please wait ...
    [grid@rac1 grid]$ [WARNING] [INS-30011] The SYS password entered does not conform to the Oracle recommended standards.
       CAUSE: Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 
    uppercase character, 1 lower case character and 1 digit [0-9].
       ACTION: Provide a password that conforms to the Oracle recommended standards.
    [WARNING] [INS-30011] The ASMSNMP password entered does not conform to the Oracle recommended standards.
       CAUSE: Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 
    uppercase character, 1 lower case character and 1 digit [0-9].
       ACTION: Provide a password that conforms to the Oracle recommended standards.
    You can find the log of this install session at:
     /u01/app/oraInventory/logs/installActions2020-07-24_06-21-45PM.log
    
    Prepare in progress.
    ..................................................   9% Done.
    
    Prepare successful.
    
    Copy files in progress.
    ..................................................   15% Done.
    ..................................................   20% Done.
    ..................................................   25% Done.
    ..................................................   30% Done.
    ..................................................   35% Done.
    ..................................................   40% Done.
    ..................................................   45% Done.
    ........................................
    Copy files successful.
    
    Link binaries in progress.
    
    Link binaries successful.
    ..................................................   62% Done.
    
    Setup files in progress.
    
    Setup files successful.
    ..................................................   76% Done.
    
    Perform remote operations in progress.
    ..................................................   89% Done.
    
    Perform remote operations successful.
    The installation of Oracle Grid Infrastructure 11g was successful.
    Please check '/u01/app/oraInventory/logs/silentInstall2020-07-24_06-21-45PM.log' for more details.
    ..................................................   94% Done.
    
    Execute Root Scripts in progress.
    
    As a root user, execute the following script(s):
        1. /u01/app/oraInventory/orainstRoot.sh
        2. /u01/app/11.2.0/grid/root.sh
    
    Execute /u01/app/oraInventory/orainstRoot.sh on the following nodes: 
    [rac1, rac2]
    Execute /u01/app/11.2.0/grid/root.sh on the following nodes: 
    [rac1, rac2]
    
    ..................................................   100% Done.
    
    Execute Root Scripts successful.
    As install user, execute the following script to complete the configuration.
        1. /u01/app/11.2.0/grid/cfgtoollogs/configToolAllCommands RESPONSE_FILE=<response_file>
    
         Note:
        1. This script must be run on the same host from where installer was run. 
        2. This script needs a small password properties file for configuration assistants that require passwords (refer to install guide documentation).
    
    
    Successfully Setup Software.

    两个节点上执行脚本,执行脚本前更新oracle补丁,参见文章末尾步骤,安装补丁18370031。

    补丁更新完毕,接着执行root脚本步骤如下:

    [root@rac1 ~]# /u01/app/oraInventory/orainstRoot.sh
    Changing permissions of /u01/app/oraInventory.
    Adding read,write permissions for group.
    Removing read,write,execute permissions for world.
    
    Changing groupname of /u01/app/oraInventory to oinstall.
    The execution of the script is complete.
    [root@rac1 ~]# /u01/app/11.2.0/grid/root.sh
    Check /u01/app/11.2.0/grid/install/root_rac1_2020-07-24_18-40-41.log for the output of root script

    新开另外一个终端:

    [root@rac1 ~]# tail -f /u01/app/11.2.0/grid/install/root_rac1_2020-08-24_06-11-09.log | nl 
         1     Copying oraenv to /usr/local/bin ...
         2     Copying coraenv to /usr/local/bin ...
           
         3  Entries will be added to the /etc/oratab file as needed by
         4  Database Configuration Assistant when a database is created
         5  Finished running generic part of root script.
         6  Now product-specific root actions will be performed.
         7  Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params
         8  User ignored Prerequisites during installation
         9  Installing Trace File Analyzer
        10  OLR initialization - successful
        11    root wallet
        12    root wallet cert
        13    root cert export
        14    peer wallet
        15    profile reader wallet
        16    pa wallet
        17    peer wallet keys
        18    pa wallet keys
        19    peer cert request
        20    pa cert request
        21    peer cert
        22    pa cert
        23    peer root cert TP
        24    profile reader root cert TP
        25    pa root cert TP
        26    peer pa cert TP
        27    pa peer cert TP
        28    profile reader pa cert TP
        29    profile reader peer cert TP
        30    peer user cert
        31    pa user cert
        32  Adding Clusterware entries to oracle-ohasd.service
        33  CRS-2672: Attempting to start 'ora.mdnsd' on 'rac1'
        34  CRS-2676: Start of 'ora.mdnsd' on 'rac1' succeeded
        35  CRS-2672: Attempting to start 'ora.gpnpd' on 'rac1'
        36  CRS-2676: Start of 'ora.gpnpd' on 'rac1' succeeded
        37  CRS-2672: Attempting to start 'ora.cssdmonitor' on 'rac1'
        38  CRS-2672: Attempting to start 'ora.gipcd' on 'rac1'
        39  CRS-2676: Start of 'ora.cssdmonitor' on 'rac1' succeeded
        40  CRS-2676: Start of 'ora.gipcd' on 'rac1' succeeded
        41  CRS-2672: Attempting to start 'ora.cssd' on 'rac1'
        42  CRS-2672: Attempting to start 'ora.diskmon' on 'rac1'
        43  CRS-2676: Start of 'ora.diskmon' on 'rac1' succeeded
        44  CRS-2676: Start of 'ora.cssd' on 'rac1' succeeded
           
        45  ASM created and started successfully.
           
        46  Disk Group DATA created successfully.
           
        47  clscfg: -install mode specified
        48  Successfully accumulated necessary OCR keys.
        49  Creating OCR keys for user 'root', privgrp 'root'..
        50  Operation successful.
        51  CRS-4256: Updating the profile
        52  Successful addition of voting disk 5daea1cfaac24f1ebf870b7f9bb964c3.
        53  Successful addition of voting disk 28267865584c4fc3bf672e650d0e28ba.
        54  Successful addition of voting disk 1e8c192b947d4f43bf96dba5e650f11f.
        55  Successfully replaced voting disk group with +DATA.
        56  CRS-4256: Updating the profile
        57  CRS-4266: Voting file(s) successfully replaced
        58  ##  STATE    File Universal Id                File Name Disk group
        59  --  -----    -----------------                --------- ---------
        60   1. ONLINE   5daea1cfaac24f1ebf870b7f9bb964c3 (/dev/raw/raw1) [DATA]
        61   2. ONLINE   28267865584c4fc3bf672e650d0e28ba (/dev/raw/raw2) [DATA]
        62   3. ONLINE   1e8c192b947d4f43bf96dba5e650f11f (/dev/raw/raw3) [DATA]
        63  Located 3 voting disk(s).
        64  CRS-2672: Attempting to start 'ora.asm' on 'rac1'
        65  CRS-2676: Start of 'ora.asm' on 'rac1' succeeded
        66  CRS-2672: Attempting to start 'ora.DATA.dg' on 'rac1'
        67  CRS-2676: Start of 'ora.DATA.dg' on 'rac1' succeeded
        68  Configure Oracle Grid Infrastructure for a Cluster ... succeeded

    节点二

    [root@rac2 ~]# tail -f /u01/app/11.2.0/grid/install/root_rac2_2020-07-24_18-48-51.log | nl 
           
         1    Creating /etc/oratab file...
         2    Entries will be added to the /etc/oratab file as needed by
         3    Database Configuration Assistant when a database is created
         4    Finished running generic part of root script.
         5    Now product-specific root actions will be performed.
         6    Using configuration parameter file: /u01/app/11.2.0/grid/crs/install/crsconfig_params
         7    Creating trace directory
         8    User ignored Prerequisites during installation
         9    Installing Trace File Analyzer
        10    OLR initialization - successful
        11    Adding Clusterware entries to oracle-ohasd.service
        12    CRS-4402: The CSS daemon was started in exclusive mode but found an active CSS daemon on node rac1, number 1, and is terminating
        13    An active cluster was found during exclusive startup, restarting to join the cluster
        14    Configure Oracle Grid Infrastructure for a Cluster ... succeeded

      执行完毕成功。

       7.1.安装oracle 软件

    oracle 必须的软件包参考

    https://docs.oracle.com/cd/E11882_01/install.112/e24326/toc.htm#BHCGJCEA

    db_install.rsp文件配置如下:

    oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
    oracle.install.option=INSTALL_DB_AND_CONFIG
    ORACLE_HOSTNAME=rac1
    UNIX_GROUP_NAME=oinstall
    INVENTORY_LOCATION=/u01/app/oraInventory
    SELECTED_LANGUAGES=en
    ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
    ORACLE_BASE=/u01/app/oracle
    oracle.install.db.InstallEdition=EE
    oracle.install.db.EEOptionsSelection=false
    oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.4.0,oracle.oraolap:11.2.0.4.0,oracle.rdbms.dm:11.2.0.4.0,oracle.rdbms.dv:11.2.0.4.0,oracle.rdbms.lbac:11.2.0.4.0,oracle.rdbms.rat:11.2.0.4.0
    oracle.install.db.DBA_GROUP=dba
    oracle.install.db.OPER_GROUP=oper
    oracle.install.db.CLUSTER_NODES=rac1,rac2
    oracle.install.db.isRACOneInstall=
    oracle.install.db.racOneServiceName=
    oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
    oracle.install.db.config.starterdb.globalDBName=rac
    oracle.install.db.config.starterdb.SID=rac
    oracle.install.db.config.starterdb.characterSet=ZHS16GBK
    oracle.install.db.config.starterdb.memoryOption=true
    oracle.install.db.config.starterdb.memoryLimit=512
    oracle.install.db.config.starterdb.installExampleSchemas=false
    oracle.install.db.config.starterdb.enableSecuritySettings=true
    oracle.install.db.config.starterdb.password.ALL=oracle
    oracle.install.db.config.starterdb.password.SYS=
    oracle.install.db.config.starterdb.password.SYSTEM=
    oracle.install.db.config.starterdb.password.SYSMAN=
    oracle.install.db.config.starterdb.password.DBSNMP=
    oracle.install.db.config.starterdb.control=DB_CONTROL
    oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=
    oracle.install.db.config.starterdb.automatedBackup.enable=false
    oracle.install.db.config.starterdb.automatedBackup.osuid=
    oracle.install.db.config.starterdb.automatedBackup.ospwd=
    oracle.install.db.config.starterdb.storageType=ASM_STORAGE
    oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=
    oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=
    oracle.install.db.config.asm.diskGroup=DATA
    oracle.install.db.config.asm.ASMSNMPPassword=oracle
    MYORACLESUPPORT_USERNAME=
    MYORACLESUPPORT_PASSWORD=
    SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
    DECLINE_SECURITY_UPDATES=true
    PROXY_HOST=
    PROXY_PORT=
    PROXY_USER=
    PROXY_PWD=
    PROXY_REALM=
    COLLECTOR_SUPPORTHUB_URL=
    oracle.installer.autoupdates.option=SKIP_UPDATES
    oracle.installer.autoupdates.downloadUpdatesLoc=
    AUTOUPDATES_MYORACLESUPPORT_USERNAME=
    AUTOUPDATES_MYORACLESUPPORT_PASSWORD=

    执行安装

    ./runInstaller  -ignoreSysPrereqs  -silent  -showProgress -responseFile  /u01/ora_app/database/response/db_install.rsp

    这里会出现一个错误:

    [oracle@rac1 database]$ ./runInstaller  -ignoreSysPrereqs  -silent  -showProgress -responseFile  /u01/ora_app/database/response/db_install.rsp
    Starting Oracle Universal Installer...
    
    Checking Temp space: must be greater than 120 MB.   Actual 8932 MB    Passed
    Checking swap space: must be greater than 150 MB.   Actual 4049 MB    Passed
    Preparing to launch Oracle Universal Installer from /tmp/OraInstall2020-07-24_07-00-02PM. Please wait ...[oracle@rac1 database]$ [FATAL] 
    [INS-35354] The system on which you are attempting to install Oracle RAC
    is not part of a valid cluster. CAUSE: Before you can install Oracle RAC, you must install Oracle Grid Infrastructure on all servers (Oracle Clusterware and Oracle ASM)
    to create a cluster. ACTION: Oracle Grid Infrastructure
    is not installed. Install it either from the separate installation media included in your media pack,
    or install
    it by downloading it from Electronic Product Delivery (EPD)
    or the Oracle Technology Network (OTN).
    Oracle Grid Infrastructure normally is installed by a different operating system user than the one used for Oracle Database.
    It may need to be installed by your system administrator.
    See the installation guide for more details.

     修正错误见微章末尾:修改grid配置文件inventory.xml。

    修正后重新执行安装如下:

    [oracle@rac1 database]$./runInstaller  -ignoreSysPrereqs  -silent  -showProgress -responseFile  /u01/ora_app/database/response/db_install.rsp

    Starting Oracle Universal Installer...
    Checking Temp space: must be greater than
    120 MB.
    Actual 13597 MB Passed Checking swap space:
    must be greater than 150 MB. Actual 4095 MB Passed
    Preparing to launch Oracle Universal Installer
    from /tmp/OraInstall2020-08-24_09-54-03PM. Please wait ...oracle@rac1 database]$
    [FATAL] [INS-30502] No ASM disk group found.
    CAUSE: There were no disk groups managed by the ASM instance +ASM1.
    ACTION: Use Automatic Storage Management Configuration Assistant to add disk groups.

    这里提示找不到磁盘组,我这里磁盘组是正常的,

    [grid@rac1 ~]$ crs_stat -t
    Name           Type           Target    State     Host        
    ------------------------------------------------------------
    ora.DATA.dg    ora....up.type ONLINE    ONLINE    rac1         
    ora....N1.lsnr ora....er.type ONLINE    ONLINE    rac1         
    ora.asm        ora.asm.type   ONLINE    ONLINE    rac1         
    ora.cvu        ora.cvu.type   ONLINE    ONLINE    rac1         
    ora.gsd        ora.gsd.type   OFFLINE   OFFLINE               
    ora....network ora....rk.type ONLINE    ONLINE    rac1         
    ora.oc4j       ora.oc4j.type  ONLINE    ONLINE    rac2         
    ora.ons        ora.ons.type   ONLINE    ONLINE    rac1         
    ora....SM1.asm application    ONLINE    ONLINE    rac1         
    ora.rac1.gsd    application    OFFLINE   OFFLINE               
    ora.rac1.ons    application    ONLINE    ONLINE    rac1         
    ora.rac1.vip    ora....t1.type ONLINE    ONLINE    rac1         
    ora....SM2.asm application    ONLINE    ONLINE    rac2         
    ora.rac2.gsd    application    OFFLINE   OFFLINE               
    ora.rac2.ons    application    ONLINE    ONLINE    rac2         
    ora.rac2.vip    ora....t1.type ONLINE    ONLINE    rac2         
    ora.scan1.vip  ora....ip.type ONLINE    ONLINE    rac1         
    
    [grid@rac1 ~]$ sqlplus / as sysasm

    SQL*Plus: Release 11.2.0.4.0 Production on Mon Aug 24 22:25:56 2020

    Copyright (c) 1982, 2013, Oracle.  All rights reserved.


    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
    With the Real Application Clusters and Automatic Storage Management options

    SQL> column path format 20
    SP2-0246: Illegal FORMAT string "20"
    SQL> column path format a20
    SQL> set lines 200
    SQL>  select group_number ,disk_number,mode_status ,name ,path from v$asm_disk;

    GROUP_NUMBER DISK_NUMBER MODE_ST NAME                           PATH
    ------------ ----------- ------- ------------------------------ --------------------
               1           3 ONLINE  DATA_0003                      /dev/raw/raw4
               1           2 ONLINE  DATA_0002                      /dev/raw/raw3
               1           1 ONLINE  DATA_0001                      /dev/raw/raw2
               1           0 ONLINE  DATA_0000                      /dev/raw/raw1

    SQL>

     

    修正步骤,

    [root@rac1 ~]# ls /u01/app/11.2.0/grid/bin/oracle -l
    -rwxr-x--x 1 grid oinstall 209836184 Aug 24 06:01 /u01/app/11.2.0/grid/bin/oracle
    [root@rac1 ~]# chmod +s /u01/app/11.2.0/grid/bin/oracle
    [root@rac1 ~]# ls /u01/app/11.2.0/grid/bin/oracle -l   
    -rwsr-s--x 1 grid oinstall 209836184 Aug 24 06:01 /u01/app/11.2.0/grid/bin/oracle
    [root@rac1 ~]# 

    更改后重新运行安装,

    [oracle@rac1 database]$ ./runInstaller  -ignoreSysPrereqs  -silent  -showProgress -responseFile /u01/ora_app/database/response/db_install.rsp
     
    Starting Oracle Universal Installer...
    
    Checking Temp space: must be greater than 120 MB.   Actual 13597 MB    Passed
    Checking swap space: must be greater than 150 MB.   Actual 4084 MB    Passed
    Preparing to launch Oracle Universal Installer from /tmp/OraInstall2020-08-24_11-03-43PM. Please wait ...[oracle@rac1 database]$ [WARNING] [INS-30011] The ADMIN password entered does not conform to the Oracle recommended standards.
       CAUSE: Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].
       ACTION: Provide a password that conforms to the Oracle recommended standards.
    [WARNING] [INS-13014] Target environment do not meet some optional requirements.
       CAUSE: Some of the optional prerequisites are not met. See logs for details. /u01/app/oraInventory/logs/installActions2020-08-24_11-03-43PM.log
       ACTION: Identify the list of failed prerequisite checks from the log: /u01/app/oraInventory/logs/installActions2020-08-24_11-03-43PM.log. Then either from the log file or from installation manual find the appropriate configuration to meet the prerequisites and fix it manually.
    You can find the log of this install session at:
     /u01/app/oraInventory/logs/installActions2020-08-24_11-03-43PM.log
    
    Prepare in progress.
    ..................................................   8% Done.
    
    Prepare successful.
    
    Copy files in progress.
    ..................................................   13% Done.
    ..................................................   18% Done.
    ..................................................   23% Done.
    ..................................................   28% Done.
    ..................................................   33% Done.
    ..................................................   38% Done.
    ..................................................   43% Done.
    ....................
    Copy files successful.
    
    Link binaries in progress.
    ..........
    Link binaries successful.
    ..................................................   53% Done.
    
    Setup files in progress.
    
    Setup files successful.
    ..................................................   65% Done.
    
    Perform remote operations in progress.
    ..................................................   76% Done.
    
    Perform remote operations successful.
    SEVERE:Remote 'AttachHome' failed on nodes: 'rac2'. Refer to '/u01/app/oraInventory/logs/installActions2020-08-24_11-03-43PM.log' for details.
    It is recommended that the following command needs to be manually run on the failed nodes: 
     /u01/app/oracle/product/11.2.0/db_1/oui/bin/runInstaller -attachHome -noClusterEnabled ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 ORACLE_HOME_NAME=OraDb11g_home1 CLUSTER_NODES=rt1,rt2 "INVENTORY_LOCATION=/u01/app/oraInventory" LOCAL_NODE=<node on which command is to be run>. 
    Please refer 'AttachHome' logs under central inventory of remote nodes where failure occurred for more details.
    The installation of Oracle Database 11g was successful on the local node but failed on remote nodes.
    Please check '/u01/app/oraInventory/logs/silentInstall2020-08-24_11-03-43PM.log' for more details.
    
    Oracle Database Configuration Assistant in progress.
    ..................................................   95% Done.
    
    Oracle Database Configuration Assistant failed.
    [WARNING] [INS-32091] Software installation was successful. But some configuration assistants failed, were cancelled or skipped.
       ACTION: Refer to the logs or contact Oracle Support Services.

    这里静默安装oracle软件安装成功了,监听和创建数据库需要手动执行下。 

    查看日志如下:

    [oracle@rac1 ~]$ cat /u01/app/oraInventory/logs/silentInstall2020-08-24_11-03-43PM.log 
    silentInstall2020-08-24_11-03-43PM.log
    sNativeVolName:/u01/app/oracle/product/11.2.0/db_1/
    m_asNodeArray:rac1,rac2
    m_sLocalNode:rac1
    sNativeVolName:/tmp/
    m_asNodeArray:rac1,rac2
    m_sLocalNode:rac1
    sNativeVolName:/u01/app/oraInventory/
    m_asNodeArray:rac1,rac2
    m_sLocalNode:rac1
    Error in invoking target 'agent nmhs' of makefile '/u01/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk'. See '/u01/app/oraInventory/logs/installActions2020-08-24_11-03-43PM.log' for details.
    sNativeVolName:/u01/app/oracle/
    m_asNodeArray:rac1,rac2
    m_sLocalNode:rac1
    SEVERE:Remote 'AttachHome' failed on nodes: 'rt2'. Refer to '/u01/app/oraInventory/logs/installActions2020-08-24_11-03-43PM.log' for details.
    It is recommended that the following command needs to be manually run on the failed nodes: 
     /u01/app/oracle/product/11.2.0/db_1/oui/bin/runInstaller -attachHome -noClusterEnabled ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 ORACLE_HOME_NAME=OraDb11g_home1 CLUSTER_NODES=rt1,rt2 "INVENTORY_LOCATION=/u01/app/oraInventory" LOCAL_NODE=<node on which command is to be run>. 
    Please refer 'AttachHome' logs under central inventory of remote nodes where failure occurred for more details.
    The installation of Oracle Database 11g was successful on the local node but failed on remote nodes.
    [oracle@rac1 ~]$ 

    打补丁19692824,执行如下:

    [oracle@rac1 ~]$ cd /u01/oracle_app/19692824/
    [oracle@rac1 19692824]$ find  /u01/app/oracle/ -iname "opatch"
    /u01/app/oracle/product/11.2.0/db_1/inventory/Templates/OPatch
    /u01/app/oracle/product/11.2.0/db_1/OPatch
    /u01/app/oracle/product/11.2.0/db_1/OPatch/opatchprereqs/opatch
    /u01/app/oracle/product/11.2.0/db_1/OPatch/opatch
    /u01/app/oracle/product/11.2.0/db_1/oc4j/cfgtoollogs/opatch
    /u01/app/oracle/product/11.2.0/db_1/cfgtoollogs/opatch
    [oracle@rac1 19692824]$ /u01/app/oracle/product/11.2.0/db_1/OPatch/opatch apply

      7.2创建数据库

    首先配置监听程序

    监听配置文件

    [GENERAL]
    RESPONSEFILE_VERSION="11.2"
    CREATE_TYPE="CUSTOM"
    [oracle.net.ca]
    INSTALLED_COMPONENTS={"server","net8","javavm"}
    INSTALL_TYPE=""typical""
    LISTENER_NUMBER=1
    LISTENER_NAMES={"LISTENER"}
    LISTENER_PROTOCOLS={"TCP;1521"}
    LISTENER_START=""LISTENER""
    NAMING_METHODS={"TNSNAMES","ONAMES","HOSTNAME"}
    NSN_NUMBER=1
    NSN_NAMES={"EXTPROC_CONNECTION_DATA"}
    NSN_SERVICE={"PLSExtProc"}
    NSN_PROTOCOLS={"TCP;HOSTNAME;1521"}

    创建监听需要使用grid用户执行,执行如下

    [grid@rac1 ~]$ netca -silent -responsefile /u01/netca.rsp 

    Parsing command line arguments:
        Parameter "silent" = true
        Parameter "responsefile" = /u01/netca.rsp
    Done parsing command line arguments.
    Oracle Net Services Configuration:
    Profile configuration complete.
    Profile configuration complete.
    rac1...
    rac2...
    Oracle Net Listener Startup:
        Listener started successfully.
    Listener configuration complete.
    Oracle Net Services configuration successful. The exit code is 0
    [grid@rac1 ~]$ lsnrctl status

    LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 25-AUG-2020 02:13:49

    Copyright (c) 1991, 2013, Oracle.  All rights reserved.

    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER)))
    STATUS of the LISTENER
    ------------------------
    Alias                     LISTENER
    Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
    Start Date                25-AUG-2020 01:21:42
    Uptime                    0 days 0 hr. 52 min. 6 sec
    Trace Level               off
    Security                  ON: Local OS Authentication
    SNMP                      OFF
    Listener Parameter File   /u01/app/11.2.0/grid/network/admin/listener.ora
    Listener Log File         /u01/app/grid/diag/tnslsnr/rac1/listener/alert/log.xml
    Listening Endpoints Summary...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.2.101)(PORT=1521)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.2.103)(PORT=1521)))
    Services Summary...
    Service "+ASM" has 1 instance(s).
      Instance "+ASM1", status READY, has 1 handler(s) for this service...
    Service "rac" has 1 instance(s).
      Instance "rac1", status READY, has 1 handler(s) for this service...
    Service "racXDB" has 1 instance(s).
      Instance "rac1", status READY, has 1 handler(s) for this service...
    The command completed successfully
    [grid@rac1 ~]$

    dbca.rsp配置文件如下

      [GENERAL]
    RESPONSEFILE_VERSION = "11.2.0"
    OPERATION_TYPE = "createDatabase"
    [CREATEDATABASE]
    GDBNAME = "rac"
    SID = "rac"
    NODELIST=rac1,rac2
    TEMPLATENAME = "General_Purpose.dbc"
    SYSPASSWORD = "oracle"
    SYSTEMPASSWORD = "oracle"
    SYSMANPASSWORD = "oracle"
    DBSNMPPASSWORD = "oracle"
    STORAGETYPE=ASM
    DISKGROUPNAME=DATA
    ASMSNMP_PASSWORD="oracle"
    #RECOVERYGROUPNAME=ARCH
    CHARACTERSET = "ZHS16GBK"
    NATIONALCHARACTERSET= "UTF8" 

    参数配置:TEMPLATENAME = "General_Purpose.dbc" General_Purpose.dbc文件可在$ORACLE_HOME//assistants/dbca/templates/中找到:

    [oracle@rac2 response]$ ls -lh /u01/app/oracle/product/11.2.0/db_1/assistants/dbca/templates/
    total 295M
    -rw-r--r-- 1 oracle oinstall 5.0K Aug 24  2013 Data_Warehouse.dbc
    -rwxr-xr-x 1 oracle oinstall  21M Aug 27  2013 example01.dfb
    -rwxr-xr-x 1 oracle oinstall 1.5M Aug 27  2013 example.dmp
    -rw-r--r-- 1 oracle oinstall 4.9K Aug 24  2013 General_Purpose.dbc
    -rw-r--r-- 1 oracle oinstall  12K May  1  2013 New_Database.dbt
    -rwxr-xr-x 1 oracle oinstall 9.3M Aug 27  2013 Seed_Database.ctl
    -rwxr-xr-x 1 oracle oinstall 263M Aug 27  2013 Seed_Database.dfb
    [oracle@rac2 response]$ 
    [oracle@rac1 ~]$ cat /u01/dbca.rsp 
    [GENERAL]
    RESPONSEFILE_VERSION = "11.2.0"
    OPERATION_TYPE = "createDatabase"
    [CREATEDATABASE]
    GDBNAME = "rac"
    SID = "rac"
    NODELIST=rac1,rac2
    TEMPLATENAME = "General_Purpose.dbc"
    SYSPASSWORD = "oracle"
    SYSTEMPASSWORD = "oracle"
    SYSMANPASSWORD = "oracle"
    DBSNMPPASSWORD = "oracle"
    STORAGETYPE=ASM
    [oracle@rac1 ~]$ dbca -silent -responsefile /u01/dbca.rsp 
    Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/rac1.log" for further details.
    [oracle@rac1 ~]$ cat /u01/app/oracle/cfgtoollogs/dbca/rac1.log
    Could not connect to ASM due to following error:
     ORA-12547: TNS:lost contact
    [oracle@rac1 ~]$ ls -l /u01/app/11.2.0/grid/bin/oracle
    -rwxr-x--x 1 grid oinstall 209836184 Aug 24 06:01 /u01/app/11.2.0/grid/bin/oracle
    [oracle@rac1 ~]$ chmod +s  /u01/app/11.2.0/grid/bin/oracle
    chmod: changing permissions of ‘/u01/app/11.2.0/grid/bin/oracle’: Operation not permitted
    [oracle@rac1 ~]$ su - grid
    Password: 
    Last login: Tue Aug 25 01:21:15 EDT 2020 on pts/1
    [grid@rac1 ~]$ chmod +s  /u01/app/11.2.0/grid/bin/oracle
    [grid@rac1 ~]$  ls -l /u01/app/11.2.0/grid/bin/oracle
    -rwsr-s--x 1 grid oinstall 209836184 Aug 24 06:01 /u01/app/11.2.0/grid/bin/oracle
    [grid@rac1 ~]$ 
    [oracle@rac1 ~]$ dbca -silent -responsefile /u01/dbca.rsp            
    Copying database files
    1% complete
    3% complete
    9% complete
    15% complete
    21% complete
    27% complete
    30% complete
    Creating and starting Oracle instance
    32% complete
    36% complete
    40% complete
    44% complete
    45% complete
    48% complete
    50% complete
    Creating cluster database views
    52% complete
    70% complete
    Completing Database Creation
    73% complete
    76% complete
    85% complete
    94% complete
    100% complete
    Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/rac/rac.log" for further details.

    出现 Could not connect to ASM due to following error:  ORA-12547: TNS:lost contact

    检查两节点 文件 /u01/app/11.2.0/grid/bin/oracle权限是否有所有者和所属组是否有s权限

    [oracle@rac2 oracle]$ ls -l /u01/app/11.2.0/grid/bin/oracle &&  ssh rac1 ls -l /u01/app/11.2.0/grid/bin/oracle
    -rwsr-s--x 1 grid oinstall 209836184 Aug 24 06:02 /u01/app/11.2.0/grid/bin/oracle
    -rwsr-s--x 1 grid oinstall 209836184 Aug 24 06:01 /u01/app/11.2.0/grid/bin/oracle
    [oracle@rac2 oracle]$ 

    安装后测试登录检查实例状态

    [oracle@rac1 ~]$ sqlplus system/oracle@rac-san:1521/rac

    SQL*Plus: Release 11.2.0.4.0 Production on Tue Aug 25 02:19:20 2020

    Copyright (c) 1982, 2013, Oracle.  All rights reserved.


    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
    With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
    Data Mining and Real Application Testing options

    SQL> SQL
    > desc gv$instance Name Null? Type ----------------------------------------- -------- ---------------------------- INST_ID NUMBER INSTANCE_NUMBER NUMBER INSTANCE_NAME VARCHAR2(16) HOST_NAME VARCHAR2(64) VERSION VARCHAR2(17) STARTUP_TIME DATE STATUS VARCHAR2(12) PARALLEL VARCHAR2(3) THREAD# NUMBER ARCHIVER VARCHAR2(7) LOG_SWITCH_WAIT VARCHAR2(15) LOGINS VARCHAR2(10) SHUTDOWN_PENDING VARCHAR2(3) DATABASE_STATUS VARCHAR2(17) INSTANCE_ROLE VARCHAR2(18) ACTIVE_STATE VARCHAR2(9) BLOCKED VARCHAR2(3) SQL> select host_name,status,instance_name from gv$instance 2 / HOST_NAME STATUS ---------------------------------------------------------------- ------------ INSTANCE_NAME ---------------- rac1 OPEN rac1 rac2 OPEN rac2 SQL> column host_name format a30 SQL> / HOST_NAME STATUS INSTANCE_NAME ------------------------------ ------------ ---------------- rac1 OPEN rac1 rac2 OPEN rac2 SQL>

      (八)安装后测试

    srvctl 命令示例:

    [grid@rac2 ~]$ srvctl status instance  -d rac -i rac1,rac2
    Instance rac1 is running on node rac1
    Instance rac2 is running on node rac2
    [grid@rac2 ~]$ srvctl status listener
    Listener LISTENER is enabled
    Listener LISTENER is running on node(s): rac2,rac1
    [grid@rac2 ~]$ srvctl status asm -a
    ASM is running on rac2,rac1
    ASM is enabled.
    [grid@rac2 ~]$ srvctl status database -d rac
    Instance rac1 is running on node rac1
    Instance rac2 is running on node rac2
    [grid@rac2 ~]$ srvctl status diskgroup -g DATA
    Disk Group DATA is running on rac2,rac1
    [grid@rac2 ~]$ srvctl status scan_listener -i 1 -v
    SCAN Listener LISTENER_SCAN1 is enabled
    SCAN listener LISTENER_SCAN1 is running on node rac2
    [grid@rac2 ~]$ 
    



     

    测试oracle 操作系统验证执行如下

    [oracle@rac1 ~]$ sqlplus / as sysdba
    
    SQL*Plus: Release 11.2.0.4.0 Production on Wed Jul 15 22:37:05 2020
    
    Copyright (c) 1982, 2013, Oracle.  All rights reserved.
    
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
    With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
    Data Mining and Real Application Testing options
    
    SQL>
    
    查看节点信息
    
    SQL> desc gv$instance          
     Name                       Null?    Type
     ----------------------------------------- -------- ----------------------------
     INST_ID                        NUMBER
     INSTANCE_NUMBER                    NUMBER
     INSTANCE_NAME                        VARCHAR2(16)
     HOST_NAME                        VARCHAR2(64)
     VERSION                        VARCHAR2(17)
     STARTUP_TIME                        DATE
     STATUS                         VARCHAR2(12)
     PARALLEL                        VARCHAR2(3)
     THREAD#                        NUMBER
     ARCHIVER                        VARCHAR2(7)
     LOG_SWITCH_WAIT                    VARCHAR2(15)
     LOGINS                         VARCHAR2(10)
     SHUTDOWN_PENDING                    VARCHAR2(3)
     DATABASE_STATUS                    VARCHAR2(17)
     INSTANCE_ROLE                        VARCHAR2(18)
     ACTIVE_STATE                        VARCHAR2(9)
     BLOCKED                        VARCHAR2(3)
    
    SQL> column host_name format a10
    SQL> select host_name ,instance_name,status,database_status from gv$instance
      2  /
    
    HOST_NAME  INSTANCE_NAME    STATUS     DATABASE_STATUS
    ---------- ---------------- ------------ -----------------
    rac1       rac1         OPEN     ACTIVE
    rac2       rac2         OPEN     ACTIVE
    
    SQL>
    
    使用ip端口服务名连接
    
     [oracle@rac1 ~]$ sqlplus system/oracle@192.168.2.105:1521/rac
    
    SQL*Plus: Release 11.2.0.4.0 Production on Wed Jul 15 22:38:34 2020
    
    Copyright (c) 1982, 2013, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
    With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
    Data Mining and Real Application Testing options
    
    SQL> 
    

    查看监听运行在节点rac2上,

    [grid@rac2 ~]$ srvctl status scan_listener
    SCAN Listener LISTENER_SCAN1 is enabled
    SCAN listener LISTENER_SCAN1 is running on node rac2

    测试把rac2上的两个网卡全部停用,然后再测oracle连接

    执行如下命令 ifdown ens192, ifdown ens224

    rac2的远程已经失去连接

    登录rac1测试登录Oracle

    [oracle@rac1 ~]$ sqlplus system/oracle@192.168.2.105:1521/rac

    SQL*Plus: Release 11.2.0.4.0 Production on Wed Jul 15 23:21:56 2020

    Copyright (c) 1982, 2013, Oracle.  All rights reserved.


    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
    With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,
    Data Mining and Real Application Testing options

    SQL> desc gv$instance
     Name                       Null?    Type
     ----------------------------------------- -------- ----------------------------
     INST_ID                        NUMBER
     INSTANCE_NUMBER                    NUMBER
     INSTANCE_NAME                        VARCHAR2(16)
     HOST_NAME                        VARCHAR2(64)
     VERSION                        VARCHAR2(17)
     STARTUP_TIME                        DATE
     STATUS                         VARCHAR2(12)
     PARALLEL                        VARCHAR2(3)
     THREAD#                        NUMBER
     ARCHIVER                        VARCHAR2(7)
     LOG_SWITCH_WAIT                    VARCHAR2(15)
     LOGINS                         VARCHAR2(10)
     SHUTDOWN_PENDING                    VARCHAR2(3)
     DATABASE_STATUS                    VARCHAR2(17)
     INSTANCE_ROLE                        VARCHAR2(18)
     ACTIVE_STATE                        VARCHAR2(9)
     BLOCKED                        VARCHAR2(3)

    SQL> column host_name format a10
    SQL> select host_name,instance_name.status.database_status from gv$instance
      2  /
    select host_name,instance_name.status.database_status from gv$instance
                     *
    ERROR at line 1:
    ORA-00904: "INSTANCE_NAME"."STATUS"."DATABASE_STATUS": invalid identifier


    SQL> c/./,
      1* select host_name,instance_name,status.database_status from gv$instance
    SQL> c/./,
      1* select host_name,instance_name,status,database_status from gv$instance
    SQL> /

    HOST_NAME  INSTANCE_NAME    STATUS     DATABASE_STATUS
    ---------- ---------------- ------------ -----------------
    rac1       rac1         OPEN     ACTIVE

    SQL>

    查看rac1上的ip地址,查看192.168.2.105  rac-san已经被rac1节点接管,

     

    测试完毕。

      (九)安装问题解决及总结

    9.1:执行root.sh脚本时候报错

      ohasd failed to start

      Failed to start the Clusterware. Last 20 lines of the alert log follow:

    解决方案:安装oracle补丁p18370031_112040_Linux-x86-64.zip

    oracle 官方对于11.2.0.4grid 解释:

    https://docs.oracle.com/cd/E11882_01/relnotes.112/e23558/toc.htm#CJAJEBGG

    7.2.3 Oracle Grid Infrastructure Installation Issue

    During the Oracle Grid Infrastructure installation, you must apply patch 18370031 before configuring the software that is installed. The timing of applying the patch is important and is described in detail in the Note 1951613.1 on My Oracle Support. This patch ensures that the clusterware stack is configured to use systemd for clusterware processes, as Oracle Linux 7 uses systemd for all services.

    This issue is tracked with Oracle bug 18370031, which was logged for release 12.1.0.2, but the patch is for release 11.2.0.4.

     错误解决,安装补丁18370031,操作步骤如下

    • 1root下执行yum install perl*
    • 2.执行脚本 回退root.sh操作/u01/app/11.2.0/grid/crs/install/roothas.pl -deconfig -force -verbose
    • 3.解压压缩包,切换到18370031目录执行 /u01/app/11.2.0/grid/OPatch/opatch apply 完成更新,输出没有报错信息,重新运行root脚本。

     

      执行步骤如下:下载更新包,解压后切换到更新包路径,执行如下:

    [grid@rac1 ~]$ cd 18370031/
    [grid@rac1 18370031]$ 
    [grid@rac1 18370031]$ ls
    custom  etc  files
    [grid@rac1 18370031]$ /u01/app/11.2.0/grid/OPatch/opatch apply
    Oracle Interim Patch Installer version 11.2.0.3.4
    Copyright (c) 2012, Oracle Corporation.  All rights reserved.
    
    
    Oracle Home       : /u01/app/11.2.0/grid
    Central Inventory : /u01/app/oraInventory
       from           : /u01/app/11.2.0/grid/oraInst.loc
    OPatch version    : 11.2.0.3.4
    OUI version       : 11.2.0.4.0
    Log file location : /u01/app/11.2.0/grid/cfgtoollogs/opatch/18370031_Jul_24_2020_18_36_32/apply2020-07-24_18-36-32PM_1.log
    
    Applying interim patch '18370031' to OH '/u01/app/11.2.0/grid'
    Verifying environment and performing prerequisite checks...
    All checks passed.
    
    This node is part of an Oracle Real Application Cluster.
    Remote nodes: 'rac2' 
    Local node: 'rac1'
    Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
    (Oracle Home = '/u01/app/11.2.0/grid')
    
    
    Is the local system ready for patching? [y|n]
    
    Could not recognize input. Please re-enter.
    y
    User Responded with: Y
    Backing up files...
    
    Patching component oracle.crs, 11.2.0.4.0...
    
    Verifying the update...
    
    The local system has been patched.  You can restart Oracle instances on it.
    
    
    Patching in rolling mode.
    
    
    The node 'rac2' will be patched next.
    
    
    Please shutdown Oracle instances running out of this ORACLE_HOME on 'rac2'.
    (Oracle Home = '/u01/app/11.2.0/grid')
    
    Is the node ready for patching? [y|n]
    Y
    User Responded with: Y
    Updating nodes 'rac2' 
       Apply-related files are:
         FP = "/u01/app/11.2.0/grid/.patch_storage/18370031_Aug_15_2014_16_14_40/rac/copy_files.txt"
         DP = "/u01/app/11.2.0/grid/.patch_storage/18370031_Aug_15_2014_16_14_40/rac/copy_dirs.txt"
         MP = "/u01/app/11.2.0/grid/.patch_storage/18370031_Aug_15_2014_16_14_40/rac/make_cmds.txt"
         RC = "/u01/app/11.2.0/grid/.patch_storage/18370031_Aug_15_2014_16_14_40/rac/remote_cmds.txt"
    
    Instantiating the file "/u01/app/11.2.0/grid/.patch_storage/18370031_Aug_15_2014_16_14_40/rac/copy_files.txt.instantiated" by replacing $ORACLE_HOME in "/u01/app/11.2.0/grid/.patch_storage/18370031_Aug_15_2014_16_14_40/rac/copy_files.txt" with actual path.
    Propagating files to remote nodes...
    Instantiating the file "/u01/app/11.2.0/grid/.patch_storage/18370031_Aug_15_2014_16_14_40/rac/copy_dirs.txt.instantiated" by replacing $ORACLE_HOME in "/u01/app/11.2.0/grid/.patch_storage/18370031_Aug_15_2014_16_14_40/rac/copy_dirs.txt" with actual path.
    Propagating directories to remote nodes...
    Instantiating the file "/u01/app/11.2.0/grid/.patch_storage/18370031_Aug_15_2014_16_14_40/rac/make_cmds.txt.instantiated" by replacing $ORACLE_HOME in "/u01/app/11.2.0/grid/.patch_storage/18370031_Aug_15_2014_16_14_40/rac/make_cmds.txt" with actual path.
    Running command on remote node 'rac2': 
    cd /u01/app/11.2.0/grid/srvm/lib; /usr/bin/make -f ins_srvm.mk install_srvm ORACLE_HOME=/u01/app/11.2.0/grid || echo REMOTE_MAKE_FAILED::>&2 
    
    Running command on remote node 'rac2': 
    cd /u01/app/11.2.0/grid/racg/lib; /usr/bin/make -f ins_has.mk install ORACLE_HOME=/u01/app/11.2.0/grid || echo REMOTE_MAKE_FAILED::>&2 
    
    
    The node 'rac2' has been patched.  You can restart Oracle instances on it.
    
    There were relinks on remote nodes.  Remember to check the binary size and timestamp on the nodes 'rac2' .
    The following make commands were invoked on remote nodes:
    'cd /u01/app/11.2.0/grid/srvm/lib; /usr/bin/make -f ins_srvm.mk install_srvm ORACLE_HOME=/u01/app/11.2.0/grid
    cd /u01/app/11.2.0/grid/racg/lib; /usr/bin/make -f ins_has.mk install ORACLE_HOME=/u01/app/11.2.0/grid
    '
    
    Patch 18370031 successfully applied
    Log file location: /u01/app/11.2.0/grid/cfgtoollogs/opatch/18370031_Jul_24_2020_18_36_32/apply2020-07-24_18-36-32PM_1.log
    
    OPatch succeeded.
    [grid@rac1 18370031]$ 
    

    更新完毕。

       9.2:安装oracle软件时候报错:INS-35354

    错误解释:安装oracle提示信息如下:

    The system on which you are attempting to install Oracle RAC is not part of a valid cluster.


    解决方案:编辑/u01/app/oraInventory/ContentsXML/inventory.xml,找到属性 <HOME NAME="Ora11g_gridinfrahome1" LOC="/u01/app/11.2.0/grid" TYPE="O" IDX="1">添加CRS="true"属性,两个节点都要修改,修改完毕重新执行安装

    如下

    [oracle@rac2 ~]$ cat /u01/app/oraInventory/ContentsXML/inventory.xml
    <?xml version="1.0" standalone="yes" ?>
    <!-- Copyright (c) 1999, 2013, Oracle and/or its affiliates.
    All rights reserved. -->
    <!-- Do not modify the contents of this file by hand. -->
    <INVENTORY>
    <VERSION_INFO>
       <SAVED_WITH>11.2.0.4.0</SAVED_WITH>
       <MINIMUM_VER>2.1.0.6.0</MINIMUM_VER>
    </VERSION_INFO>
    <HOME_LIST>
    <HOME NAME="Ora11g_gridinfrahome1" LOC="/u01/app/11.2.0/grid" TYPE="O" IDX="1" CRS="true">
       <NODE_LIST>
          <NODE NAME="rac1"/>
          <NODE NAME="rac2"/>
       </NODE_LIST>
    </HOME>
    <HOME NAME="OraDb11g_home1" LOC="/u01/app/oracle/product/11.2.0/db_1" TYPE="O" IDX="2">
       <NODE_LIST>
          <NODE NAME="rac1"/>
          <NODE NAME="rac2"/>
       </NODE_LIST>
    </HOME>
    </HOME_LIST>
    <COMPOSITEHOME_LIST>
    </COMPOSITEHOME_LIST>
    </INVENTORY>
    [oracle@rac2 ~]$

      9.3 附加链接静默安装Oracle

      参考个人新浪博客链接如下:

      静默安装Oracle(,由于新浪博客无法修改博文,其中个别参数写的有错误,其中错误无法修复),仅供参考

    http://blog.sina.com.cn/s/blog_1722831d10102xm4x.html

      附加参考:

      oracle 11.2.0.4说明:

     

      只安装oracle仅仅需要下载p13390677_112040_Linux-x86-64_1of7.zip和p13390677_112040_Linux-x86-64_2of7.zip,安装grid需要下载p13390677_112040_Linux-x86-64_3of7.zip, 可运行grid安装包中的readme.html查看。

      (十) asm增加磁盘操作

      ssh登录esxi主机命令如下

    • 虚拟机中配置

    两节点都要配置

    配置完毕。

    • rac节点linux操作

    登录linux (两节点都要配置),操作如下:

    执行fdisk -l 查看如下:发现新增的两块磁盘

    节点一

    节点二

    对磁盘进行创建分区

    对磁盘 /dev/sdi  /dev/sdj 进行创建分区,此操作只在一个节点上执行即可。

    编辑文件 /usr/lib/udev/rules.d/60-raw.rules

    编辑新增的两块磁盘

    vi /usr/lib/udev/rules.d/60-raw.rules

    修改完毕使用scp命令拷贝到rac2节点上

    scp  /usr/lib/udev/rules.d/60-raw.rules rac2:/usr/lib/udev/rules.d/60-raw.rules

    修改完毕,

    先重启rac1,节点一,节点一重启完毕,再重启二节点,重启期间oracle服务不会中断。

    重启后执行ls -l /dev/raw/ 查看新增设备。

    • grid用户sql命令示例

    操作步骤

    操作系统切换grid 用户,sqlplus / as sysasm 登录,操作如下

    贴入文本操作如下:

    [root@rac1 ~]# su - grid
    Last login: Fri Jul 17 01:03:00 EDT 2020 on pts/1
    [grid@rac1 ~]$ sqlplus /  as sysasm

    SQL*Plus: Release 11.2.0.4.0 Production on Fri Jul 17 01:40:36 2020

    Copyright (c) 1982, 2013, Oracle.  All rights reserved.


    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
    With the Real Application Clusters and Automatic Storage Management options

    SQL>
    SQL>
    SQL>
    SQL> set lines 200
    SQL> column path format a50
    SQL> select group_number ,disk_number,mode_status ,name ,path from v$asm_disk
      2  /

    GROUP_NUMBER DISK_NUMBER MODE_ST NAME                PATH
    ------------ ----------- ------- ------------------------------ --------------------------------------------------
           0           1 ONLINE                 /dev/raw/raw9
           0           2 ONLINE                 /dev/raw/raw8
           1           0 ONLINE  DATA_0000            /dev/raw/raw1
           1           3 ONLINE  DATA_0004            /dev/raw/raw4
           1           6 ONLINE  DATA_0007            /dev/raw/raw7
           1           5 ONLINE  DATA_0006            /dev/raw/raw6
           1           4 ONLINE  DATA_0005            /dev/raw/raw5
           1           2 ONLINE  DATA_0003            /dev/raw/raw3
           1           1 ONLINE  DATA_0001            /dev/raw/raw2

    9 rows selected.

    SQL> alter diskgroup DATA add disk '/dev/raw/raw8' name DATA_0008
      2  /

    Diskgroup altered.

    SQL> c/8/9
      1* alter diskgroup DATA add disk '/dev/raw/raw9' name DATA_0008
    SQL> c/8/9
      1* alter diskgroup DATA add disk '/dev/raw/raw9' name DATA_0009
    SQL> /

    Diskgroup altered.

    SQL>  select group_number ,disk_number,mode_status ,name ,path from v$asm_disk
      2  /

    GROUP_NUMBER DISK_NUMBER MODE_ST NAME                PATH
    ------------ ----------- ------- ------------------------------ --------------------------------------------------
           1           0 ONLINE  DATA_0000            /dev/raw/raw1
           1           8 ONLINE  DATA_0009            /dev/raw/raw9
           1           7 ONLINE  DATA_0008            /dev/raw/raw8
           1           3 ONLINE  DATA_0004            /dev/raw/raw4
           1           6 ONLINE  DATA_0007            /dev/raw/raw7
           1           5 ONLINE  DATA_0006            /dev/raw/raw6
           1           4 ONLINE  DATA_0005            /dev/raw/raw5
           1           2 ONLINE  DATA_0003            /dev/raw/raw3
           1           1 ONLINE  DATA_0001            /dev/raw/raw2

    9 rows selected.

    SQL> c/name/name ,total_mb
      1*  select group_number ,disk_number,mode_status ,name ,total_mb ,path from v$asm_disk
    SQL> /

    GROUP_NUMBER DISK_NUMBER MODE_ST NAME                  TOTAL_MB PATH
    ------------ ----------- ------- ------------------------------ ---------- --------------------------------------------------
           1           0 ONLINE  DATA_0000                 10239 /dev/raw/raw1
           1           8 ONLINE  DATA_0009                 20479 /dev/raw/raw9
           1           7 ONLINE  DATA_0008                 20479 /dev/raw/raw8
           1           3 ONLINE  DATA_0004                 10239 /dev/raw/raw4
           1           6 ONLINE  DATA_0007                  1023 /dev/raw/raw7
           1           5 ONLINE  DATA_0006                  1023 /dev/raw/raw6
           1           4 ONLINE  DATA_0005                  1023 /dev/raw/raw5
           1           2 ONLINE  DATA_0003                 10239 /dev/raw/raw3
           1           1 ONLINE  DATA_0001                 10239 /dev/raw/raw2

    9 rows selected.

    SQL>

    ASM Creating Disk Groups 操作参考官方链接如下:

    https://docs.oracle.com/cd/E11882_01/server.112/e18951/asmdiskgrps.htm#OSTMG10040

    完毕

      (十一)参考链接

    • 官方链接:
       

    安装参考

    Grid Infrastructure Installation Guide for linux 

    https://docs.oracle.com/cd/E11882_01/install.112/e41961/toc.htm

    Database 2 Day + Real Application Clusters Guide

    https://docs.oracle.com/cd/E11882_01/rac.112/e17264/install_rac.htm#TDPRC169

    命令参考

    sqlplus 命令

    https://docs.oracle.com/cd/E11882_01/server.112/e16604/toc.htm

    crsctl命令参考

    https://docs.oracle.com/cd/E11882_01/rac.112/e41959/crsref.htm#CWADD91145

    srvctl 命令参考

    https://docs.oracle.com/cd/E11882_01/rac.112/e41960/srvctladmin.htm#RACAD005

     grid必须的包官方参考:

    官方链接

    https://docs.oracle.com/cd/E11882_01/install.112/e41961/prelinux.htm#CWLIN225


    参考官方创建组和用户,链接如下:

    https://docs.oracle.com/cd/E11882_01/install.112/e41961/prelinux.htm#CWLIN178


    本文中使用的oracle 11.2.0.4 安装包及补丁包如下
    百度云链接:
    链接:https://pan.baidu.com/s/1WvdpiTs9m3es5vyTBzHb4w
    提取码:1111

    本实验环境,安装基本操作脚本示例:

    https://files.cnblogs.com/files/wenxiao1-2-3-4/OracleRAC%E8%84%9A%E6%9C%AC.zip



    操作系统下载链接:

    centos镜像下载

    http://mirrors.sohu.com/centos/7.6.1810/isos/x86_64/

    redhat
    链接:https://pan.baidu.com/s/16-TgKVk_nAxLeakRsOPKkg
    提取码:1111


    技术交流:

    邮箱链接:wenxiaomst@outlook.com

    wechat :w8686512

  • 相关阅读:
    解决Tomcat9打印台乱码问题
    分治思想与归并排序
    linux下libuv库安装教程
    Linux init
    栈和堆上的内存分配和回收
    Python帮助文档中Iteration iterator iterable 的理解
    Qt基本框架介绍
    PyQt5+Python3.5.2-32bit开发环境搭建
    常用网站
    [Repost]Events and Signals in PyQt4
  • 原文地址:https://www.cnblogs.com/wenxiao1-2-3-4/p/13306296.html
Copyright © 2011-2022 走看看