使用多路径在Oracle Linux 6.5上搭建Oracle RAC 11.2.0.4

1. 目的

详细描述使用多路径搭建两个节点的Oracle RAC集群的方法。

2. 适用范围

数据库管理员和系统管理员。

3. 环境规划

3.1 硬件环境

在此环境中,使用了3台服务器。服务器的配置如表1所示:

服务器CPU内存硬盘
racdb1.dhc.com4核4G100G
racdb2.dhc.com4核4G100G
storages.dhc.com4核2G100G

表1 RAC安装硬件环境

3.2 软件环境

此环境使用的软件及其版本如表2所示:

软件类型软件名称版本
操作系统Red Hat Enterprise Linux6.4
存储系统scsi-target-utils0.4.9
数据库Oracle Database, Oracle Infrastructure11.2.0.4

表2 RAC安装软件环境

3.3 网络环境

此环境使用的网络IP如表3所示:

racdb1.dhc.comracdb2.dhc.com
公共网络10.128.20.10110.128.20.102
专用网络192.168.1.101192.168.1.102
存储网络192.168.136.101192.168.136.102
网关10.128.20.10310.128.20.103
DNS10.128.20.10310.128.20.103
SCAN IP10.128.20.11010.128.20.110
SCAN IP10.128.20.11110.128.20.111
SCAN IP10.128.20.11210.128.20.112

表3 RAC安装网络环境

3.4 存储规划

存储服务器这里使用多种存储,这里使用的是scsi-target-utils来搭建一个简单存储。存储的规划可以参考表4。

卷名称磁盘組大小
data1DATA10G
data2DATA10G
data3DATA10G
data4DATA10G
fra1FRA10G
fra2FRA10G
quorum1QUORUM1G
quorum2QUORUM1G
quorum3QUORUM1G

表4 RAC安装存储规划

4. 搭建数据库服务器

为每台数据库服务器配置最少三个网卡。将操作系统的安装盘放到服务器的光驱里,然后启动服务器,根据环境规划来安装操作系统。
操作系统安装完成,需要配置YUM源。
新建/var/yum目录,存储安装文件

# mkdir /var/yum

将系统安装盘中的文件复制到/var/yum中
编辑/etc/yum.repos.d/rhel.repo,加入下面的内容

[base]
name=local source
baseurl=file:///var/yum
enable=1

导入yum安装密钥

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

搭建好YUN源之后,我们就可以用YUM来安装所需要的软件。
关闭selinux
修改/etc/selinux/config文件,将SELINUX设置为disabled

SELINUX=disabled

关闭防火墙

service iptables stop
chkconfig iptables off

5. 配置共享存储

参照存储的使用手册,在存储服务器上根据存储的规划,划分出9个盘。使用网线或者是光纤卡,将存储和数据库服务器连接起来。

6. 配置数据库服务器

在安装ORACLE RAC之前,需要对数据库服务器做一些配置。下面的配置需要在两台数据库服务器上面分别进行操作。

6.1 安装软件包

安装Oracle RAC需要安装一些额外的软件包,下面列出了必须的RPM包。

binutils-2.20.51.0.2-5.11.el6 (x86_64)
compat-libcap1-1.10-1 (x86_64)
compat-libstdc++-33-3.2.3-69.el6 (x86_64)
compat-libstdc++-33-3.2.3-69.el6.i686
gcc-4.4.4-13.el6 (x86_64)
gcc-c++-4.4.4-13.el6 (x86_64)
glibc-2.12-1.7.el6 (i686)
glibc-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6.i686
ksh
libgcc-4.4.4-13.el6 (i686)
libgcc-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6.i686
libstdc++-devel-4.4.4-13.el6 (x86_64)
libstdc++-devel-4.4.4-13.el6.i686
libaio-0.3.107-10.el6 (x86_64)
libaio-0.3.107-10.el6.i686
libaio-devel-0.3.107-10.el6 (x86_64)
libaio-devel-0.3.107-10.el6.i686
make-3.81-19.el6
sysstat-9.0.4-11.el6 (x86_64)

通过一下的命令来检测上面列出的包是否安装成功

rpm -q binutils  elfutils compat-libstdc++-33 gcc glibc libaio libgcc libstdc++ \
make sysstat unixODBC compat-libcap1 elfutils-libelf-devel glibc-devel ksh libaio-devel sysstat gcc-c++

