`

xen share disk to install oracle RAC

阅读更多

(1) 安装redhat as5
    把所有的编译包装上,但不配置dns,减少dns影响

以下(2),(3)步骤可以2选1

(2) 配置iscsitarget(iscsi服务器端)
    不要使用xen内核启动,xen内核编译会出错
    a. 编译安装iscsitarget
       make
       make install
    b. 添加服务自启动
       chkconfig --add iscsi-target
       chkconfig iscsi-target on
    c. 配置/etc/ietd.conf

(3) 因为使用 了xen内核,所以没使用iscsi-target
    在/var/lib/xen/images 添加share盘和share_1盘。修改/etc/xen/rac1在w后加上!号,表示可以共享
    disk = [ "tap:aio:/var/lib/xen/images/rac1.img,xvda,w", "tap:aio:/var/lib/xen/images/share.img,xvdb,w! ", "tap:aio:/var/lib/xen/images/share_1.img,xvdc,w! " ]
    如此修改/etc/xen/rac2,加盘share.img和share_1.img,修改配置文件
    disk = [ "tap:aio:/var/lib/xen/images/rac1.img,xvda,w", "tap:aio:/var/lib/xen/images/share.img,xvdb,w!", "tap:aio:/var/lib/xen/images/share_1.img,xvdc,w!" ]

(4) 两台机器的ip设置如下(虚拟两块网卡):
    192.168.1.13    rac1.example.com        rac1
    192.168.2.13    rac1-priv
    192.168.1.23    rac2.example.com        rac2
    192.168.2.23    rac2-priv
    下面两个是虚拟ip(不需要配置,安装oracle时候会配置上),都要写进/etc/hosts里
    192.168.1.14    rac1-vip
    192.168.1.24    rac2-vip
    
(5) 新建oracle用户
    groupadd -g 555 dba
    groupadd -g 556 oinstall
    useradd -u 900 -g oinstall -G dba -d /home/oracle oracle
    passwd oracle

(6) 配置ssh dsa方式无密码登录(rsa可以不用)
    用ssh先登录一下rac1和rac2,.ssh目录就会自己创建
    root的配置方式如下:
    在rac1上执行:
    cd /root/.ssh/
    touch authorized_keys
    ssh-keygen -t dsa
    cat id_dsa >> authorized_keys
    cat id_dsa.pub >> authorized_keys
    scp authorized_keys rac2:/root/.ssh/
    在rac2上执行:
    cd /root/.ssh/
    ssh-keygen -t dsa
    cat id_dsa >> authorized_keys
    cat id_dsa.pub >> authorized_keys
    scp authorized_keys rac1:/root/.ssh/
      
    oracle用户配置方式类似。
    能达到rac1无密码连接rac1和rac2,rac2无密码连接rac1和rac2就可以。

(7) 补装几个包,配置repo库安装也可:
    compat-db-4.2.52-5
    openmotif-2.3.0-0
    openmotif22-2.2.3-18
    libaio-devel-0.3.106-3.2
    sysstat-7.0.0-3.el5
    unixODBC-2.2.11-7.1
    unixODBC-devel-2.2.11-7.1

    总共需要安装的包如下(包的小版本可能有区别):
    binutils-2.17.50.0.6-2.el5
    compat-libstdc++-33-3.2.3-61
    elfutils-libelf-0.125-3.el5
    elfutils-libelf-devel-0.125
    gcc-4.1.1-52
    gcc-c++-4.1.1-52
    glibc-2.5-12
    glibc-common-2.5-12
    glibc-devel-2.5-12
    glibc-headers-2.5-12
    libaio-0.3.106
    libaio-devel-0.3.106
    libgcc-4.1.1-52
    libstdc++-4.1.1
    libstdc++-devel-4.1.1-52.e15
    make-3.81-1.1
    sysstat-7.0.0
    unixODBC-2.2.11
    unixODBC-devel-2.2.11
   
(8) 配置rsh,rlogin,rexec
    安装rsh-server-0.17-37
    让服务自动启动
    chkconfig rlogin on
    chkconfig rsh on
    chkconfig rexec on
    配置root无密码连接,需要修改三个地方:
    a. root新建/root/.rhosts文件
    rac1 root
    rac2 root
    rac1-priv root
    rac2-priv root
    b. 修改/etc/hosts.equiv文件
    rac1 root
    rac2 root
    rac1 oracle
    rac2 oracle
    rac1-priv root
    rac2-priv root
    rac1-priv oracle
    rac2-priv oracle
    c. 修改安全 配置/etc/securetty
    在最后加入三行
    rlogin
    rexec
    rsh

(9) 修改内核参数和系统配置
    a.修改内核参数(/etc/sysctl.conf)
      # modify for oracle
      kernel.sem = 250 32000 100 128
      fs.file-max = 65536
      net.ipv4.ip_local_port_range = 1024 65000
      net.core.rmem_default = 262144
      net.core.rmem_max = 262144
      net.core.wmem_default = 262144
      net.core.wmem_max = 262144

    b.设置使用文件数权限
      修改/etc/security/limits.conf
      oracle           soft    nproc           2047
      oracle           hard    nproc           16384
      oracle           soft    nofile          1024
      oracle           hard    nofile          65536
     
    c.配置pam,修改安全限制
      修改/etc/pam.d/login,添加以下两行
      # modify for oracle
      session    required     /lib/security/pam_limits.so
    
    d.在/etc/rc.local中配置Hangcheck计时器
      modprobe hangcheck-timer hangcheck-tick=30 hangcheck_margin=180

    e.修改oracle用户下的profile文件
      添加入.bash_profile
      ulimit -u 16384 -n 65536
      umask 022
   
(10) 安装jdk-1_5_0_14-linux-i586
     在oracle用户下添加环境变量
     # Java Path
     CV_JDKHOME=/usr/java/jdk1.5.0_14; export CV_JDKHOME

(11) 新建oracle home目录:
     /home/oracle/product/10.2.0

(12) 划分裸设备
     手工可以这样做,但重启后会不存在。
     raw /dev/raw/raw1 /dev/xvdb1  (OCR Location)
     raw /dev/raw/raw2 /dev/xvdb2  (Voting Disk Location)
     cd /dev/raw
     chown oracle:oinstall *


     我们配置到/etc/udev/rules.d/60-raw.rules
     添加如下几句,其他的也可以类推
     ACTION=="add", KERNEL=="xvdb1", RUN+="/bin/raw /dev/raw/raw1 %N"
     ACTION=="add", KERNEL=="xvdb2", RUN+="/bin/raw /dev/raw/raw2 %N"
     ACTION=="add", KERNEL=="raw*", WNER=="oracle", GROUP=="oinstall", MODE=="0664"


(13) 开始安装oracle cluster软件
     xhost +
     ./runInstaller -ignoresysprereqs
     # ORACLE
     ORACLE_BASE=/home/oracle; export ORACLE_BASE
     ORACLE_HOME=$ORACLE_BASE/product/10.2.0/crs; export ORACLE_HOME
     LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
     PATH=$ORACLE_HOME/bin:$PATH; export PATH

    在rac2(remote机器运行root.sh)是最容易出问题 的,问题有:
    1) /home/oracle/product/10.2.0/crs/jdk/jre//bin/java: error while loading shared libraries:  libpthread.so.0: cannot open shared object file: No such file or directory
   
    解决 方法 :
    a.修改$CRS_HOME/bin/vipca文件
    注释掉以下几行,注释后效果如下:
    arch=`uname -m`
    #if [ "$arch" = "i686" -o "$arch" = "ia64" ]
    #then
    #     LD_ASSUME_KERNEL=2.4.19
    #     export LD_ASSUME_KERNEL
    #fi
    #End workaround

    b.注释$CRS_HOME/bin/srvctl文件和$ORACLE_HOME/bin/srvctl文件
    注释掉以下几行,注释后效果如下:
    #Remove this workaround when the bug 3937317 is fixed
    #LD_ASSUME_KERNEL=2.4.19
    #export LD_ASSUME_KERNEL

    2) The given interface(s), "eth0" is not public. Public interfaces should be used to configure virtual IPs.
     解决方法:
     图形界面上运行$CRS_HOME/bin/vipca,手工重新配置rac1-vip和rac2-vip。
     su - oracle
     su root
     vipca

    3) Oracle CRS stack installed and running under init(1M)
        Running vipca(silent) for configuring nodeapps
        Error 0(Native: listNetInterfaces:[3])
       [Error 0(Native: listNetInterfaces:[3])]

    解决方法:
    重新运行sh root.sh
    step1: rm -rf /var/tmp/.oracle
    step2: cd /etc/oracle/scls_scr/rac2/oracle/
                rm -rf cssfatal
    step3: re-run sh root.sh
    step4: 如果还不成功的话,基本就是共享磁盘有问题。
   
    4) 最后的3个检查不成功
    不成功也没关系,其实它是运行     $CRS_HOME/cfgtoollogs/configToolAllCommands
    手工一步步执行,排除错误达到下面的效果就可以了。
    错误的命令也会记录在$CRS_HOME/cfgtoollogs/configToolFailedCommands
   
    [oracle@rac1 cfgtoollogs]$ crs_stat -t

    Name           Type           Target    State     Host       
    ------------------------------------------------------------
    ora.rac1.gsd   application    ONLINE    ONLINE    rac1       
    ora.rac1.ons   application    ONLINE    ONLINE    rac1       
    ora.rac1.vip   application    ONLINE    ONLINE    rac1       
    ora.rac2.gsd   application    ONLINE    ONLINE    rac2       
    ora.rac2.ons   application    ONLINE    ONLINE    rac2       
    ora.rac2.vip   application    ONLINE    ONLINE    rac2

    5) 自动:$ORA_CRS_HOME/install/rootdelete.sh
                     $ORA_CRS_HOME/install/rootdeinstall.sh
   手工:cluster安装过程中可能需要重新安装,如何彻底铲除cluster是一个关键
    a. 用图形界面删除cluster软件,这样清除得比较彻底
                  也可以删除$CRS_HOME下的所有文件,有时候需要两步都要做。

    b. cluster自启动修改
                 经常发现cluster是自己启动的,所以检查后发现在/etc/inittab最后有几行删除掉或注释掉。
       h1:35:respawn:/etc/init.d/init.evmd run >/dev/null 2>&1 </dev/null
       h2:35:respawn:/etc/init.d/init.cssd fatal >/dev/null 2>&1 </dev/null
       h3:35:respawn:/etc/init.d/init.crsd run >/dev/null 2>&1 </dev/null

    c. 还有几个自启动调用的服务
       /etc/init.d
       init.evmd, init.cssd, init.crsd, init.crs删除掉就可以了。
       /etc/rc2.d/K96init.crs
       /etc/rc3.d/S96init.crs
       /etc/rc5.d/S96init.crs

    d. 还需要删除/etc/oracle下的所有文件

    e. 还需要删除以下的文件
         rm -rf /var/tmp/.oracle

    f. 装了数据库软件 还需要删除/etc/oratab
   
(14) 安装完软件后,修改环境变量如下:
     # ORACLE
    ORACLE_BASE=/home/oracle; export ORACLE_BASE
    CRS_HOME=$ORACLE_BASE/product/10.2.0/crs; export CRS_HOME
    ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME
    LD_LIBRARY_PATH=$ORACLE_HOME/lib:$CRS_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
    PATH=$ORACLE_HOME/bin:$CRS_HOME/bin:$PATH; export PATH

(15) 安装数据库软件,基本不会有什么问题,我们可以关注最后root.sh修改的文件
        它主要是修改了/etc/oratab文件

(16)   划分裸设备
          手工可以这样做,但重启后会不存在。
         raw /dev/raw/raw1 /dev/xvdb1  (OCR Location)
         raw /dev/raw/raw2 /dev/xvdb2  (Voting Disk Location)

         cd /dev/raw
        chown oracle:oinstall *

        我们配置到/etc/udev/rules.d/60-raw.rules
        添加如下几句,其他的也可以类推

    ACTION=="add", KERNEL=="xvdb1", RUN+="/bin/raw /dev/raw/raw1 %N"
    ACTION=="add", KERNEL=="xvdb2", RUN+="/bin/raw /dev/raw/raw2 %N"
    ACTION=="add", KERNEL=="xvdb3", RUN+="/bin/raw /dev/raw/raw3 %N"
    ACTION=="add", KERNEL=="xvdb5", RUN+="/bin/raw /dev/raw/raw4 %N"
    ACTION=="add", KERNEL=="xvdb6", RUN+="/bin/raw /dev/raw/raw5 %N"
    ACTION=="add", KERNEL=="xvdb7", RUN+="/bin/raw /dev/raw/raw6 %N"
    ACTION=="add", KERNEL=="xvdb8", RUN+="/bin/raw /dev/raw/raw7 %N"
    ACTION=="add", KERNEL=="xvdb9", RUN+="/bin/raw /dev/raw/raw8 %N"
    ACTION=="add", KERNEL=="xvdb10", RUN+="/bin/raw /dev/raw/raw9 %N"
    ACTION=="add", KERNEL=="xvdb11", RUN+="/bin/raw /dev/raw/raw10 %N"
    ACTION=="add", KERNEL=="xvdb12", RUN+="/bin/raw /dev/raw/raw11 %N"
    ACTION=="add", KERNEL=="xvdc1", RUN+="/bin/raw /dev/raw/raw12 %N"
    ACTION=="add", KERNEL=="xvdc2", RUN+="/bin/raw /dev/raw/raw13 %N"
    ACTION=="add", KERNEL=="xvdc3", RUN+="/bin/raw /dev/raw/raw14 %N"
    ACTION=="add", KERNEL=="xvdc5", RUN+="/bin/raw /dev/raw/raw15 %N"
    ACTION=="add", KERNEL=="xvdc6", RUN+="/bin/raw /dev/raw/raw16 %N"
    ACTION=="add", KERNEL=="raw*", WNER=="oracle", GROUP=="oinstall", MODE=="0664"

(17)  升级到10.2.0.3 (p5337014_10203_Linux-x86.zip)
图形界面安装完后
crs
(1) crsctl stop crs
(2) $CRS_HOME/install/root102.sh
db
(1) $ORACLE_HOME/root.sh

(18) 安装数据库
    用oracle用户
    运行netca

如果忘记配置,dbca后,在建库的过程中会要求你配置
此时配置需要注意几点:
step1. 配置过程中会出现listener起不来的情况,先完成配置后,手工oracle用户lsnrctl start,
       然后在root用户下crsctl stop crs,再crsctl start crs
step2. 把文件从rac1拷贝到rac2
       scp listener.ora.rac* tnsnames.ora  rac2:/home/oracle/product/10.2.0/db_1/network/admin/

分享到:
评论

相关推荐

    虚拟机ESXi + SuSELinux11 + Oracle10g RAC 安装 ORACLE10g RAC FOR SUSE LINUX

    在 Oracle 10g RAC 中,通常用于存储 Oracle Cluster Registry (OCR) 和 Voting Disk。 - **OCR (Oracle Cluster Register)**: OCR 是一个存储在共享磁盘上的二进制文件,包含了集群配置信息以及集群服务的状态信息...

    各个版本centos5.x安装oracle RAC时必备软件包1

    文件列表中的多个rpm包(如`oracleasm-2.6.18-*.el5xen-2.0.5-1.el5.ia64.rpm`)代表了针对不同内核版本的Oracle ASM驱动程序。由于CentOS 5.x使用的是2.6.18内核系列,每个rpm包对应不同的内核补丁级别,确保了与...

    构建最高可用Oracle数据库系统 Oracle 11gR2 RAC管理、维护与性能优化

    第1章 认识Oracle RAC 1.1 RAC产生的背景 1.2 RAC体系结构 1.2.1整体结构 1.2.2物理层次结构 1.2.3逻辑层次结构 1.3 RAC的特点 1.3.1双机并行 1.3.2高可用性 1.3.3易伸缩性 1.3.4低成本 1.3.5高吞吐量 ...

    radhat el5 安装oracle rac需要用到的包kernel-xen-2.6.18-53.el5.i686.rpm

    radhat el5 安装oracle rac需要用到的包kernel-xen-2.6.18-53.el5.i686.rpm

    CentOS5.5+Oracle10g安装配置RAC

    ### CentOS5.5 + Oracle10g 安装配置 RAC #### 第一章 概述 ##### 1.1 硬件 在搭建Oracle RAC (Real Application Clusters)环境中,硬件的选择至关重要。RAC环境至少需要两台服务器(节点),并且这些节点之间需要...

    手把手教你用VMware在linux下安装oracle10g RAC

    ### 手把手教你用VMware在Linux下安装Oracle 10g RAC #### 一、概述 在本文中,我们将详细介绍如何使用VMware在Linux环境下安装Oracle 10g RAC(Real Application Clusters)。Oracle 10g RAC是一种数据库集群技术...

    Oracle_RAC leveraging_OVM

    Oracle VM是一款基于开源Xen Hypervisor的虚拟化软件,旨在为Oracle应用和其他企业级应用提供全面的虚拟化支持。它通过创建多个虚拟机(VMs),使用户能够在单一物理服务器上运行多个操作系统实例,从而提高资源利用...

    linux5-X86-Oracle-Rac-rpm包

    标题中的“Linux5-X86-Oracle-Rac-rpm包”揭示了这是一组针对Linux 5(可能是RHEL 5或CentOS 5)X86架构的Oracle Real Application Clusters (RAC)的RPM安装包。RAC是Oracle数据库的一个特性,允许在多台服务器上...

    Oracle 10g RAC安装图解

    ### Oracle 10g RAC 安装指南 #### 一、引言 在搭建 Oracle 10g RAC(Real Application Clusters)环境中,详细的过程尤为重要。Oracle RAC 是一种集群技术,允许多个 Oracle 数据库实例同时访问同一个数据库,...

    linux 下做oracle 10G RAC需要的包

    2. `oracleasm-2.6.18-53.el5-2.0.4-1.el5.i686.rpm` 和 `oracleasm-2.6.18-53.el5xen-2.0.4-1.el5.i686.rpm`:这是Oracle Automatic Storage Management (ASM)驱动程序,用于管理Oracle数据库的存储。ASM允许自动...

    Vmware+Linux+Oracle 10G RAC补丁1下载

    雷宇《Vmware+Linux+Oracle 10G RAC全程详细图解》补丁 君三思的《手把手教你用VMware安装Oracle10g RAC 》补丁 补丁列表 compat-binutils215-2.15.92.0.2-24.i386 compat-libcwait-2.1-1.i386 compat-libstdc++-...

    oracle+RAC+enterprise linux5.1所需的補丁含安裝順序

    oracle+RAC+enterprise linux5.1所需的補丁含安裝順序 共19個RPM文件 rpm包如下: compat-binutils215-2.15.92.0.2-24.i386.rpm compat-libcwait-2.1-1.i386.rpm compat-libstdc++-egcs-1.1.2-1.i386.rpm ...

    xen-disk:用于将虚拟磁盘附加到 xen 虚拟机的命令行工具

    xen-disk 工具允许将虚拟磁盘动态连接到正在运行的 xen 虚拟机。 该工具旨在测试新的块协议扩展、磁盘格式等。 虚拟磁盘由一个 OCaml 模块表示,该模块实现了一个包含“读块”、“写块”操作的简单签名。 有几个...

    在redhat5上搭建Oracle10grac 需要的rpm包

    2.0.5-1.el5.i686.rmp,oracleasm-2.6.18-164.el5PAE-2.0.5-1.el5.i686.rpm,oracleasm-2.6.18-164.el5xen-2.0.5-1.el5.i686.rpm,oracleasmlib-2.0.4-1.el5.i386.rpm,oracleasm-support-2.1.8-1.el5.i386.rpm,xorg-x11...

    手把手教你用VMware在linux下安装Oracle10gRAC

    根据给定文件的信息,我们可以总结出以下关于使用VMware在Linux环境下安装Oracle 10g RAC的关键知识点: ### 1. 准备工作 #### 工具与资源准备 - **VMware Server**:免费下载,需要申请注册码。地址为:...

    在Oracle VM 虚拟机上安装Oracle Clusterware 11g

    同时,创建一个用于安装Oracle软件的用户和用户组,如oraclerac,并配置SSH和RSH协议以实现节点间的无密码登录。 接下来,设置NFS服务,以便共享Oracle Clusterware和数据库相关的目录。创建安装目录,比如ORACLE_...

    使用yum安装Xen

    在Linux系统中,Xen是一种流行的开源虚拟化技术,它允许在一个物理服务器...- `virt-install --name=test1 --memory=512 --vcpus=1 --disk path=/opt/xen/test1/disk.img,size=10 --network bridge=xenbr0 --location='...

    ubuntu10.04安装xen虚拟机

    # make install-xen # make install-tools # PYTHON_PREFIX_ARG= # make install-stubdom ``` 配置 Xen 安装 Xen 之后,我们需要配置 Xen。首先,我们需要将 Xen 加入启动项: ``` # sudo update-rc.d xend ...

Global site tag (gtag.js) - Google Analytics