查看: 9161|回复: 2

[安装] oracle 11gR2 RAC在Oracle Linux 6.5上的安装总结

[复制链接]
论坛徽章:
0
发表于 2014-8-1 10:23 | 显示全部楼层 |阅读模式
本帖最后由 zhanghjgnu 于 2014-8-1 10:28 编辑

    Oracle11g RAC和以前安装的10g RAC区别还是很大的,参考了网上的一些资料,历经波折,下面是安装记录。
    1.硬件环境:
    IBM X3850X5 两台,4颗CPU,128G内存,每台机器两块300G SAS硬盘,做RAID1,IBM V3500存储一台,5块600G SAS 1k HDD,RAID5,存储版本号:7.2.0.5.
    网络环境:
         服务器1 IP 172.19.21.166
                      192.168.100.166
        服务器2 IP 172.19.21.167
                       192.168.100.167
        存储IP 172.19.21.168
        存储 控制台 IP:192.168.128.101:443
    2.软件环境:
        Oracle Enterprise Linux 6.5 – 64 bit
        Oracle Database 11G Release 2(11.2.0.3) – 64 bit for Linux
        对应的文件
        p10404530_112030_Linux-x86-64_1of7.zip - database software
        p10404530_112030_Linux-x86-64_2of7.zip - database software
        p10404530_112030_Linux-x86-64_3of7.zip - grid software
    3.安装linux系统
       刚开始安装了RedHat Linux4,发现找不到HBA卡的驱动,东找西找下载了驱动,发现显卡只能支持800*600,找了me200gv的驱动,结果安好驱动后系统无法进入图形界面了,郁闷,于是决定安装Oracle Linux 6.5 /x86-64,安装过程就不贴图了,比较顺利,boot区200M,交换分区32G,其余的给了根分区。安装成功后直接用fdisk -l可以看到阵列存储,比较省心。不过安装时有些迷糊,直接把存储给分区格式化,通过UUID挂接上了,第二台也是如此,结果两台都启动系统后发现总有一台启动失败,想了半天才恍然大悟,这是linux基本系统,不能让两台机器直接访问存储空间的,必须通过集群软件才可以实现。解决办法如下:
     vi /etc/fstab,把存储对应的uuid前面注释掉,再重新启动成功。
     至于maltipath,参考了网上的一些说法,IBM V3500文档页面关于Linux有相关的说明。
   4.对存储分区
     服务器1在root用户下 fdisk /dev/mapper/mapperbp,新建4个分区/dev/mapper/mapperbpp1,/dev/mapper/mapperbpp2,/dev/mapper/mapperbpp3,/dev/mapper/mapperbpp4
   5.设置网络参数
     我们不使用dns,在两台机器分别vi /etc/hosts,编辑内容如下
       127.0.0.1     localhost.localdomain localhost
       #public
       172.19.21.166 rac1.eastwill.org    rac1
       172.19.21.167 rac2.eastwill.org    rac2
       #private
       192.168.100.166  rac1-priv.eastwill.org rac1-priv
       192.168.100.167  rac2-priv.eastwill.org rac2-priv
       #virtual
       172.19.21.169 rac1-vip.eastwill.org  rac1-vip
       172.19.21.170 rac2-vip.eastwill.org  rac2-vip
       #scan
       172.19.21.171  rac-scan.eastwill.org  rac-scan
       172.19.21.172  rac-scan.eastwill.org  rac-scan
       172.19.21.173  rac-scan.eastwill.org  rac-scan
   6.创建组和用户,
       两台机器分别用root操作
       /usr/sbin/groupadd -g 501 oinstall
       /usr/sbin/groupadd -g 502 dba
       /usr/sbin/groupadd -g 503 oper

      /usr/sbin/useradd -u 502 -g oinstall -G dba oracle
      passwd oracle
   7.修改内核参数
      两台机器分别用root操作
       vi /etc/sysctl.conf
      --kernel parameters for 11g installation
        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     
   
       验证生效/sbin/sysctl -p

        vi /etc/security/limits.conf
      --shell limits for users oracle 11gR2
        oracle soft nofile 1024
        oracle hard nofile 65536
        oracle soft nproc  2047
        oracle hard nproc  16384
        oracle soft stack  10240
        oracle soft stack  32768

   8.查找安装包是否满足条件
       rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE}(%{ARCH})\n' binutils \
       compat-libstdc++-33 \
       elfutils-libelf \
       elfutils-libelf-devel \
       gcc \
       gcc-c++ \
       glibc \
       glibc-common \
       glibc-devel \
       glibc-headers \
       ksh \
       libaio \
       libaio-devel \
      libgcc \
      libstdc++ \
      libstdc++-devel \
      make \
      sysstat \
      unixODBC \
      unixODBC-devel

     在我的安装环境中需要rpm -Uvh三个包ksh libaio-devel  unixODBC-devel,注意只安装64位的就行了,否则还会提示缺少依赖什么的。
  
  9. 关闭防火墙
     编辑/etc/selinux/config   ,修改中间一行
     SELINUX=permissive
     图形模式下 Diable iptables 和 ip6tables,也可以用service iptables stop service ip6tables stop

  10.关闭ntp
     我的安装没有启动ntp,不过还是确认一下,主要是oracle11 rac自己弄了个服务器时间同步,和这个有冲突
     service ntpd stop
     Shutting down ntpd:                                        [  Failed ]
     chkconfig ntpd off
     mv /etc/ntp.conf /etc/ntp.conf.orig
     rm /var/run/ntpd.pid

  11.创建目录,修改用户环境变量
       mkdir -p /ora01/app/oracle
       mkdir -p /ora01/app/oracle/product/11.2.0/db_1
       mkdir -p /ora01/app/grid/product/11.2.0/grid

       chown oracleinstall -R /ora01
       chmod 775 /ora01/app/oracle

        用oracle登录,修改.bash_profile
            # .bash_profile

            # Get the aliases and functions
            if [ -f ~/.bashrc ]; then
                 . ~/.bashrc
            fi

            # User specific environment and startup programs

            PATH=$PATH:$HOME/bin

            export PATH

            alias genv='. /home/oracle/.bash_profile_grid;envo'
            alias denv='. /home/oracle/.bash_profile_database;envo'

            . /home/oracle/.bash_profile_database

           envo
           
       注意. 和home之间的空格

       创建文件.bash_profile_grid

           # Oracle Settings
           export TMP=/tmp

           export ORACLE_HOSTNAME=rac1.eastwill.org
           export ORACLE_UNQNAME=+ASM
           export ORACLE_BASE=/ora01/app/oracle
           export ORACLE_HOME=/ora01/app/grid/product/11.2.0/grid
           export ORACLE_SID=+ASM1

           PATH=/usr/sbin:$PATH:$ORACLE_HOME/bin

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

           alias cdob='cd $ORACLE_BASE'
           alias cdoh='cd $ORACLE_HOME'
           alias tns='cd $ORACLE_HOME/network/admin'
           alias envo='env | grep ORACLE'

      创建文件/.bash_profile_database
           
           # Oracle Settings
           export TMP=/tmp

           export ORACLE_HOSTNAME=rac1.eastwill.org
           export ORACLE_UNQNAME=ORA11G
           export ORACLE_BASE=/ora01/app/oracle
           export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
           export ORACLE_SID=ORA11G1

           PATH=/usr/sbin:$PATH:$ORACLE_HOME/bin

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

           alias cdob='cd $ORACLE_BASE'
           alias cdoh='cd $ORACLE_HOME'
           alias tns='cd $ORACLE_HOME/network/admin'
           alias envo='env | grep ORACLE'

           umask 022

      创建文件genv
           ORACLE_UNQNAME=+ASM
           ORACLE_SID=+ASM1
           ORACLE_BASE=/ora01/app/oracle
           ORACLE_HOSTNAME=rac1.eastwill.org
           ORACLE_HOME=/ora01/app/grid/product/11.2.0/grid
      
      创建文件denv
            ORACLE_UNQNAME=ORA11G
            ORACLE_SID=ORA11G1
            ORACLE_BASE=/ora01/app/oracle
            ORACLE_HOSTNAME=rac1.eastwill.org
            ORACLE_HOME=/ora01/app/oracle/product/11.2.0/db_1

      增加权限     
            chmod 750 /home/oracle/.bash*
  12. 安装集群包和asm
      用oracle用户登录,把p10404530_112030_Linux-x86-64_3of7.zip解压成grid目录,转换到root下
             rpm -Uvh cvuqdisk-1.0.9-1.rpm
       ASM安装不算麻烦,不过第一次创建ASM磁盘时就是Failed,怎么也找不出原因,害得重做一次系统才好。
       到http://public-yum.oracle.com/下载oracleasmlib-2.0.4-1.el6.x86_64.rpm和oracleasm-support-2.1.8-1.el6.x86_64.rpm
           rpm -Uvh oracleasm*.rpm
       装完了验证一下:
           rpm -qa | grep oracleasm
           oracleasm-support-2.1.8-1.el6.x86_64
           oracleasmlib-2.0.4-1.el6.x86_64
      设置ASMLIB
             [root@rac1 ~]# /usr/sbin/oracleasm configure -i
             Configuring the Oracle ASM library driver.

             This will configure the on-boot properties of the Oracle ASM library
             driver.  The following questions will determine whether the driver is
             loaded on boot and what permissions it will have.  The current values
             will be shown in brackets ('[]').  Hitting <ENTER> without typing an
             answer will keep that current value.  Ctrl-C will abort.

             Default user to own the driver interface []: oracle
             Default group to own the driver interface []: dba
             Start Oracle ASM library driver on boot (y/n) [n]: y
             Scan for Oracle ASM disks on boot (y/n) [y]:
             Writing Oracle ASM library driver configuration: done
       装入ASM模块
              [root@rac1 rpm]# /usr/sbin/oracleasm init
              Creating /dev/oracleasm mount point: /dev/oracleasm
              Loading module "oracleasm": oracleasm
              Configuring "oracleasm" to use device physical block size
              Mounting ASMlib driver filesystem: /dev/oracleasm
      创建ASM磁盘
             root@rac1 ~]# /usr/sbin/oracleasm createdisk DISK1 /dev/mapper/mapperbpp1
             Writing disk header: done
             Instantiating disk: done
             [root@rac1 ~]# /usr/sbin/oracleasm createdisk DISK2  /dev/mapper/mapperbpp2
             Writing disk header: done
             Instantiating disk: done
             [root@rac1 ~]# /usr/sbin/oracleasm createdisk DISK3  /dev/mapper/mapperbpp3
             Writing disk header: done
             Instantiating disk: done
             [root@rac1 ~]# /usr/sbin/oracleasm createdisk DISK4  /dev/mapper/mapperbpp4
             Writing disk header: done
             Instantiating disk: done
     扫描ASM磁盘
            [root@rac1 ~]# /usr/sbin/oracleasm scandisks
            Reloading disk partitions: done
            Cleaning any stale ASM disks...
            Scanning system for ASM disks...
    查看ASM磁盘
            [root@rac1 ~]# /usr/sbin/oracleasm listdisks
            DISK1
            DISK2
            DISK3
            DISK4
    在另一个节点上装好ASM后运行扫描查看磁盘,应该能看到4个ASM磁盘
  13.验证网络节点,分别在两个节点上操作
      hostname
      ping rac1 -c 1
      ping rac2 -c 1
      ping rac1-priv -c 1
      ping rac2-priv -c 1
  14.安装grid
      用oracle登录,执行genv,出现提示
     ORACLE_UNQNAME=+ASM
     ORACLE_SID=+ASM1
     ORACLE_BASE=/ora01/app/oracle
     ORACLE_HOSTNAME=rac1.eastwill.org
     ORACLE_HOME=/ora01/app/grid/product/11.2.0/grid
      
     运行
          xhost +
           cd grid
          ./runInstaller &

     (1)Select “Skip software updates” and click “Next” button.
     (2) Select “Install and Configure Oracle Grid Infrastructure for a Cluster” and click “Next” button.
     (3) Accept default “Typical installation” and click “Next” button
     (4) Enter SCAN Name “rac-scan” then click “Add” button to add second node rac2.eastwill.org
     (5) Enter public and virtual host name for second node and click “OK” button
          点击“Identify network interfaces”按钮,确保eth0是public,eth1是private
          在节点之间建立ssh连接,这个比oracle10g rac简单多了,先输入oracle的操作系统密码,然后点击setup按钮就可以了。
     (6)选择 “Oracle Automatic Storage Management”, 然后输入 SYSASM 密码,修改 OSASM 组为DBA ,点击“Next”
          会看到建立的ASM磁盘,既然我们用存储备份,就全部选中4个磁盘,然后继续
     (7)在检测安装条件时会有一个DNS相关的解析错误,具体是什么忘了,下次补充上,网上介绍的办法不好用,有人说忽略是安全的,就给忽略了。
         安装过程中会提示分别在节点上用root运行两个脚本orainstRoot.sh和root.sh.先在rac1节点上运行,成功后在rac2节点上再运行。
         安装过程中会得到两个DNS相关的错误Configure Oracle Grid Infrastructure for a Cluster 和 Oracle Cluster Verfication Utility失败,忽略就可以,
         到先在grid安装成功了。
  15.安装数据库
      用oracle登录,运行denv ,得到
      ORACLE_UNQNAME=ORA11G
      ORACLE_SID=ORA11G1
      ORACLE_BASE=/ora01/app/oracle
      ORACLE_HOSTNAME=rac1.eastwill.org
      ORACLE_HOME=/ora01/app/oracle/product/11.2.0/db_1
      解压前两个oracle包,得到database目录
      cd database
      ./runInstaller &
     (1)Uncheck checkbox “I wish to receive security updates via My Oracle Support” and click “Next” button,Ignore this message and click “Yes”.
     (2)Select “Skip software updates” and click “Next” button.
     (3)Select “Create and configure a database” and click “Next” button.
     (4)Select “Server Class” and click “Next” button.
     (5)选中两个节点,继续
     (6)选择 “Advanced install”,继续
     (7)剩下的和安装单机oracle差不多,文件系统选择“Oracle Automatic Storage Management”,密码输入以前输入的ASMSNMP密码
     (8)安装过程中会遇到dns相关的一个解析错误,有人说修改zone .加 file "/dev/null",不过不好用,忽略
     (9)根据提示分别在节点上运行脚本,安装完成。