如果上面的包没有安装,可以用yum来进行安装。

yum install libaio-devel

6.2 配置hosts文件
编辑/etc/hosts文件,加入以下内容。

10.128.20.101 racdb1.dhc.com racdb1
10.128.20.102 racdb2.dhc.com racdb2
192.168.1.101 racdb1-priv.dhc.com racdb1-priv
192.168.1.102 racdb2-priv.dhc.com racdb2-priv
10.128.20.201 racdb1-vip.dhc.com racdb1-vip
10.128.20.202 racdb2-vip.dhc.com racdb2-vip
192.168.136.103 storage1.dhc.com storage1

6.3 配置域名解析服务

本环境配置DNS来解析SCAN名字。在DNS服务器里加入dhc.com域和10.128.20.0网段的反向解析域即可。

/etc/named.conf

zone "dhc.com" IN {
        type master;
        file "/var/named/dhc.com.zone";
};

zone "20.128.10.in-addr.arpa" IN {
        type master;
        file "/var/named/20.128.10.in-addr.arpa.zone";
};

/var/named/dhc.com.zone

$TTL 1D
@     IN SOA      @ rname.invalid. (
                                              0       ; serial
                                              1D    ; refresh
                                              1H    ; retry
                                              1W   ; expire
                                              3H )  ; minimum
        NS    @
        A       127.0.0.1
        AAAA        ::1
racdb-cluster-scan A 10.128.20.110
racdb-cluster-scan A 10.128.20.111
racdb-cluster-scan A 10.128.20.112

/var/named/20.128.10.in-addr.arpa.zone

$TTL 1D
@     IN SOA      @ rname.invalid. (
                                              0       ; serial
                                              1D    ; refresh
                                              1H    ; retry
                                              1W   ; expire
                                              3H )  ; minimum
        NS    @
        A       127.0.0.1
        AAAA        ::1
110 PTR racdb-cluster-scan.dhc.com.
111 PTR racdb-cluster-scan.dhc.com.
112 PTR racdb-cluster-scan.dhc.com.
103 PTR storage1.dhc.com.

将数据库服务器的DNS配置成该服务器的地址,在数据库服务器上做测试。

[root@racdb1 ~]# host racdb-cluster-scan.dhc.com
racdb-cluster-scan.dhc.com has address 10.128.20.111
racdb-cluster-scan.dhc.com has address 10.128.20.112
racdb-cluster-scan.dhc.com has address 10.128.20.110

6.4 内核参数调整

由于现在oracle新版本提供一个script来修改内核参数,这一步现在可以省略。

6.5 创建用户

用root用户执行下面的命令,添加以下用户组

groupadd -g 1000 oinstall
groupadd -g 1200 asmadmin
groupadd -g 1201 asmdba
groupadd -g 1202 asmoper
groupadd -g 1300 dba
groupadd -g 1301 oper

用root用户添加grid和oracle用户

useradd -m -u 1100 -g oinstall -G asmadmin,asmdba,asmoper -d /home/grid -s /bin/bash grid
useradd -m -u 1101 -g oinstall -G dba,oper,asmdba -g /home/oracle -s /bin/bash oracle

修改grid和oracle用户的密码。

[root@racdb1 ~]# passwd grid
更改用户 grid 的密码 。
新的 密码:
无效的密码: 它基于字典单词
无效的密码: 过于简单
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。

6.6 配置登录安全验证选项

编辑/etc/security/limits.conf,加入以下内容。

grid soft nproc 2047
grid hard nproc 16384
grid soft nofile 1024
grid hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

编辑/etc/pam.d/login,加入以下内容

session required pam_limits.so

6.7 创建挂载点
用root用户执行下面的命令创建挂载点

mkdir -p /u01/app/11.2.0.4/grid
mkdir -p /u01/app/grid
chown -R grid:oinstall /u01
mkdir -p /u01/app/oracle/product/11.2.0.4/dbhome_1
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01

6.8 配置用户的环境变量

  1. 配置grid用户的环境变量
    切换到grid用户,编辑.bash_profile文件,加入以下内容
export ORACLE_SID=+ASM1    
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0.4/grid
export PATH=$ORACLE_HOME/bin:$PATH:/usr/local/bin
export TEMP=/tmp
export TMP=/tmp
export TMPDIR=/tmp
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
export NLS_DATE_FORMAT="YYYY-MM-DD"
umask 022

