zoukankan      html  css  js  c++  java
  • Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作

    环境:OEL 5.7 + Oracle 10.2.0.5 RAC

    1.实施前准备工作

    2.主机配置

    Linux平台 Oracle 10gR2 RAC安装指导:
    Part1:Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作
    Part2:Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part2:clusterware安装和升级
    Part3:Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级

    1.实施前准备工作

    1.1 服务器安装操作系统

    配置完全相同的两台服务器,安装相同版本的Linux操作系统。留存系统光盘或者镜像文件。 我这里是OEL5.7,系统目录大小均一致。对应OEL5.7的系统镜像文件放在服务器上,供后面配置本地yum使用。

    1.2 Oracle安装介质

    Oracle 10.2.0.1版本的clusterware和db,以及10.2.0.5的升级包。
    -rwxr-xr-x 1 root root 302M 12月 24 13:07 10201_clusterware_linux_x86_64.cpio.gz
    -rwxr-xr-x 1 root root 724M 12月 24 13:08 10201_database_linux_x86_64.cpio.gz
    -rwxr-xr-x 1 root root 1.2G 12月 24 13:10 p8202632_10205_Linux-x86-64.zip
    

    这个用MOS账号自己去support.oracle.com下载,然后只需要上传到节点1即可。

    1.3 共享存储规划

    从存储中划分出两台主机可以同时看到的共享LUN。 我这里自己的实验环境是使用openfiler模拟出共享LUN: 5个100M大小LUN;用于OCR,votedisk; 3个10G大小LUN;用于DATA; 2个5G大小LUN;用于FRA。

    openfiler使用可参考:Openfiler配置RAC共享存储

    1.4 网络规划分配

    公有网络 以及 私有网络。 公有网络:物理网卡eth0(public IP,VIP),需要4个IP地址。 私有网络:物理网卡eth1(private IP),需要2个内部IP地址。

    实际生产环境一般服务器都至少有4块网卡。建议是两两bonding后分别作为公有网络和私有网络。

    2.主机配置

    2.1 使用yum安装oracle-validated包来简化主机配置的部分工作

    由于系统环境是OEL5.7,可以简化依赖包安装、内核参数调整,用户和组创建等工作,可参考:[OEL上使用yum install oracle-validated 简化主机配置工作](http://www.cnblogs.com/jyzhao/p/6235359.html)

    2.2 共享存储配置:

    我这里openfiler所在主机的IP地址为192.168.1.12。归划的10块LUN全部映射到iqn.2006-01.com.openfiler:rac10g上。
    [root@oradb28 ~]# iscsiadm -m discovery -t sendtargets -p 192.168.1.12
    192.168.1.12:3260,1 iqn.2006-01.com.openfiler:rac10g
    
    #手工登录iscsi目标
    iscsiadm -m node -T iqn.2006-01.com.openfiler:rac10g -p 192.168.1.12 -l
    
    #配置自动登录
    iscsiadm -m node -T iqn.2006-01.com.openfiler:rac10g -p 192.168.1.12 --op update -n node.startup -v automatic
    
    #重启iscsi服务
    service iscsi stop
    service iscsi start
    

    注意:安装10g RAC,要确保共享设备上划分的LUN要在所有节点上被识别为相同设备名称。

    [root@oradb27 ~]# ls -lh /dev/sd*
    brw-r----- 1 root disk 8,   0 Jan  2 22:40 /dev/sda
    brw-r----- 1 root disk 8,  16 Jan  2 22:40 /dev/sdb
    brw-r----- 1 root disk 8,  32 Jan  2 22:40 /dev/sdc
    brw-r----- 1 root disk 8,  48 Jan  2 22:40 /dev/sdd
    brw-r----- 1 root disk 8,  64 Jan  2 22:40 /dev/sde
    brw-r----- 1 root disk 8,  80 Jan  2 22:40 /dev/sdf
    brw-r----- 1 root disk 8,  96 Jan  2 22:40 /dev/sdg
    brw-r----- 1 root disk 8, 112 Jan  2 22:40 /dev/sdh
    brw-r----- 1 root disk 8, 128 Jan  2 22:40 /dev/sdi
    brw-r----- 1 root disk 8, 144 Jan  2 22:40 /dev/sdj
    
    [root@oradb28 ~]# ls -lh /dev/sd*
    brw-r----- 1 root disk 8,   0 Jan  2 22:41 /dev/sda
    brw-r----- 1 root disk 8,  16 Jan  2 22:41 /dev/sdb
    brw-r----- 1 root disk 8,  32 Jan  2 22:41 /dev/sdc
    brw-r----- 1 root disk 8,  48 Jan  2 22:41 /dev/sdd
    brw-r----- 1 root disk 8,  64 Jan  2 22:41 /dev/sde
    brw-r----- 1 root disk 8,  80 Jan  2 22:41 /dev/sdf
    brw-r----- 1 root disk 8,  96 Jan  2 22:41 /dev/sdg
    brw-r----- 1 root disk 8, 112 Jan  2 22:41 /dev/sdh
    brw-r----- 1 root disk 8, 128 Jan  2 22:41 /dev/sdi
    brw-r----- 1 root disk 8, 144 Jan  2 22:41 /dev/sdj
    

    其中sda,sdb,sdc,sdd,sde是100M大小的LUN,我们分别将这5个LUN各分成一个区(我实验中发现如果不分区直接绑成裸设备,在安装clusterware后执行root.sh时会报错:“Failed to upgrade Oracle Cluster Registry configuration”,分区后绑定分区成裸设备,发现可以正常执行通过)

    [root@oradb27 ~]# ls -lh /dev/sd*
    brw-r----- 1 root disk 8,  0 Jan  3 09:36 /dev/sda
    brw-r----- 1 root disk 8,  1 Jan  3 09:36 /dev/sda1
    brw-r----- 1 root disk 8, 16 Jan  3 09:36 /dev/sdb
    brw-r----- 1 root disk 8, 17 Jan  3 09:36 /dev/sdb1
    brw-r----- 1 root disk 8, 32 Jan  3 09:36 /dev/sdc
    brw-r----- 1 root disk 8, 33 Jan  3 09:36 /dev/sdc1
    brw-r----- 1 root disk 8, 48 Jan  3 09:36 /dev/sdd
    brw-r----- 1 root disk 8, 49 Jan  3 09:36 /dev/sdd1
    brw-r----- 1 root disk 8, 64 Jan  3 09:36 /dev/sde
    brw-r----- 1 root disk 8, 65 Jan  3 09:36 /dev/sde1
    
    [root@oradb28 crshome_1]# ls -lh /dev/sd*
    brw-r----- 1 root disk 8,  0 Jan  3 09:36 /dev/sda
    brw-r----- 1 root disk 8,  1 Jan  3 09:36 /dev/sda1
    brw-r----- 1 root disk 8, 16 Jan  3 09:36 /dev/sdb
    brw-r----- 1 root disk 8, 17 Jan  3 09:36 /dev/sdb1
    brw-r----- 1 root disk 8, 32 Jan  3 09:36 /dev/sdc
    brw-r----- 1 root disk 8, 33 Jan  3 09:36 /dev/sdc1
    brw-r----- 1 root disk 8, 48 Jan  3 09:36 /dev/sdd
    brw-r----- 1 root disk 8, 49 Jan  3 09:36 /dev/sdd1
    brw-r----- 1 root disk 8, 64 Jan  3 09:36 /dev/sde
    brw-r----- 1 root disk 8, 65 Jan  3 09:36 /dev/sde1
    

    1)使用udev 绑定raw devices ,供ocr和voting disk使用

    编辑配置文件并追加以下内容:

    # vi /etc/udev/rules.d/60-raw.rules
    ACTION=="add", KERNEL=="sda1", RUN+="/bin/raw /dev/raw/raw1 %N"
    ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw2 %N"
    ACTION=="add", KERNEL=="sdc1", RUN+="/bin/raw /dev/raw/raw3 %N"
    ACTION=="add", KERNEL=="sdd1", RUN+="/bin/raw /dev/raw/raw4 %N"
    ACTION=="add", KERNEL=="sde1", RUN+="/bin/raw /dev/raw/raw5 %N"
    ACTION=="add", KERNEL=="raw*", OWNER=="oracle", GROUP=="oinstall", MODE=="0660"
    

    启动start_udev:

    [root@oradb27 rules.d]# start_udev
    Starting udev:                                             [  OK  ]
    [root@oradb27 rules.d]# ls -l /dev/raw*
    crw-rw---- 1 oracle oinstall 162, 0 Jan  2 22:37 /dev/rawctl
    
    /dev/raw:
    total 0
    crw-rw---- 1 oracle oinstall 162, 1 Jan  2 23:11 raw1
    crw-rw---- 1 oracle oinstall 162, 2 Jan  2 23:11 raw2
    crw-rw---- 1 oracle oinstall 162, 3 Jan  2 23:11 raw3
    crw-rw---- 1 oracle oinstall 162, 4 Jan  2 23:11 raw4
    crw-rw---- 1 oracle oinstall 162, 5 Jan  2 23:11 raw5
    [root@oradb27 rules.d]# 
    

    配置文件60-raw.rules传到节点2:

    [root@oradb27 rules.d]# scp /etc/udev/rules.d/60-raw.rules oradb28:/etc/udev/rules.d/
    

    在节点2启动start_udev。

    注意:如果安装中发现raw曾被使用过,可能需要dd清除头部信息;

    dd if=/dev/zero of=/dev/raw/raw1 bs=1048576 count=10
    dd if=/dev/zero of=/dev/raw/raw2 bs=1048576 count=10
    dd if=/dev/zero of=/dev/raw/raw3 bs=1048576 count=10
    dd if=/dev/zero of=/dev/raw/raw4 bs=1048576 count=10
    dd if=/dev/zero of=/dev/raw/raw5 bs=1048576 count=10
    

    2)使用udev 绑定asm devices,供data磁盘组和fra磁盘组使用

    for i in f g h i j;
    do
    echo "KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="`scsi_id -g -u -s /block/sd$i`", NAME="asm-disk$i", OWNER="oracle", GROUP="oinstall", MODE="0660""
    done
    

    操作过程如下:

    [root@oradb27 rules.d]# for i in f g h i j;
    > do
    > echo "KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="`scsi_id -g -u -s /block/sd$i`", NAME="asm-disk$i", OWNER="oracle", GROUP="oinstall", MODE="0660""
    > done
    KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="14f504e46494c455279366c36366a2d5a4243752d58394a33", NAME="asm-diskf", OWNER="oracle", GROUP="oinstall", MODE="0660"
    KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="14f504e46494c45525453586652542d67786f682d594c4a66", NAME="asm-diskg", OWNER="oracle", GROUP="oinstall", MODE="0660"
    KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="14f504e46494c455232586c3151572d62504e412d3343547a", NAME="asm-diskh", OWNER="oracle", GROUP="oinstall", MODE="0660"
    KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="14f504e46494c45527061334151682d4666656d2d5a6a4c67", NAME="asm-diski", OWNER="oracle", GROUP="oinstall", MODE="0660"
    KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id -g -u -s %p", RESULT=="14f504e46494c4552495649757a352d675251532d47744353", NAME="asm-diskj", OWNER="oracle", GROUP="oinstall", MODE="0660"
    [root@oradb27 rules.d]# 
    
    vi 
    [root@oradb27 rules.d]# vi 99-oracle-asmdevices.rules
    
    [root@oradb27 rules.d]# start_udev
    Starting udev:                                             [  OK  ]
    [root@oradb27 rules.d]# ls -lh /dev/asm*
    brw-rw---- 1 oracle oinstall 8,  80 Jan  2 23:18 /dev/asm-diskf
    brw-rw---- 1 oracle oinstall 8,  96 Jan  2 23:18 /dev/asm-diskg
    brw-rw---- 1 oracle oinstall 8, 112 Jan  2 23:18 /dev/asm-diskh
    brw-rw---- 1 oracle oinstall 8, 128 Jan  2 23:18 /dev/asm-diski
    brw-rw---- 1 oracle oinstall 8, 144 Jan  2 23:18 /dev/asm-diskj
    
    #拷贝配置文件99-oracle-asmdevices.rules到节点2,启动start_udev
    [root@oradb27 rules.d]# scp 99-oracle-asmdevices.rules oradb28:/etc/udev/rules.d/99-oracle-asmdevices.rules
    
    [root@oradb28 ~]# start_udev
    Starting udev:                                             [  OK  ]
    [root@oradb28 ~]# ls -l /dev/asm*
    brw-rw---- 1 oracle oinstall 8,  80 Jan  2 23:20 /dev/asm-diskf
    brw-rw---- 1 oracle oinstall 8,  96 Jan  2 23:20 /dev/asm-diskg
    brw-rw---- 1 oracle oinstall 8, 112 Jan  2 23:20 /dev/asm-diskh
    brw-rw---- 1 oracle oinstall 8, 128 Jan  2 23:20 /dev/asm-diski
    brw-rw---- 1 oracle oinstall 8, 144 Jan  2 23:20 /dev/asm-diskj
    

    2.3 配置/etc/hosts

    按照规划配置节点1的/etc/hosts内容
    #public ip
    192.168.1.27  oradb27
    192.168.1.28  oradb28
    #private ip
    10.10.10.27   oradb27-priv
    10.10.10.28   oradb28-priv
    #virtual ip
    192.168.1.57  oradb27-vip
    192.168.1.58  oradb28-vip
    

    然后scp拷贝/etc/hosts配置文件到节点2:

    scp /etc/hosts oradb28:/etc/
    

    2.4 配置Oracle用户等价性

    #所有节点执行:
    ssh-keygen -q -t rsa  -N "" -f  ~/.ssh/id_rsa
    
    #节点1执行:
    ssh 192.168.1.27 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    ssh 192.168.1.28 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    
    chmod 600 ~/.ssh/authorized_keys
    
    scp ~/.ssh/authorized_keys  192.168.1.28:~/.ssh/
    
    #所有节点执行验证ssh等价性:
    ssh 192.168.1.27 date;ssh 192.168.1.28 date;
    ssh oradb27 date;ssh oradb28 date;
    ssh oradb27-priv date;ssh oradb28-priv date;
    

    对配置用户ssh互信步骤如有疑问可以参考:记录一则Linux SSH的互信配置过程

    2.5 创建软件目录

    mkdir -p /u01/app/oracle/product/10.2.0.5/dbhome_1
    mkdir -p /u01/app/oracle/product/10.2.0.5/crshome_1
    chown -R oracle:oinstall /u01/app
    

    2.6 配置用户环境变量

    节点1: vi /home/oracle/.bash_profile
    export ORACLE_BASE=/u01/app/oracle
    export ORACLE_HOME=/u01/app/oracle/product/10.2.0.5/dbhome_1
    export ORA_CRS_HOME=/u01/app/oracle/product/10.2.0.5/crshome_1
    export ORACLE_SID=jyrac1
    export NLS_LANG=AMERICAN_AMERICA.US7ASCII
    export PATH=$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:$PATH
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib
    alias sql="sqlplus "/as sysdba""
    

    节点2:vi /home/oracle/.bash_profile

    export ORACLE_BASE=/u01/app/oracle
    export ORACLE_HOME=/u01/app/oracle/product/10.2.0.5/dbhome_1
    export ORA_CRS_HOME=/u01/app/oracle/product/10.2.0.5/crshome_1
    export ORACLE_SID=jyrac2
    export NLS_LANG=AMERICAN_AMERICA.US7ASCII
    export PATH=$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:$PATH
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib
    alias sql="sqlplus "/as sysdba""
    

    2.7 关闭各节点主机防火墙和SELinux

    各节点检查、关闭防火墙和SE Linux:
    service iptables status
    service iptables stop
    chkconfig iptables off
    
    getenforce
    setenforce 0
    vi /etc/selinux/config
     修改:Enforcing -> disabled
    

    2.8 各节点系统时间校对

    service ntpd stop
    date 
    #如果时间有问题,就按下面的语法进行设定
    date 072310472015 //设定日期为2015-07-23 10:47:00
    hwclock -w
    hwclock -r
    

    至此,主机配置的相关准备工作已经完成。

  • 相关阅读:
    spawn-fcgi
    JSP EL表达式
    关于订阅号和自定义菜单的关系问题
    微信公众平台开发(74) 用户分组管理
    微信公众平台开发(73) 客服接口发送客服消息
    用数据分析寻找下一位苍井空
    微商城
    微信支付体验
    微信公众平台开发(72)第三方接口
    微信公众平台开发(71)OAuth2.0网页授权
  • 原文地址:https://www.cnblogs.com/jyzhao/p/6233686.html
Copyright © 2011-2022 走看看