16 验证安装结果
    [root@rac1 ~]# su - oracle
    [oracle@rac1 ~]$ genv
    ORACLE_UNQNAME=+ASM
   ORACLE_SID=+ASM1
   ORACLE_BASE=/ora01/app/oracle
   ORACLE_HOSTNAME=rac1.eastwill.org
   ORACLE_HOME=/ora01/app/grid/product/11.2.0/grid

   [oracle@rac1 ~]$ srvctl config database -d ORA11G
   Database unique name: ORA11G
   Database name: ORA11G
   Oracle home: /ora01/app/oracle/product/11.2.0/db_1
   Oracle user: oracle
   Spfile: +DATA/ORA11G/spfileORA11G.ora
   Domain:eastwill.org
   Start options: open
   Stop options: immediate
   Database role: PRIMARY
   Management policy: AUTOMATIC
   Server pools: ORA11G
   Database instances: ORA11G1,ORA11G2
   Disk Groups: DATA
   Mount point paths:
   Services:
   Type: RAC
   Database is administrator managed

   [oracle@rac1 ~]$ srvctl status listener
   Listener LISTENER is enabled
   Listener LISTENER is running on node(s): rac2,rac1

   [oracle@rac1 ~]$ srvctl status asm
   ASM is running on rac2,rac1

   [oracle@rac1 ~]$ srvctl status database -d ORA11G
   Instance ORA11G1 is running on node rac1
   Instance ORA11G2 is running on node rac2

    浏览器访问状态 https://rac1.eastwill.org:1158/em/