注意在另外一个节点ORACLE_SID要改为+ASM2。
2. 配置oracle的环境变量
切换到oracle用户,编辑.bash_profile文件,加入以下内容

export ORACLE_SID=PROD_1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0.4/dbhome_1
export ORACLE_TERM=xterm
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
export PATH=$ORACLE_HOME/bin:$PATH:/usr/bin:/bin:usr/bin/X11:/usr/local/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export TEMP=/tmp
export TMPDIR=/tmp
umask 022

注意在另外一个节点ORACLE_SID为PROD_2
为了使新的环境变量生效,重启服务器或者执行下面的命令:

. .bash_profile

编辑/etc/profile,加入以下内容

if [ $USER = "oracle" ] || [ $USER = "grid" ] ; then
    if [ $SHELL = "/bin/ksh" ] ; then 
        ulimit -p 16384
        ulimit -n 65536
     else
        ulimit -u 16384 -n 65536
    fi
    umask 022
fi

6.9 配置共享存储

安装iscsi和多路径包

yum install iscsi-initiator-utils device-mapper-multipath

配置iscsi和多路径自动启动

chkconfig iscsi on
chkconfig iscsid on
chkconfig multipathd on

发现target

[root@racdb1 ~]# iscsiadm --mode discoverydb --type sendtargets --portal 192.168.136.103 --discover
192.168.136.103:3260,1 iqn.2014-09.com.dhc.storage1:data1
192.168.136.103:3260,1 iqn.2014-09.com.dhc.storage1:data2
192.168.136.103:3260,1 iqn.2014-09.com.dhc.storage1:data3
192.168.136.103:3260,1 iqn.2014-09.com.dhc.storage1:data4
192.168.136.103:3260,1 iqn.2014-09.com.dhc.storage1:fra1
192.168.136.103:3260,1 iqn.2014-09.com.dhc.storage1:fra2
192.168.136.103:3260,1 iqn.2014-09.com.dhc.storage1:quorum1
192.168.136.103:3260,1 iqn.2014-09.com.dhc.storage1:quorum2
192.168.136.103:3260,1 iqn.2014-09.com.dhc.storage1:quorum3

挂载存储

iscsiadm -m node -T  iqn.2014-09.com.dhc.storage1:quorum1 -p 192.168.136.103:3260 -l
iscsiadm -m node -T  iqn.2014-09.com.dhc.storage1:quorum2 -p 192.168.136.103:3260 -l
iscsiadm -m node -T  iqn.2014-09.com.dhc.storage1:quorum3 -p 192.168.136.103:3260 -l
iscsiadm -m node -T  iqn.2014-09.com.dhc.storage1:data1 -p 192.168.136.103:3260 -l
iscsiadm -m node -T  iqn.2014-09.com.dhc.storage1:data2 -p 192.168.136.103:3260 -l
iscsiadm -m node -T  iqn.2014-09.com.dhc.storage1:data3 -p 192.168.136.103:3260 -l
iscsiadm -m node -T  iqn.2014-09.com.dhc.storage1:data4 -p 192.168.136.103:3260 -l
iscsiadm -m node -T  iqn.2014-09.com.dhc.storage1:fra1 -p 192.168.136.103:3260 -l
iscsiadm -m node -T  iqn.2014-09.com.dhc.storage1:fra2 -p 192.168.136.103:3260 -l

注意,这里要按照顺序挂载存储,方便后面配置多路径。
磁盘挂在好之后,使用fdisk -l 可以看到多了几个磁盘,但是重启之后这些磁盘的挂载点会改变,因此需要用多路径软件来固定共享磁盘的挂载点。
要使用多路径,首先要获得磁盘的scsi id。
在存储节点运行 tgt-admin –show可以看到

[root@storage1 named]# tgt-admin –show
Target 1: iqn.2014-09.com.dhc.storage1:data1
。。。。。。
        LUN: 1
            Type: disk
            SCSI ID: IET     00010001
            SCSI SN: beaf11
            Size: 10737 MB, Block size: 512
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Backing store type: rdwr
            Backing store path: /target/data1.img
            Backing store flags: 
    Account information:
    ACL information:
        ALL

