• rhel 6.4 + udev+ 11.2.0.3 + gi + asm+ rac 双节点安装


    双节点安装,node1、node2

    第一块磁盘的大小为50G,安装RHEL6.4 及 GI,Oracle Software。
    第二块磁盘的大小为60G,使用udev配置成asm的磁盘。


    第一块盘安装好操作系统,进入系统

    chkconfig cups off
    chkconfig sendmail off
    chkconfig isdn off
    chkconfig smartd off
    chkconfig iptables off

    shutdown -h now

    添加第二块硬盘,必须是共享盘

    node1 添加硬盘

    硬件类型:硬盘
    创建磁盘:新建虚拟磁盘
    磁盘容量:60GB
    磁盘置备:厚置备置零
    数据存储:VMS_TEST_2
    虚拟设备节点: SCSI(1:0)
    磁盘模式:独立持久


    厚置备置零  创建磁盘较慢,需耐心等待

    上述工作完成后,回到虚拟机设备界面,会看到除新的硬盘外,还有一个“新的SCSI控制器”:

    点击 新的SCSI控制器 ,选中右边的 “虚拟”,或者“物理” 按钮,代表可以虚拟磁盘可以共享


    node2 添加刚才的第二块硬盘,注意是选择“使用现有虚拟磁盘”,找到node1 前面磁盘的那个磁盘文件

    硬件类型:硬盘
    创建磁盘:使用现有磁盘
    虚拟设备节点: SCSI(1:0)
    数据文件路径:node1 的外加硬盘
    磁盘模式:独立持久


    上述工作完成后,回到虚拟机设备界面,会看到除新的硬盘外,还有一个“新的SCSI控制器”:

    点击 新的SCSI控制器 ,选中右边的 “虚拟”,或者“物理” 按钮,代表可以虚拟磁盘可以共享,与前面保持一致就可以

    至此,添加共享磁盘结束



    IP 规划,先安装node1,node2 两个节点


    10.1.1.35  node1
    10.1.1.36  node2

    10.1.1.45  node1-vip
    10.1.1.46  node2-vip

    10.2.1.35  node1-priv
    10.2.1.36  node2-priv

    10.1.1.40  nodescan



    -- 默认网关必须设置

    vi /etc/sysconfig/network

    NETWORKING=yes
    NETWORKING_IPV6=no
    HOSTNAME=node1


    vi /etc/sysconfig/network-scripts/ifcfg-eth0

    DEVICE=eth0
    BOOTPROTO=static
    HWADDR=00:0C:29:59:4B:00
    ONBOOT=yes
    IPADDR=10.1.1.35
    NETMASK=255.255.255.0
    GATEWAY=10.1.1.1


    vi /etc/sysconfig/network-scripts/ifcfg-eth1

    DEVICE=eth1
    BOOTPROTO=static
    HWADDR=00:0C:29:59:4B:0A
    ONBOOT=yes
    IPADDR=10.2.1.35
    NETMASK=255.255.255.0
    GATEWAY=10.2.1.1


    --重启网络服务,使修改生效
    service network restart


    vi /etc/hosts

    10.1.1.35  node1
    10.1.1.36  node2

    10.1.1.44  node1-vip
    10.1.1.46  node2-vip

    10.2.1.35  node1-priv
    10.2.1.36  node2-priv

    10.1.1.40  nodescan


    建立oracle,grid用户,在node1,node2 两个节点都要执行,必须用-g -u 来保证用户ID、组ID 一致

    groupadd -g 501 oinstall
    groupadd -g 502 dba
    groupadd -g 503 oper

    groupadd -g 504 asmadmin
    groupadd -g 505 asmdba
    groupadd -g 506 asmoper

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

    passwd oracle   
    passwd grid      


    --可以按照如下步骤手动配置SSH等效用户,也可以安装软件界面时有ssh的等效性配置
    --确保 grid 《=》 grid,oracle《=》oracle


    不能一次copy,要逐条执行。

    在node1:oracle,grid 用户下
     mkdir ~/.ssh
     chmod 700 ~/.ssh
     ssh-keygen -t rsa
     ssh-keygen -t dsa

    在node2:oracle,grid 用户下
     mkdir ~/.ssh
     chmod 700 ~/.ssh
     ssh-keygen -t rsa
     ssh-keygen -t dsa

    在node1:oracle,grid 用户下
     cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
     cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
     scp ~/.ssh/authorized_keys node2:~/.ssh/authorized_keys

    在node2:oracle,grid 用户下
     cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
     cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
     scp ~/.ssh/authorized_keys node1:~/.ssh/authorized_keys


    在两台机器上都坐下测试
    在node1:oracle,grid 用户下
     ssh node1 date
     ssh node2 date
     ssh node1-priv date 
     ssh node2-priv date

    在node2:oracle,grid 用户下
     ssh node1 date
     ssh node2 date
     ssh node1-priv date 
     ssh node2-priv date

    如若失败(提示要求输入密码,可输入或为空)可再次执行上面语句

    创建目录,node1,node2 两个节点上都要执行

    注意

    grid用户下的ORACLE_BASE 和ORACLE_HOME 是并列的,不是包含的关系,

    oracle用户下的ORACLE_BASE 和ORACLE_HOME依旧是包含的关系


     root 用户下
     -- grid 用户
     mkdir -p /u01/app/gridbase
     mkdir -p /u01/app/grid/product/11.2.0/grid_1
     chown -R grid:oinstall /u01
     
     -- oracle 用户
     mkdir -p /u01/app/oracle/product/11.2.0/db_1
     chown -R oracle:oinstall /u01/app/oracle

     chmod -R 775 /u01/

     
    使用udev绑定硬件,node1,node2 两个节点上都要执行


    rhel 6 从内核层级剔除了 asmlib 相关的代码,需要使用udev来绑定硬件
    如果是 oel 6 ,使用 asmlib 或者 udev都可以
    11gr2可以将ocr,votedisk 放在asm里,不需要额外配置裸设备


    1. 在 /etc/udev/rules.d/99-oracle-asmdevices.rules 配置设备了
    # cd /etc/udev/rules.d/
    # touch 99-oracle-asmdevices.rules


    #添加记录到/etc/scsi_id.config,如果没有该文件,则手动创建
    echo "options=--whitelisted --replace-whitespace"  >> /etc/scsi_id.config


    2. 将结果复制到 /etc/udev/rules.d/99-oracle-asmdevices.rules 
    没有对sdb进行分区,执行如下shell脚本,
    for i in b ;
    do
    echo "KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="`/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`", NAME="asm-disk$i", OWNER="grid", GROUP="asmadmin", MODE="0660""      
    done


    对sdb 进行了分区,执行如下shell脚本,
    for i in b1 b2 b3
    do
    echo "KERNEL=="sd$i", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$parent", RESULT=="`/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sd${i:0:1}`", NAME="asm-disk$i", OWNER="grid", GROUP="asmadmin", MODE="0660""      
    done;

    注意未分区用 $name
    分区用 $parent

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

    没有对sdb进行分区
    KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="36000c2948ef9d9e4a7937bfc65888bc8", NAME="asm-diskb", OWNER="grid", GROUP="asmadmin", MODE="0660"

    如果对裸盘分区的话应该是这个样子
    在 Linux 5下,可以使用如下命令:
    # /sbin/scsi_id -g -u -s /block/sdb/sdb1

    在 Linux 6下,可以使用如下命令:
    # /sbin/scsi_id -g -u /dev/sdb1

    这是分区盘的 99-oracle-asmdevices.rules内容

    KERNEL=="sd?1", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$parent", RESULT=="36000c2948ef9d9e4a7937bfc65888bc8", NAME="asm-diskb1", OWNER="grid", GROUP="asmadmin", MODE="0660"
    KERNEL=="sd?2", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$parent", RESULT=="36000c2948ef9d9e4a7937bfc65888bc8", NAME="asm-diskb2", OWNER="grid", GROUP="asmadmin", MODE="0660"
    KERNEL=="sd?3", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$parent", RESULT=="36000c2948ef9d9e4a7937bfc65888bc8", NAME="asm-diskb3", OWNER="grid", GROUP="asmadmin", MODE="0660"


    Load updated block device partition tables.


    # /sbin/partprobe /dev/sdb1
    # /sbin/partprobe /dev/sdb2
    # /sbin/partprobe /dev/sdb3




    4. 用udevadm进行测试,注意udevadm命令不接受/dev/sdc这样的挂载设备名,必须是使用/sys/block/sdb这样的原始设备名。

    udevadm test /sys/block/sdb
    udevadm info --query=all --path=/sys/block/sdb
    udevadm info --query=all --name=asm-diskb

    udevadm info --query=all --name=asm-diskb1
    udevadm info --query=all --name=asm-diskb2
    udevadm info --query=all --name=asm-diskb3 

    在显示中,有类似如下输出,表示测试正确,/dev/sdb设备在udev启动以后将会绑定为/dev/asm-diskb:

    udevadm_test: UDEV_LOG=6
    udevadm_test: DEVPATH=/devices/pci0000:00/0000:00:16.0/0000:0b:00.0/host1/target1:0:0/1:0:0:0/block/sdb
    udevadm_test: MAJOR=8
    udevadm_test: MINOR=16
    udevadm_test: DEVNAME=/dev/sdb
    udevadm_test: DEVTYPE=disk
    udevadm_test: ACTION=add
    udevadm_test: SUBSYSTEM=block
     
    5. 启动udev
    #/sbin/udevadm control --reload-rules

    #/sbin/start_udev

    6. 检查设备是否正确绑定

    # ls -l /dev/asm*
    brw-rw---- 1 grid dba 8, 32 Oct 26 21:24 /dev/asm-diskb1
    brw-rw---- 1 grid dba 8, 48 Oct 26 21:17 /dev/asm-diskb2
    brw-rw---- 1 grid dba 8, 48 Oct 26 21:17 /dev/asm-diskb3


    配置用户的配置文件,node1,node2 两个节点上都要执行,注意ORACLE_SID的差异

    oracle 用户的.bash_profile 文件,注意节点不同,ORACLE_SID也是不一样的
    vi /home/oracle/.bash_profile

    export ORACLE_BASE=/u01/app/oracle
    export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
    export ORACLE_SID=rac01
    #export ORACLE_SID=rac02

    #export TNS_ADMIN=$ORACLE_HOME/network/admin
    #export ORA_NLS10=$ORACLE_HOME/nls/data
    export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
    export NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'

    export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin
    export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
    export PATH=${PATH}:$ORACLE_BASE/common/oracle/bin

    export LD_LIBRARY_PATH=$ORACLE_HOME/lib
    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib

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

    export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib


    export TEMP=/tmp
    export TMP=/tmp

    export TMPDIR=/tmp


    grid 用户的.bash_profile 文件, ORACLE_HOSTNAME请自行设置,注意节点不同,ORACLE_SID也是不一样的
    vi /home/grid/.bash_profile

    export ORACLE_BASE=/u01/app/gridbase
    export ORACLE_HOME=/u01/app/grid/product/11.2.0/grid_1
    export ORACLE_SID=+ASM1
    #export ORACLE_SID=+ASM2

    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

    export TEMP=/tmp
    export TMP=/tmp
    export TMPDIR=/tmp




    配置yum,安装依赖的rpm,node1,node2 两个节点上都要执行

    vi /etc/yum.conf

    追加如下内容

    [base]
    name=base pyb yum test
    baseurl=file:///mnt/cdrom
    gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release

    [updates-released]
    name= updates-released pyb yum test
    baseurl=file:///mnt/cdrom
    gpgkey=file:///mnt/cdrom/RPM-GPG-KEY-redhat-release

    修改其中的 gpgcheck参数,改为gpgcheck=0 
    修改其中的 enabled参数,改为enabled=1 



    sftp 上传 GI,DATABASE 软件,上传到node1 节点就可以了

    chown grid:oinstall p10404530_112030_Linux-x86-64_3of7.zip

    chown oracle:oinstall p10404530_112030_Linux-x86-64_1of7.zip
    chown oracle:oinstall p10404530_112030_Linux-x86-64_2of7.zip


    gird 用户下安装

    unzip p10404530_112030_Linux-x86-64_3of7.zip

    grid 用户下验证安装环境
    ./runcluvfy.sh stage -pre crsinst -n node1,node2 -verbose


    如下的包必需安装
    Oracle Linux 6 and Red Hat Enterprise Linux 6
    The following packages (or later versions) must be installed:


    binutils-2.20.51.0.2-5.11.el6 (x86_64)
    compat-libcap1-1.10-1 (x86_64)
    compat-libstdc++-33-3.2.3-69.el6 (x86_64)
    compat-libstdc++-33-3.2.3-69.el6.i686
    gcc-4.4.4-13.el6 (x86_64)
    gcc-c++-4.4.4-13.el6 (x86_64)
    glibc-2.12-1.7.el6 (i686)
    glibc-2.12-1.7.el6 (x86_64)
    glibc-devel-2.12-1.7.el6 (x86_64)
    glibc-devel-2.12-1.7.el6.i686
    ksh
    libgcc-4.4.4-13.el6 (i686)
    libgcc-4.4.4-13.el6 (x86_64)
    libstdc++-4.4.4-13.el6 (x86_64)
    libstdc++-4.4.4-13.el6.i686
    libstdc++-devel-4.4.4-13.el6 (x86_64)
    libstdc++-devel-4.4.4-13.el6.i686
    libaio-0.3.107-10.el6 (x86_64)
    libaio-0.3.107-10.el6.i686
    libaio-devel-0.3.107-10.el6 (x86_64)
    libaio-devel-0.3.107-10.el6.i686
    make-3.81-19.el6
    sysstat-9.0.4-11.el6 (x86_64)

    unixODBC-2.2.14-11.el6 (x86_64) or later
    unixODBC-2.2.14-11.el6.i686 or later
    unixODBC-devel-2.2.14-11.el6 (x86_64) or later
    unixODBC-devel-2.2.14-11.el6.i686 or later

    rpm -q binutils compat-libstdc++-33 elfutils gcc glibc libaio libgcc libstdc++ make sysstat unixODBC unixODBC-devel


    修改OS 参数,node1,node2 两个节点上都要执行

    vi /etc/sysctl.conf

    #kernel.shmall = 2097152
    #kernel.shmmax = 536870912
    kernel.shmmni = 4096
    kernel.sem = 250 32000 100 128
    fs.aio-max-nr = 1048576
    fs.file-max = 6815744
    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

    sysctl -p 立即生效

    vi /etc/security/limits.conf
    grid soft nproc 655350 
    grid hard nproc 655350
    grid soft nofile 655350 
    grid hard nofile 655350 

    orcle soft nproc 655350 
    orcle hard nproc 655350
    orcle soft nofile 655350 
    orcle hard nofile 655350

    vi /etc/pam.d/login
    session    required     /lib64/security/pam_limits.so
    session    required     pam_limits.so

    vi /etc/selinux/config
    SELINUX=disabled

    清除 ntp 服务,node1,node2 两个节点上都要执行
    oracle在grid安装时需要重新配置(CTSS),避免冲突,事先清除

    [root@node1 /]# /sbin/service ntpd stop
    Shutting down ntpd:                                        [FAILED]
    [root@node1 /]# chkconfig ntpd off

    [root@node1 /]# mv /etc/ntp.conf /etc/ntp.conf.201604213
    或者
    [root@node1 /]# rm -rf /etc/ntp.conf


    哇塞哇塞,基础工作终于做完了,开始安装clusterware,


    Step 1 of 18: Download Software Updates

    Skip software updates

    Step 2 of 18: Select Installation Option

    Install and Configure Grid Infrastructure for a Cluster

    Step 3 of 18: Select Installation Type

    Advanced Installation

    Step 4 of 18: Select Product Languages

    English

    Step 5 of 18: Grid Plug and Play Information

    Cluser Name :node
    SCAN   Name :nodescan
    SCAN   Port :1521

    GNS 不配置


    Step 6 of 16: Cluster Node Information

    click Add ,then input Public Hostname: node2
                         Virtual Hostname: node2-vip

    click SSH Connectivity,then input OS Password: 

    始终失败,就需要手动配置了,参考前面被注释的代码

    Step 7 of 18: Specify Network Interface Usage

    eth0 public
    eth1 private

    INS-41113: 说明 public 和 private 不能在同一网段

    eth0 10.1.1.0 public
    eth1 10.2.1.0  private

    Step 8 of 18:Storage Option Information

    Oracle Automatic Storage Management(Oracle ASM)

    Step 9 of 18:Create ASM Disk Group

    Disk Group Name: DG_DATA_001

    Redundancy:External

    AU Size:1 MB

    ORCL:VOL1
    ORCL:VOL2

    Step 10 of 18:Specify ASM Password

    Use sames passwords for these accounts

    XXXXX

    SYS
    ASMSNMP


    Step 11 of 18:Failure Isolation Support

    Do not user Intelligent Platform Management Interface(IPMI)


    Step 12 of 18:Privileged Operating System Groups

    asmdba
    asmoper
    asmadmin


    Step 13 of 18:Specify Installatin Location

    Oracle Base: /u01/app/gridbase


    Software Location: /u01/app/grid/product/11.2.0/grid_1

    Step 14 of 18:Create Inventory

    Inventory Directory: /u01/app/oraInventroy


    Step 15 of 18:Perform Prerequisite Checks

    Grid的安装需要检查以下几项:
    1、 物理内存、交换空间
    2、 内核参数的设置
    3、 软件包是否满足
    4、 NTP是否配置
    如果Fixable列显示的是YES,则我们可以通过脚本进行修复,我们需要点击“Fix&Check Again”,系统会自动生成SHELL脚本进行修复。对于NTP我们可以忽略
    缺少的rpm包用 yum install 安装就可以了。
    反复多check 几次

    Task resolv.conf Integrity 是由于没有使用DNS,可以忽略

    Step 16 of 18:Summary

    Save Response File : /home/grid/grid.rsp

    Step 17 of 18:Install Product

    /u01/app/oraInventory/orainstRoot.sh           node1,node2
    /u01/app/grid/product/11.2.0/grid_1/root.sh    node1,node2

    Step 18 of 18:Finish


    可否用 '/etc/hosts'来解析 SCAN而不用 DNS或 GNS?
    Oracle强烈建议不要在 hosts文件中配置SCAN IP 地址。但是可以使用hosts文件来解析SCAN IP,
    只不过只能解析成一个SCAN IP地址。
     
    如果使用 hosts文件来解析 SCAN名称,则在安装结束时会遇到ClusterVerification Utility失败错误,


    详细信息请见metalink文章 NOTE 887471.1 。



    最后一步 验证节点时间时有可能会出错,如果前期对ntpd做了修改,应该不会出现这个错误。


    INFO: Check CTSS state started...
    INFO: CTSS is in Active state. Proceeding with check of clock time offsets on all nodes...
    INFO: PRVF-9661 :  Time offset is greater than acceptable limit on node "rac2" [actual = "-283800.0", acceptable = "1000.0" ] 
    INFO: PRVF-9652 : Cluster Time Synchronization Services check failed


    node1,node2两个节点的grid用户下运行 oifcfg 命令配置或查看:


    [grid@node1 bin]# ./oifcfg setif -global eth0/10.1.1.0:public
    [grid@node1 bin]# ./oifcfg setif -global eth1/10.2.1.0:cluster_interconnect
    [grid@node1 bin]# ./oifcfg getif
    eth0  10.1.1.0  global  public
    eth1  10.2.1.0  global  cluster_interconnect

    clusterware 就安装结束. 


    确认一下CRS的安装情况

    $ ls -l /etc/init.d/init.* 
    grid 用户下 
    $ ORACLE_HOME/bin/olsnodes -n 

    $ ORACLE_HOME/bin/crsctl check has
    $ ORACLE_HOME/bin/crsctl check crs

    $ ORACLE_HOME/bin/crsctl check ctss
    $ ORACLE_HOME/bin/crsctl check css
    $ ORACLE_HOME/bin/crsctl check evm

    $ ORACLE_HOME/bin/crsctl check cluster
    $ ORACLE_HOME/bin/crsctl check cluster -all

    $ ORACLE_HOME/bin/crsctl get css misscount
    $ ORACLE_HOME/bin/crsctl get css disktimeout
    $ ORACLE_HOME/bin/crsctl get css reboottime
    $ ORACLE_HOME/bin/crsctl get css diagwait

    $ ORACLE_HOME/bin/crsctl query css votedisk

    $ ORACLE_HOME/bin/crsctl status resource 
    $ ORACLE_HOME/bin/crsctl status resource -t -init
    $ ORACLE_HOME/bin/crs_stat -t -v

    创建asm磁盘(asm实例在clusterware安装过程已经创建),运行asmca,创建DG_DATA_001
    或者在前面都已经创建完毕

    clusterware终于安装完了,开始安装database(仅安装数据库软件)

    下一步,一直下一步 注意选择 only database software

    Step 4 of 10 Grid Installation Options


    oracle用户下的SSH 等效性, 前面配置额等效性,这里check 一下就好了。


    Step 9 of 10 Perform Prerequisite Checks

    安装RAC数据库出现PRCT-1011错误。

    详细错误信息为:

    An internal error occurred within cluster verification framework
    Unable to obtain network interface list from Oracle
    ClusterwarePRCT-1011: Failed to run “oifcfg”. Detailed error: null

    导致这个错误的原因ORA_NLS10环境变量设置有误。可以将不设置这个环境变量,或将其设置到正确的位置:

    unset ORA_NLS10

    ORA_NLS10的正确的位置指向$GRID_HOME/nls/data,取消设置或将其设置到正确的位置后,重新启动图形化安装工具既可。

    PRCT-1011错误还有可能是OCR中记录的网络设置不正确,具体描述可以参考metalink文档 [ID 1380183.1]。


    之后运行
    /u01/app/oracle/product/11.2.0/db_1/root.sh node1,node2

    分别运行后 数据库软件就算安装完毕了

    开始创建数据库,运行dbca
    [oracle@node1 database]$ dbca

    选择RAC database

    create database

    选择所有节点

    选择custom database

    注意存储时选择ASM,

    Database Services 这里,
    你选择Add你一个新的service, 随便叫名字,比如pyb。然后选择 TAF Policy,是Basic。 这个服务在RAC 
    的Failover中会用到,如果在这里没有配置,也可以通过dbca命令, 选择 Services Management 来进行配置。

    Service 是 oracle ha 在服务器端 fail_over 的一种手段,11g用scan来处理

    后面和单实例的就没啥区别了!

    检查及错误处理


    1) LOCAL_LISTENER和REMOTE_LISTENER


    local_listener     string (DESCRIPTION=(ADDRESS_LIST=(AD
         DRESS=(PROTOCOL=TCP)(HOST=10.
         1.1.44)(PORT=1521))))
     
    remote_listener     string nodescan:1521 

    2) ASM实例的spfile

    vi init+ASM1.ora

    asm_diskgroups='DG_DATA01'
    asm_diskstring='/dev/asm*'
    asm_power_limit=1
    instance_type='asm'
    large_pool_size=12M
    remote_login_passwordfile='EXCLUSIVE'

    STARTUP pfile=init+ASM1.ora


    3) 查看 miscount,虚拟机,如果性能差,要修改

    crsctl get css misscount
    crsctl set css misscount 400

    crsctl get css disktimeout
    crsctl set css disktimeout 500

    crsctl get css reboottime 

    4) CRS-0184: Cannot communicate with the CRS daemon.

    大部分原因是因为CRS进程未启动,CSS进程未启动,导致的asm实例未启动,造成OCR无法访问,可以手动启动asm

    强行杀掉后机器自动重启,然后

    $ ps aux|grep crs|awk '{print "kill -9 " $2}'|sh 

    或者 root下运行
    或者使用crsctl,root 用户下

    $ORACLE_HOME/bin/crsctl stop crs
    $ORACLE_HOME/bin/crsctl start crs
    CRS-4123: Oracle High Availability Services has been started.

    可以查看$ORACLE_HOME/log/alertrac1.log
    可以查看$ORACLE_HOME/log/crsd/crsd.log

    $ 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

    5)  CRS-4639: Could not contact Oracle High Availability Services

    root 用户下

    crsctl check has
    crsctl start has
    crsctl stop has


















     
  • 相关阅读:
    flush logs
    slave-skip-errors,sql_slave_skip_counter
    稀饭
    table
    profiles
    索引使用规范
    innodb_rollback_on_timeout
    mysql账号管理
    跨库复制
    linux.sh
  • 原文地址:https://www.cnblogs.com/ctypyb2002/p/9793173.html
Copyright © 2020-2023  润新知