Chinaunix首页 | 论坛 | 博客
  • 博客访问: 266996
  • 博文数量: 36
  • 博客积分: 2000
  • 博客等级: 大尉
  • 技术积分: 830
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-05 11:57
文章分类

全部博文(36)

文章存档

2009年(1)

2008年(35)

我的朋友

分类: Oracle

2008-06-19 15:57:48

(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        h2:35:respawn:/etc/init.d/init.cssd fatal >/dev/null 2>&1        h3:35:respawn:/etc/init.d/init.crsd run >/dev/null 2>&1
    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/
阅读(2141) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2008-06-24 19:57:36

写的不错,就是缺少图片说明