这里scsi id就是我们需要的,记下每个target的scsi id。
在数据库服务器上生成多路径的配置文件
从文档里拷贝一个配置文件到/etc目录中。

cp /usr/share/doc/device-mapper-multipath-0.4.9/multipath.conf /etc

编辑/etc/multipath.conf

defaults {
    udev_dir        /dev
    polling_interval    10
    path_selector       "round-robin 0"
    path_grouping_policy    multibus
    getuid_callout      "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
    path_checker        readsector0
    rr_min_io       100
    max_fds         8192
    rr_weight       priorities
    failback        immediate
    no_path_retry       fail
    user_friendly_names yes
}
blacklist {
    devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
    devnode "^vd[a-z][0-2]"
}
multipaths {
       multipath {
               wwid                    "1IET     00070001"
               alias                   quorum1
       }
       multipath {
               wwid                    "1IET     00080001"
               alias                   quorum2
       }
       multipath {
               wwid                    "1IET     00090001"
               alias                   quorum3
       }
       multipath {
               wwid                    "1IET     00010001"
               alias                   data1
       }
       multipath {
               wwid                    "1IET     00020001"
               alias                   data2
       }
       multipath {
               wwid                    "1IET     00030001"
               alias                   data3
       }
       multipath {
               wwid                    "1IET     00040001"
               alias                   data4
       }
       multipath {
               wwid                    "1IET     00050001"
               alias                   fra1
       }
       multipath {
               wwid                    "1IET     00060001"
               alias                   fra2
       }
}
devices {
       device {
               vendor "IET"
               product "VIRTUAL-DISK"
               path_grouping_policy group_by_prio
               getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
               path_selector "round-robin 0"
               path_checker tur
               hardware_handler "0"
               failback immediate
               rr_weight uniform
               rr_min_io 128
               rr_min_io_rq 1
               flush_on_last_del yes
               fast_io_fail_tmo 5
               dev_loss_tmo infinity
       }
}

启动多路径

modprobe dm_multipath
modprobe dm_mod
/etc/init.d/multipathd start

查看多路径multipath -ll

[root@racdb2 ~]# multipath -ll
quorum3 (1IET     00090001) dm-7 IET,VIRTUAL-DISK
size=1.0G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  `- 8:0:0:1  sdh 8:112 active ready  running
quorum2 (1IET     00080001) dm-2 IET,VIRTUAL-DISK
size=1.0G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  `- 4:0:0:1  sdb 8:16  active ready  running
quorum1 (1IET     00070001) dm-10 IET,VIRTUAL-DISK
size=1.0G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  `- 9:0:0:1  sdf 8:80  active ready  running
fra2 (1IET     00060001) dm-9 IET,VIRTUAL-DISK
size=10G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  `- 5:0:0:1  sdc 8:32  active ready  running
fra1 (1IET     00050001) dm-4 IET,VIRTUAL-DISK
size=10G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  `- 6:0:0:1  sde 8:64  active ready  running
data4 (1IET     00040001) dm-5 IET,VIRTUAL-DISK
size=10G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  `- 10:0:0:1 sdi 8:128 active ready  running
data3 (1IET     00030001) dm-8 IET,VIRTUAL-DISK
size=10G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  `- 3:0:0:1  sdd 8:48  active ready  running
data2 (1IET     00020001) dm-6 IET,VIRTUAL-DISK
size=10G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  `- 7:0:0:1  sdg 8:96  active ready  running
data1 (1IET     00010001) dm-3 IET,VIRTUAL-DISK
size=10G features='0' hwhandler='0' wp=rw
`-+- policy='round-robin 0' prio=1 status=active
  `- 2:0:0:1  sda 8:0   active ready  running

如果绑定成功,会在/dev/mapper目录下面看到新生成的磁盘

[root@racdb1 mapper]# ll
crw-rw---- 1 root root 10, 58 928 02:33 control
lrwxrwxrwx 1 root root      7 928 02:52 data1 -> ../dm-2
lrwxrwxrwx 1 root root      7 928 02:52 data2 -> ../dm-8
lrwxrwxrwx 1 root root      7 928 02:52 data3 -> ../dm-5
lrwxrwxrwx 1 root root      7 928 02:52 data4 -> ../dm-6
lrwxrwxrwx 1 root root      7 928 02:52 fra1 -> ../dm-9
lrwxrwxrwx 1 root root      7 928 02:52 fra2 -> ../dm-4
lrwxrwxrwx 1 root root      8 928 02:52 quorum1 -> ../dm-10
lrwxrwxrwx 1 root root      7 928 02:52 quorum2 -> ../dm-3
lrwxrwxrwx 1 root root      7 928 02:52 quorum3 -> ../dm-7
lrwxrwxrwx 1 root root      7 928 02:34 vg_racdb-lv_root -> ../dm-0
lrwxrwxrwx 1 root root      7 928 02:33 vg_racdb-lv_swap -> ../dm-1