参考文档
http://dbaora.com/oracle-rac-11- ... oracle-virtual-box/
http://www.oracle-base.com/artic ... sing-virtualbox.php
http://koumm.blog.51cto.com/703525/1439760/
论坛徽章:
0
发表于 2018-2-10 22:59 | 显示全部楼层
顶顶,好帖竟然没人

使用道具 举报

回复
认证徽章
论坛徽章:
43
目光如炬
日期:2015-05-25 17:37:252017金鸡报晓
日期:2017-02-08 14:09:13弗兰奇
日期:2017-02-17 10:52:09妮可·罗宾
日期:2018-01-16 16:54:11ITPUB社区OCM联盟徽章
日期:2018-03-07 13:51:55秀才
日期:2018-04-08 14:48:31ITPUB18周年纪念章
日期:2018-09-17 10:09:49ITPUB18周年纪念章
日期:2018-11-13 15:31:24ITPUB元老
日期:2019-04-09 21:48:17山治
日期:2017-02-06 11:52:14
发表于 2018-2-11 10:16 | 显示全部楼层
ssh连接确实比10G进步了好多,省了自己在OS层面上进行配置
在节点之间建立ssh连接,这个比oracle10g rac简单多了,先输入oracle的操作系统密码,然后点击setup按钮就可以了。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 
京ICP备09055130号-4  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表