• Rhel6.6_Oracle11gR2(ASM,UDEV)的RAC搭建安装


    Rhel6.6_Oracle11gR2(ASM,UDEV)的RAC搭建安装

    翔之天空 2015-11-11 11:17:22 10856 收藏 3
    分类专栏: Oracle 安装卸载 Oracle 高可用及容灾
    版权
    本次演示是在Rhel6.6环境下Oracle11gR2的RAC搭建安装

    环境: VM + Rhel6.6 + GI + Oracle11gR2


    基本信息

    1)安装包
    Rhel6     :  rhel-server-6.6-x86_64-dvd.iso
    Oracle11gR2:p13390677_112040_Linux-x86-64_1of7.zip
    p13390677_112040_Linux-x86-64_2of7.zip
    Grid Infrastructure(GI): p13390677_112040_Linux-x86-64_3of7.zip
     

    2)服务器环境
    1、两台虚拟机信息:

    hostname:RAC1 ,   ip:192.168.103.106

    hostname:RAC2 ,   ip:192.168.103.107

    2、心跳IP信息:

    RAC1的心跳IP:192.168.1.106

    RAC2的心跳IP:192.168.1.107

    3、VIP/SCANIP信息

    RAC1的VIP:192.168.103.116

    RAC1的VIP:192.168.103.117

    ScanIP:192.168.103.118

    附:关于以上rac的各种ip的详细介绍:http://czmmiao.iteye.com/blog/2124373

    3)共享磁盘设置
    5块2G磁盘,表决磁盘

    3块5G磁盘,存放数据文件

    附:虚拟机设置共享磁盘方式:http://wenku.baidu.com/link?url=qWeZ6VJcZNSrSlGYA4ru6FCS7-7PZn_xwq_eRiuCjWc-kQHWBhlg82rlgJaUqjDT3F8PUWtgwMbPxjmDsyoG7VCUsUvWLcmPkTh8ov07CU_

    一:安装linux

    1)linux安装时的选项
    Base System > Base
    Base System > Client management tools
    Base System > Compatibility libraries
    Base System > Hardware monitoring utilities
    Base System > Large Systems Performance
    Base System > Network file system client
    Base System > Performance Tools
    Base System > Perl Support
    Servers > Server Platform
    Servers > System administration tools
    Desktops > Desktop
    Desktops > Desktop Platform
    Desktops > Fonts
    Desktops > General Purpose Desktop
    Desktops > Graphical Administration Tools
    Desktops > Input Methods
    Desktops > X Window System
    Development > Additional Development
    Development > Development Tools
    Applications > Internet Browser
     

    2)linux需要安装的包

    需要添加以下的包,以确保Oracle的正常安装(暂时不添加也可以,在安装Oracle时会详细提示缺少哪个包的)

    rpm -Uvh binutils-2.*

    rpm -Uvh compat-libstdc++-33*

    rpm -Uvh elfutils-libelf-0.*

    rpm -Uvh elfutils-libelf-devel-*

    rpm -Uvh gcc-4.*

    rpm -Uvh gcc-c++-4.*

    rpm -Uvh glibc-2.*

    rpm -Uvh glibc-common-2.*

    rpm -Uvh glibc-devel-2.*

    rpm -Uvh glibc-headers-2.*

    rpm -Uvh pdksh-5*

    rpm -Uvh libaio-0.*

    rpm -Uvh libaio-devel-0.*

    rpm -Uvh libgcc-4.*

    rpm -Uvh libstdc++-4.*

    rpm -Uvh libstdc++-devel-4.*

    rpm -Uvh make-3.*

    rpm -Uvh sysstat-7.*

    rpm -Uvh unixODBC-2.*

    rpm -Uvh unixODBC-devel-2.*


    二:安装准备

    注:以下的安装准备都要需要在RAC1和RAC2两个服务器设置。

    1)修改防火墙设置
    重启后生效

    开启: chkconfig iptables on

    关闭: chkconfig iptables off

    即时生效,重启后失效

    开启: service iptables start

    关闭: service iptables stop

    2)修改 /etc/selinux/config
    SELINUX=disabled

    3)指定本地yum源
    对/etc/yum.repos.d/rhel-source.repo 进行修改

    [root@localhost ~]# vi/etc/yum.repos.d/rhel-source.repo

    [rhel-source]
    name=Red Hat Enterprise Linux $releasever -$basearch - Source
    baseurl=file:///setup/rhel6Setup/Server
    enabled=1
    gpgcheck=1
    gpgkey=file:///setup/rhel6Setup/RPM-GPG-KEY-redhat-release

    4)添加 /etc/pam.d/login
    session required pam_limits.so
     

    5)安装cvuqdisk包
    在grid安装包目录下,安装cvuqdisk包
    rpm -Uvh cvuqdisk*


    6)添加内核参数  /etc/sysctl.conf
    fs.aio-max-nr = 1048576 --文件系统最大异步io
    fs.file-max = 6815744 --文件系统中最大文件个数
    kernel.shmall = 2097152
    kernel.shmmax = 2054504960
    kernel.shmmni = 4096 --最小共享内存大小 bytes
    # semaphores: semmsl, semmns, semopm,semmni
    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
    修改完成后执行 /sbin/sysctl -p  

    7)添加 /etc/security/limits.conf
    oracle soft nproc 2047
    oracle hard nproc 16384
    oracle soft nofile 1024
    oracle hard nofile 65536
    oracle soft stack 10240
    oracle hard stack 10240

    8)添加oracle的用户和组
    注:本次演示只用一个Oracle用户,需要grid的时候,可以切换到grid环境变量中。

    groupadd -g 1000 oinstall
    groupadd -g 1200 dba
    useradd -u 1100 -g oinstall -G dba oracle
    passwd oracle

    9)添加目录和权限
    mkdir -p /u01/app/11.2.0/grid
    mkdir -p /u01/app/oracle/product/11.2.0/db_1
    chown -R oracle:oinstall /u01
    chmod -R 775 /u01/


    10)添加Oracle的环境变量   

    1、切换oracle用户,并添加以下环境变量到oracle目录下的 .bash_profile文件中

    # Oracle Settings

    TMP=/tmp; export TMP
    TMPDIR=$TMP; export TMPDIR

    ORACLE_HOSTNAME=rac1.localdomain; export ORACLE_HOSTNAME --rac2服务器注意
    ORACLE_UNQNAME=TESTRAC; export ORACLE_UNQNAME
    ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
    GRID_HOME=/u01/app/11.2.0/grid; export GRID_HOME
    DB_HOME=$ORACLE_BASE/product/11.2.0/db_1;export DB_HOME
    ORACLE_HOME=$DB_HOME; export ORACLE_HOME
    ORACLE_SID=TESTRAC1; export ORACLE_SID --rac2服务器注意
    ORACLE_TERM=xterm; export ORACLE_TERM
    BASE_PATH=/usr/sbin:$PATH; export BASE_PATH
    PATH=$ORACLE_HOME/bin:$BASE_PATH; exportPATH

    LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;export LD_LIBRARY_PATH
    CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;export CLASSPATH

    alias grid_env='. /home/oracle/grid_env'
    alias db_env='. /home/oracle/db_env'
    注:以上环境变量设置之后,需执行 source.bash_profile 使之有效

    2、设置grid环境变量文件,创建/home/oracle/grid_env文件,内容如下:
    ORACLE_SID=+ASM1; export ORACLE_SID --rac2服务器注意
    ORACLE_HOME=$GRID_HOME; export ORACLE_HOME
    PATH=$ORACLE_HOME/bin:$BASE_PATH; export PATH

    LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
    CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

    3、设置oracle环境变量文件,创建/home/oracle/db_env文件,内容如下:
    ORACLE_SID=RAC1; export ORACLE_SID --rac2服务器注意
    ORACLE_HOME=$DB_HOME; export ORACLE_HOME
    PATH=$ORACLE_HOME/bin:$BASE_PATH; export PATH

    LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
    CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH


    4、当/home/oracle/.bash_profile运行之后,如下操作可以切换环境变量
    $ grid_env
    $ echo $ORACLE_HOME
    /u01/app/11.2.0/grid
    $ db_env
    $ echo $ORACLE_HOME
    /u01/app/oracle/product/11.2.0/db_1


    11) 添加ip信息 /etc/hosts    
    # Public
    192.168.103.106   rac1.localdomain        rac1
    192.168.103.107   rac2.localdomain        rac2

    # Private
    192.168.1.106     rac1-priv.localdomain     rac1-priv
    192.168.1.107     rac2-priv.localdomain     rac2-priv

    # Virtual
    192.168.103.116   rac1-vip.localdomain      rac1-vip
    192.168.103.117   rac2-vip.localdomain      rac2-vip

    # SCAN
    192.168.103.118   scanip.localdomain       scanip

    12) 设置SSH信任关系
    基本步骤:

    1)设置rac1的rsa和dsa加密,然后都追加到authorized_keys文件中
    2)再把rac1的authorized_keys拷贝到rac2中
    3)同样rac2的rsa和dsa加密,然后把rac2的rsa和dsa加密追加到authorized_keys文件中
    4)再把rac2的authorized_keys文件拷贝到rac1中,覆盖之前的authorized_keys文件

    注:这样的话rac1和rac2的authorized_keys文件中都有了彼此的rsa和dsa加密
     

    1、Rac1服务器设置:
    (1)设置rsa和dsa加密:
    [oracle@rac1 ~]$ ssh-keygen -t rsa
    [oracle@rac1 ~]$ ssh-keygen -t dsa


    (2)把rsa和dsa加密都放置到authorized_keys文件中:
    [oracle@rac1 ~]$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys
    [oracle@rac1 ~]$ cat .ssh/id_dsa.pub >> .ssh/authorized_keys

    (3)把rac1的authorized_keys拷贝到rac2中:
    [oracle@rac1 .ssh]$ scp authorized_keys 192.168.103.107:/home/oracle/.ssh

    2、Rac2服务器设置:
    (1)设置rsa和dsa加密:
    [oracle@rac2 ~]$ ssh-keygen -t rsa
    [oracle@rac2 ~]$ ssh-keygen -t dsa

    (2)把rac2的rsa和dsa加密都放置到从rac1拷贝来的authorized_keys文件中:
    [oracle@rac2 ~]$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys
    [oracle@rac2 ~]$ cat .ssh/id_dsa.pub >> .ssh/authorized_keys

    (3)把rac2中的authorized_keys文件拷贝到rac1中,覆盖之前的authorized_keys文件:
    [oracle@rac2 .ssh]$ scp authorized_keys 192.168.103.106:/home/oracle/.ssh

    3、查看一下rac1和rac2相同的authorized_keys文件,如下:
    [oracle@rac1 .ssh]$ more authorized_keys

    ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA41SuwECtNZKeIWrQjlk5EpIjR77mPbt2WoV78m0YkHe3JCPryUtCgv2BGS
    HRE8Txs/eNlc5FHqYnqwQIOFrvWo8spESd99wCDwmm4arb2yKmtXgQ8TNLm9i2uW3xwZFZFMc3vZtMwlm9chEAP0uhcGev
    DopIHCde7/lUdGuhPtOXTtOV56aazQUULBD1imBEtFcy5wynO28eLFXqOUcgyD1yuZvUQKEYJaVmx2YIoUGAqLk1JRLXjE
    xWNpwY76vAut9MQQdzNf45Ph+b7fSga69rfE3ZyzpF6JYXY5CfE1/jX8hCQJu3eGN3Ibow0mt2Sb4NvGmtlTj8KOKfOZ0l
    6Q== oracle@rac1.localdomain

    ssh-dss AAAAB3NzaC1kc3MAAACBAKSi5EuIIYnK32aZJNUpr+nlSiKUXuF1SnrXTmp9ktH10r8r481MxlRBvMZAfC3NQs
    L74llv0IgYtcE+KbdXRaz3VIC/KnJmG2LgyqJWORd+nFpJwcaJgV1kvwOBUpv3TBGFzBkDpHAAeUa8L3BsU2/+IpTQCaOY
    NxymPE7UbDyRAAAAFQCVm78VvJM651Aop+/jbH/F+ud7ewAAAIBt7NQVd/toLV9w+QyyDJDYbkPxCid+DLJrmcCQ4cM2Iq
    WToMo5zweQxJ+IS2/oKedK4zR177gnrejaYdH4Xg+JxDuweEI3nnBA015obsyUlaTrTaoinclMSRaxLQ0SDX7tc2g408NK
    yg1TTlhyTW3bnFkvqyNcLXQa+VcW8bDLSwAAAIAiC+Jlb4qT1KvUE14Ro/ITUPicSxs480qtRyYGa1/YSyn45VAFCDfemd
    2yD2YMnV7SZtio63nwipipvrTrLl0sFbbCchryfYpHi3IkmJXqhNPUBG4DYryT8ay8AoAqeie5jikH9Axh1vz2ShhLRrwo
    j7zvWDIwD/dHcYn8DiDJqw== oracle@rac1.localdomain

    ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA9WW0xrzlapdDgH8LarnGY9Tn0iQp00mT1POSunH5WkJDxrnntk+36fCIG6
    eIhcEbbv6vlkMNNjfbjtBlvDDe4hKeXm1FDrPPBUNYMDs0ubVBKxkJaMOfEY7CiHAjQbcdPcP0MS6wYCEobyTw4KdUnHnD
    5XqtWtvnBzSvMKJ4BudT6dYlLag2CYfKbslqT0No1WA1zLw1F5kGjc+qFlnK1eHZBdgVUcekN58VjHmGnpZdWfwmVDvWh4
    nCjSrekTb111Vpxyj302DfuX+XnO746utPcefV5dyGuNUTB+nWM4dksETAuBuLVIfOqkiWh9VNNUJi7PQ8Q3LF98bC9ZaI
    1w== oracle@rac2.localdomain

    ssh-dss AAAAB3NzaC1kc3MAAACBAJuQkXUMWhh09GlyZg0mzcHWjIGBT6fq9xwJ1Wp1BtcmzlGyfwhAlTOJsK+By6TRvm
    6OlVgcyuUZutPRER/fvKj0UCP3mFRT/ebw9QuriVCIuhj4WSTe/dfhzgnKdV4d8wMRoD/i9j+6ROS8h5RK29v2Lq/yRmPp
    qfQ0VAk85ZqlAAAAFQCkoS+KEFlXoBK9W/wmqLzQQzahGQAAAIA/6WRIXNDzdbWqja8Mp+dNuNqiW6WusEQbJbB6gQ8XiA
    S8UJRZ8sEEnNo3uJwkvdMoUspFfY+QNcvNtHi6J4RK5CsrQpdqNDmr8+zcOY+5xaeqRNmotdV5DSUkVw4RZlCF7CJ32t1p
    8L6+wwfgQabM5XiurzETiFGyegvqpOTHuQAAAIBS9nlZUFDlnoeLVYSD4XbfwGZ+SYtOHhNX64suBnLsHOqzg/MmUf+pvZ
    3OauyCO5R355tQ/+BOYHrSb46yW48UoVc3gmt9VbWEfWSHobdCjtSctyqfr3qCT0ZCMWKIzf1X8LR+pQWFS3d61eDSLXEE
    JrKIypefXzj47GqBS/jDqg== oracle@rac2.localdomain

    4、测试SSH:
    Rac1和 rac2分别测试,可以正常返回日期即可:

    [oracle@rac1 ~]$ ssh rac1 date
    [oracle@rac1 ~]$ ssh rac1-priv date
    [oracle@rac1 ~]$ ssh rac2 date
    [oracle@rac1 ~]$ ssh rac2-priv date


    13)udev绑定磁盘  ASM
    添加8块共享磁盘(5块2G的表决磁盘,3块10G的数据文件磁盘)

    rac1中添加,rac2中选择rac2添加的磁盘即可,设置如下:


     

    查看已格式化好的磁盘

    查看磁盘信息,我这里取出KERNEL ,SIZE作为规则


    添加规则 /etc/udev/rules.d/99-oracle-asmdevices.rules 文件

    [root@rac1 ~]# vi /etc/udev/rules.d/99-oracle-asmdevices.rules

    KERNEL=="sdb1",SYSFS{size}=="4099936",NAME="asm-diskb",OWNER="oracle",GROUP="dba",MODE="0660"
    KERNEL=="sdc1",SYSFS{size}=="4137322",NAME="asm-diskc",OWNER="oracle",GROUP="dba",MODE="0660"
    KERNEL=="sdd1",SYSFS{size}=="4158092",NAME="asm-diskd",OWNER="oracle",GROUP="dba",MODE="0660"
    KERNEL=="sde1",SYSFS{size}=="4178862",NAME="asm-diske",OWNER="oracle",GROUP="dba", MODE="0660"
    KERNEL=="sdf1",SYSFS{size}=="4191324",NAME="asm-diskf",OWNER="oracle",GROUP="dba",MODE="0660"
    KERNEL=="sdg1",SYSFS{size}=="10250770",NAME="asm-diskg",OWNER="oracle",GROUP="dba",MODE="0660"
    KERNEL=="sdh1",SYSFS{size}=="10353690",NAME="asm-diskh",OWNER="oracle",GROUP="dba",MODE="0660"
    KERNEL=="sdi1",SYSFS{size}=="10477194",NAME="asm-diski",OWNER="oracle",GROUP="dba",MODE="0660"

    重启udev

    [root@rac1 ~]# start_udev

    Starting udev: [ OK ]

    查看绑定的asm磁盘

    [root@rac1 ~]# ll /dev/asm*

    brw-rw---- 1 oracle dba 8, 17Nov 9 21:36 /dev/asm-diskb
    brw-rw---- 1 oracle dba 8, 33Nov 9 21:36 /dev/asm-diskc
    brw-rw---- 1 oracle dba 8, 49Nov 9 21:36 /dev/asm-diskd
    brw-rw---- 1 oracle dba 8, 65Nov 9 21:36 /dev/asm-diske
    brw-rw---- 1 oracle dba 8, 81Nov 9 21:36 /dev/asm-diskf
    brw-rw---- 1 oracle dba 8, 97Nov 9 21:36 /dev/asm-diskg
    brw-rw---- 1 oracle dba 8, 113 Nov 9 21:36 /dev/asm-diskh
    brw-rw---- 1 oracle dba 8, 129 Nov 9 21:36 /dev/asm-diski

    附:或者用下述方式绑定udev
    for i in b c d e f g ;
    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""      >> /etc/udev/rules.d/99-oracle-asmdevices.rules
    done

    三:GI安装
    注:安装GI只在rac1一台服务器上安装即可

    1)   切换oracle环境,安装GI
    [root@rac1 ~]# su - oracle

    [oracle@rac1 ~]$ grid_env

    [oracle@rac1 ~]$ cd /setup/gridSetup/grid/

    [oracle@rac1 grid]$ ./runInstaller


    跳过软件升级


    安装和配置GI集群,下一步


    安装方式,下一步

    添加一个rac2信息,然后测试一下之前配置过的ssh信任关系


    Ssh信任关系测试ok,下一步


    环境变量已配置过,下一步


    设置表决磁盘


    环境变量已配置过,下一步


    检查失败的项,这里忽略了,下一步


    完成,开始安装

    安装中


    已root身份分别在rac1和rac2中执行以下脚本

    安装完成,发现有失败项


    查看错误日志,发现如下信息

    是因为我们配置hosts文件,而没有dns的问题,这里可忽略


    完成GI安装,关闭


    四:ASM配置

    注:asm配置只在rac1一台服务器上安装即可

    配置ASM的数据文件磁盘组

    [oracle@rac1 grid]$ asmca


    建立数据文件磁盘组,这里选中三个磁盘,ok


    创建完成,ok


    五:Oracle安装

    注:Oracle安装只在rac1一台服务器上安装即可

    1)切换oracle用户,安装Oracle软件
    [root@rac1 ~]# su - oracle

    [oracle@rac1 ~]$ db_env

    [oracle@rac1 ~]$ cd/setup/oracleSetup/database/

    [oracle@rac1 database]$ ./runInstaller

    不需要邮件

    跳过升级


     


    只安装数据库软件


    RAC数据库安装


     


    添加简体中文


    企业版


    之前环境变量设置过


    用户组


    这些错误可忽略,下一步


    安装中

    root用户在rac1和rac2都要执行脚本


    安装完成

    2)安装数据库

    启动dbca安装数据库

    [oracle@rac1 database]$ dbca


    创建RAC数据库
     

    创建数据库


     

    数据库

    实例名,选择rac1和rac2,下一步


    不需要模板配置

    创建密码


    选择ASM磁盘组

    RFA的ASM磁盘组


    不需要组件

    不需要sample

    字符集,16GBK

    创建数据库


    创建中


    创建成功


     
    ————————————————
    版权声明:本文为CSDN博主「翔之天空」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/fly43108622/article/details/49779391

  • 相关阅读:
    登录远程服务器运行的程序,退出服务器仍然运行的方法
    python爬虫错误
    python将字符转换为字典
    shell中$(( )) 与 $( ) 还有${ }的区别
    JavaBean 开发入门
    反射机制 动态代理
    反射机制的深入应用
    反射机制 反射的应用 ---取得类的结构
    反射机制 CLass类的使用
    JSP 的九大内置对象
  • 原文地址:https://www.cnblogs.com/yaoyangding/p/14808620.html
Copyright © 2020-2023  润新知