将第一个节点的 multipathd.conf复制到第二个节点,然后在第二个节点启动多路径
修改共享存储的权限

chown grid:asmadmin data1
chmod 660 data1

使用同样的方法更改所有存储的权限。
最终的权限如下面所示:

[root@racdb1 mapper]# ls -lL
总用量 0
brw-rw---- 1 root disk     253,  5 9月  29 03:23 data1
brw-rw---- 1 root disk     253,  7 9月  29 03:23 data2
brw-rw---- 1 root disk     253,  3 9月  29 03:24 data3
brw-rw---- 1 root disk     253, 10 9月  29 03:24 data4
brw-rw---- 1 root disk     253,  2 9月  29 03:25 fra1
brw-rw---- 1 root disk     253,  8 9月  29 03:25 fra2
brw-rw---- 1 root disk     253,  4 9月  29 03:20 quorum1
brw-rw---- 1 root disk     253,  6 9月  29 03:22 quorum2
brw-rw---- 1 root disk     253,  9 9月  29 03:22 quorum3

为了保证重启之后,虚拟磁盘的权限不变,在udev里加入规则文件。

[root@racdb1 mapper]# cd /etc/udev/rules.d/
[root@racdb1 rules.d]# vi 99-grid-permission.rules 
PROGRAM="/bin/chown grid:asmadmin /dev/mapper/quorum1"
PROGRAM="/bin/chown grid:asmadmin /dev/mapper/quorum2"
PROGRAM="/bin/chown grid:asmadmin /dev/mapper/quorum3"
PROGRAM="/bin/chown grid:asmadmin /dev/mapper/data1"
PROGRAM="/bin/chown grid:asmadmin /dev/mapper/data2"
PROGRAM="/bin/chown grid:asmadmin /dev/mapper/data3"
PROGRAM="/bin/chown grid:asmadmin /dev/mapper/data4"
PROGRAM="/bin/chown grid:asmadmin /dev/mapper/fra1"
PROGRAM="/bin/chown grid:asmadmin /dev/mapper/fra2"
PROGRAM="/bin/chmod 660 /dev/mapper/quorum1"
PROGRAM="/bin/chmod 660 /dev/mapper/quorum2"
PROGRAM="/bin/chmod 660 /dev/mapper/quorum3"
PROGRAM="/bin/chmod 660 /dev/mapper/data1"
PROGRAM="/bin/chmod 660 /dev/mapper/data2"
PROGRAM="/bin/chmod 660 /dev/mapper/data3"
PROGRAM="/bin/chmod 660 /dev/mapper/data4"
PROGRAM="/bin/chmod 660 /dev/mapper/fra1"
PROGRAM="/bin/chmod 660 /dev/mapper/fra2"

将99-grid-permission.rules文件复制到节点2同样的目录下
这样如果服务器重启之后,共享存储的权限也不会改变。

6.10 配置时间同步服务

集群都要求在集群各节点之间保持时间一致。时间同步服务可以采用NTP,从11gR2之后,集群时间同步推荐使用oracle自带的工具CTSS。
下面配置禁用NTP,从而在安装Oracle RAC的时候启用CTSS。
在两个节点停止分别禁用NTP。

service stpd stop

禁止NTP自动启动

chkcong ntpd off

把ntp的配置文件改名

mv /etc/ntp.conf /etc/npt.conf.bk

7. 部署Oracle RAC

1. 安装 Grid Infrastructure

加载grid的安装介质,执行runInstaller,然后会弹出Grid安装界面

[grid@racdb1 ~]$ /media/grid_11204_linux64/runInstaller
正在启动 Oracle Universal Installer...

检查临时空间: 必须大于 120 MB。   实际为 77481 MB    通过
检查交换空间: 必须大于 150 MB。   实际为 8191 MB    通过
检查监视器: 监视器配置至少必须显示 256 种颜色。    实际为 16777216    通过
准备从以下地址启动 Oracle Universal Installer /tmp/OraInstall2014-09-29_03-53-36AM. 请稍候...
[grid@racdb1 ~]$

跳过软件更新
跳过软件更新,如果有MOS账号,可以尝试更新
选择集群
选择为集群安装和配置Oracle Grid Infrastructure
高级安装
选择高级安装
这里写图片描述
选择语言
这里写图片描述
输入集群和SCAN 的名称
这里写图片描述
点击添加,添加集群节点
这里写图片描述
输入节点的公共主机名和虚拟主机名
这里写图片描述
选择SSH,输入grid用户的密码配置SSH等价性
这里写图片描述
等价性配置成功,点击确定,然后选择下一步
这里写图片描述
选择网络接口的类型,eth0选择公共,这里采用HAIP,所以eth1和eth2选择专用
这里写图片描述
存储类型选择Oracle ASM
这里写图片描述
更改磁盘搜索路径,输入/dev/mapper/*
这里写图片描述
创建仲裁磁盘,这里我起的磁盘组名叫QUORUM,磁盘用了QUORUM1、QUORUM2和QUORUM3
冗余有3个级别,每个级别要求的磁盘数如下:
外部>=1
普通>=3
高>=5
这里写图片描述
输入管理员的密码,一定要记住这个密码。
这里写图片描述
如果密码比较简单,点击是,忽略这个问题
这里写图片描述
这里没有配置IPMI,所以选择不使用IPMI
这里写图片描述
选择对应的用户组,一般默认就可以
这里写图片描述
选择Oracle base和Oracle home的位置
这里写图片描述
选择产品清单目录
这里写图片描述
由于开头并没有配置内核参数,所以这里有很多问题,这时候点击修补并再次检查。
这里写图片描述
grid安装程序会生产一个脚本来修复这个问题,需要我们用root用户分别在两个节点运行。

[root@racdb1 ~]# /tmp/CVU_11.2.0.4.0_grid/runfixup.sh 
Response file being used is :/tmp/CVU_11.2.0.4.0_grid/fixup.response
Enable file being used is :/tmp/CVU_11.2.0.4.0_grid/fixup.enable
Log file location: /tmp/CVU_11.2.0.4.0_grid/orarun.log
Setting Kernel Parameters...
The value for shmmni in response file is not greater than value of shmmni for current session. Hence not changing it.
The value for semmsl in response file is not greater than value of semmsl for current session. Hence not changing it.
The value for semmns in response file is not greater than value of semmns for current session. Hence not changing it.
The value for semmni in response file is not greater than value of semmni for current session. Hence not changing it.
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.wmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
Installing Package /tmp/CVU_11.2.0.4.0_grid//cvuqdisk-1.0.9-1.rpm
Preparing...              ##################################### [100%]
   1:cvuqdisk         ###################################### [100%]

如果这里有包没有安装就用YUM进行安装。
这里写图片描述
并不是所有问题都会被修复。点击全部忽略。
这里写图片描述
生成的安装概要,前面那个步骤要是有问题,可以在这里进行修改。
这里写图片描述
开始安装。
这里写图片描述
脚本要按照顺序执行,先执行完orainstRoot.sh,然后再执行root.sh。
orainstRoot.sh两个节点可以同时执行。root.sh,在主节点执行成功之后,剩下的节点可以同时执行。

[root@racdb1 ~]# /u01/app/oraInventory/orainstRoot.sh
更改权限/u01/app/oraInventory.
添加组的读取和写入权限。
删除全局的读取, 写入和执行权限。

更改组名/u01/app/oraInventory 到 oinstall.
脚本的执行已完成。

[root@racdb2 ~]# /u01/app/oraInventory/orainstRoot.sh 
更改权限/u01/app/oraInventory.
添加组的读取和写入权限。
删除全局的读取, 写入和执行权限。

更改组名/u01/app/oraInventory 到 oinstall.
脚本的执行已完成。

[root@racdb1 ~]# /u01/app/11.2.0.4/grid/root.sh 
Performing root user operation for Oracle 11g 

The following environment variables are set as:
    ORACLE_OWNER= grid
    ORACLE_HOME=  /u01/app/11.2.0.4/grid

Enter the full pathname of the local bin directory: [/usr/local/bin]: 
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...


Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Using configuration parameter file: /u01/app/11.2.0.4/grid/crs/install/crsconfig_params
Creating trace directory
User ignored Prerequisites during installation
Installing Trace File Analyzer
OLR initialization - successful
  root wallet
  root wallet cert
  root cert export
  peer wallet
  profile reader wallet
  pa wallet
  peer wallet keys
  pa wallet keys
  peer cert request
  pa cert request
  peer cert
  pa cert
  peer root cert TP
  profile reader root cert TP
  pa root cert TP
  peer pa cert TP
  pa peer cert TP
  profile reader pa cert TP
  profile reader peer cert TP
  peer user cert
  pa user cert
Adding Clusterware entries to upstart
CRS-2672: Attempting to start 'ora.mdnsd' on 'racdb1'
CRS-2676: Start of 'ora.mdnsd' on 'racdb1' succeeded
CRS-2672: Attempting to start 'ora.gpnpd' on 'racdb1'
CRS-2676: Start of 'ora.gpnpd' on 'racdb1' succeeded
CRS-2672: Attempting to start 'ora.cssdmonitor' on 'racdb1'
CRS-2672: Attempting to start 'ora.gipcd' on 'racdb1'
CRS-2676: Start of 'ora.cssdmonitor' on 'racdb1' succeeded
CRS-2676: Start of 'ora.gipcd' on 'racdb1' succeeded
CRS-2672: Attempting to start 'ora.cssd' on 'racdb1'
CRS-2672: Attempting to start 'ora.diskmon' on 'racdb1'
CRS-2676: Start of 'ora.diskmon' on 'racdb1' succeeded
CRS-2676: Start of 'ora.cssd' on 'racdb1' succeeded

已成功创建并启动 ASM。

已成功创建磁盘组QUORUM。

clscfg: -install mode specified
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
CRS-4256: Updating the profile
Successful addition of voting disk 4b2a3cc0f8bc4fe9bfb6b4e92f892b16.
Successful addition of voting disk 6406ec0a5cf94f98bfa149940c897b07.
Successful addition of voting disk 91e1caf292654f2fbf6dc8afc706f4cb.
Successfully replaced voting disk group with +QUORUM.
CRS-4256: Updating the profile
CRS-4266: Voting file(s) successfully replaced
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   4b2a3cc0f8bc4fe9bfb6b4e92f892b16 (/dev/mapper/quorum1) [QUORUM]
 2. ONLINE   6406ec0a5cf94f98bfa149940c897b07 (/dev/mapper/quorum2) [QUORUM]
 3. ONLINE   91e1caf292654f2fbf6dc8afc706f4cb (/dev/mapper/quorum3) [QUORUM]
Located 3 voting disk(s).
CRS-2672: Attempting to start 'ora.asm' on 'racdb1'
CRS-2676: Start of 'ora.asm' on 'racdb1' succeeded
CRS-2672: Attempting to start 'ora.QUORUM.dg' on 'racdb1'
CRS-2676: Start of 'ora.QUORUM.dg' on 'racdb1' succeeded
Configure Oracle Grid Infrastructure for a Cluster ... succeeded

[root@racdb2 ~]# /u01/app/11.2.0.4/grid/root.sh 
Performing root user operation for Oracle 11g 

The following environment variables are set as:
    ORACLE_OWNER= grid
    ORACLE_HOME=  /u01/app/11.2.0.4/grid

Enter the full pathname of the local bin directory: [/usr/local/bin]: 
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...

Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Using configuration parameter file: /u01/app/11.2.0.4/grid/crs/install/crsconfig_params
Creating trace directory
User ignored Prerequisites during installation
Installing Trace File Analyzer
OLR initialization - successful
Adding Clusterware entries to upstart
CRS-4402: CSS 守护程序已在独占模式下启动, 但在节点 racdb1 (编号为 1) 上发现活动 CSS 守护程序, 因此正在终止
An active cluster was found during exclusive startup, restarting to join the cluster
Configure Oracle Grid Infrastructure for a Cluster ... succeeded

在所有节点脚本执行成功之后,回到图形界面点击确定。
这里写图片描述
grid开始创建网络和ASM。
这里写图片描述
安装成功,点击关闭。

7.2 配置磁盘组

用grid用户运行asmca,出现ASMCA的界面
这里写图片描述
点击创建
这里写图片描述
输入磁盘组的名称,选择磁盘,点击确定开始创建。
这里写图片描述
磁盘组创建成功。
这里写图片描述
采用同样的方法创建磁盘组FRA。

7.3 安装Oracle数据库软件

运行runInstaller开始安装

[oracle@racdb1 ~]$ /media/db_11204_linux64/runInstaller
正在启动 Oracle Universal Installer...

检查临时空间: 必须大于 120 MB。   实际为 73480 MB    通过
检查交换空间: 必须大于 150 MB。   实际为 8170 MB    通过
检查监视器: 监视器配置至少必须显示 256 种颜色。    实际为 16777216    通过
准备从以下地址启动 Oracle Universal Installer /tmp/OraInstall2014-09-29_07-32-27AM.

这里写图片描述
不接受安装更新
这里写图片描述
选择是
这里写图片描述
跳过软件更新
这里写图片描述
选择仅安装数据库软件
这里写图片描述
选择RAC数据库,选择所有节点,然后点击SSH,输入oracle用户密码,开始配置SSH等价性
这里写图片描述
SSH等价性配置完成。
这里写图片描述
选择要安装的语言
这里写图片描述
选择企业版
这里写图片描述
基目录和软件位置,一般默认。
这里写图片描述
选择对应的用户组,默认即可
这里写图片描述
忽略该错误
这里写图片描述
安装概要,可以保存成响应文件
这里写图片描述
正在安装
这里写图片描述
用root用户,分别在两个节点上执行该脚本

[root@racdb1 ~]# /u01/app/oracle/product/11.2.0.4/dbhome_1/root.sh 
Performing root user operation for Oracle 11g 

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/product/11.2.0.4/dbhome_1

Enter the full pathname of the local bin directory: [/usr/local/bin]: 
The contents of "dbhome" have not changed. No need to overwrite.
The contents of "oraenv" have not changed. No need to overwrite.
The contents of "coraenv" have not changed. No need to overwrite.

Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Finished product-specific root actions.

[root@racdb2 ~]# /u01/app/oracle/product/11.2.0.4/dbhome_1/root.sh .
Performing root user operation for Oracle 11g 

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/product/11.2.0.4/dbhome_1

Enter the full pathname of the local bin directory: [/usr/local/bin]: 
The contents of "dbhome" have not changed. No need to overwrite.
The contents of "oraenv" have not changed. No need to overwrite.
The contents of "coraenv" have not changed. No need to overwrite.

Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Finished product-specific root actions.

脚本执行成功后,返回图形界面点击确定。
这里写图片描述
安装成功。

7.4 创建数据库

在节点1上面运行dbca创建数据库
这里写图片描述
选择RAC数据库
这里写图片描述
选择创建数据库
这里写图片描述
选择定制数据库
这里写图片描述
选择策略管理的,输入数据库名以及服务器池的名字。
基数代表该服务器池有几台机器,这里是双节点,所以写的是2。
注意:
Oracle官方11.2.0.2之前推荐使用管理员管理的,11.2.0.2之后推荐策略管理的。但是经过笔者的使用,个人建议如果没有特殊需求,还是推荐管理员管理。策略管理的无法确定每个节点上到底运行的是哪个实例,所以不好配置静态监听,因此就不好配置DataGuard。
这里写图片描述
选择是否配置EM
这里写图片描述
输入管理员密码
这里写图片描述
如果密码比较简单,会提示这个问题,忽略即可
这里写图片描述
存储类型选择ASM,数据库区选择+DATA
这里写图片描述
输入安装grid时候管理员的密码。
这里写图片描述
指定快速恢复区域
这里写图片描述
选择数据库组件,这里所有的组件都可以不选。
这里写图片描述
选择SGA的大小,如果启用自动内存管理,SGA需要大于一个值,点击下一步的时候会提示,内存大小不同,提示的值也不同。
这里写图片描述
输入进程参数值,请根据也许需求设置。
这里写图片描述
设置字符集,这里使用的是UTF8字符集。
这里写图片描述
配置数据存储
这里写图片描述
选择创建数据库
这里写图片描述
安装概要,点击确定开始创建数据库。
这里写图片描述
创建成功,点击退出。
到此,RAC的安装结束。

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值