Oracle11G RAC搭建文档【第二部分 RAC环境搭建】

Oracle 11G RAC搭建文档,由于此文档涉及从虚拟机基础环境搭建到RAC环境搭建再到RAC Failover配置,文档内容很多,所以本分档将分为3部分发布,这样结构化更清晰,也更方便大家阅读。

【第一部分 基础环境搭建】

【第二部分 RAC环境搭建】

【第三部分 RAC Failover配置】

三、 基础软件环境配置 16

四、 Grid安装 19

五、升级GRID 31

1) 安装最新OPatch 31

2) 创建OCM文件 31

3) 查看GRID版本细节 31

4) 查看补丁一次性冲突 32

 

5) 补丁安装 32

6) 升级成功 33

六、 DB软件安装 33

七、 升级DB软件 40

1) 安装最新OPatch 41

2) 查看DB版本细节 41

3) 查看补丁一次性冲突 41

4) 补丁安装 42

5) 升级成功 42

八、创建ASM磁盘组 43

九、创建实例 43

一、 基础软件环境配置

  • 安装Redhat6.2操作系统,并安装以下补丁包

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.i68611

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)

unixODBC-2.2.14-11.el6 (x86_64) or later

unixODBC-2.2.14-11.el6.i686 or later

     unixODBC-devel-2.2.14-11.el6 (x86_64) or later

unixODBC-devel-2.2.14-11.el6.i686 or later

(安装glibc-2.12-1.7.el6 时,可能报如下错误)

[root@TESTRAC01 oracle11genv]# rpm -ivh glibc-2.12-1.47.el6.i686.rpm

warning: glibc-2.12-1.47.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY

error: Failed dependencies:

        libfreebl3.so is needed by glibc-2.12-1.47.el6.i686

        libfreebl3.so(NSSRAWHASH_3.12.3) is needed by glibc-2.12-1.47.el6.i686

这时需要安装 nss-softokn-freebl-3.12.9-11.el6.i686.rpm  

并一起安装

[root@TESTRAC01 oracle11genv]# rpm -ivh glibc-2.12-1.47.el6.i686.rpm nss-softokn-freebl-3.12.9-11.el6.i686.rpm

warning: glibc-2.12-1.47.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY

Preparing…                ########################################### [100%]

   1:nss-softokn-freebl     ########################################### [ 50%]

   2:glibc                  ########################################### [100%]

 

  • 配置内核参数   立即生效 /sbin/sysctl -p

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 524288

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

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 = 1048576

  • 创建组及用户并设置密码

Groupadd  oinstall

Groupadd  dba

Groupadd  oper

Groupadd  asmadmin

Groupadd  asmdba

Groupadd  asmoper

Useradd –g oinstall –G dba,oper, asmdba  oracle

Useradd –g oinstall –G asmadmin,asmdba,asmoper,dba  grid

Password oracle    密码:oracle

Password grid      密码:oracle

 

  • 检查安装软件时用户资源限制

oracle              soft    nproc   2047

oracle              hard    nproc   16384

oracle              soft    nofile  1024

oracle              hard    nofile  65536

oracle              soft    stack   10240

grid              soft    nproc   2047

grid              hard    nproc   16384

grid             soft    nofile  1024

grid             hard    nofile  65536

grid              soft    stack   10240

  • 配置软件安装目录并更改权限

mkdir –p /u01/app/oracle/product/11.2.0/dbhome_1

mkdir –p /u01/app/grid

mkdir –p /u01/app/11.2.0/grid

mkdir –p /u01/app/oraInventory

chown –R oracle:oinstall  /u01/app/oracle/product/11.2.0/dbhome_1

chown –R grid:oinstall  /u01/app/grid

chown –R grid:oinstall /u01/app/11.2.0/grid

chown –R grid:oinstal /u01/app/oraInventory

chmod –R 775 /u01/app

  • 设置环境变量
  • Oracle用户

Vi .bash_profile

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME= /u01/app/oracle/product/11.2.0/dbhome_1

export ORACLE_SID=testrac1  #节点2是testrac2

export PATH=$PATH:$ORACLE_HOME/bin

export NLS_LANG="Simplified Chinese_china".ZHS16GBK

  • grid用户

Vi .bash_profile

export ORACLE_BASE=/u01/app/grid

export ORACLE_HOME= /u01/app/11.2.0/grid

export ORACLE_SID=+ASM1  #节点2是+ASM2

export PATH=$PATH:$ORACLE_HOME/bin

  • 配置共享磁盘

通过查看

[root@TESTRAC01 ~]# ll /dev/sd*

brw-rw—-. 1 root disk 8,  0 Mar 17 14:46 /dev/sda

brw-rw—-. 1 root disk 8,  1 Mar 17 14:46 /dev/sda1

brw-rw—-. 1 root disk 8,  2 Mar 17 14:46 /dev/sda2

brw-rw—-. 1 root disk 8, 16 Mar 17 14:46 /dev/sdb

brw-rw—-. 1 root disk 8, 32 Mar 17 14:46 /dev/sdc

确定MAJOR 号(设备驱动) 和MINOR号(具体位置)

vi  /etc/udev/rules.d/60-raw.rules

ACTION=="add", KERNEL=="/dev/sdb",RUN+="/bin/raw /dev/raw/raw1 %N"

ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="16",RUN+="/bin/raw /dev/raw/raw1 %M %m"

ACTION=="add", KERNEL=="/dev/sdc",RUN+="/bin/raw /dev/raw/raw2 %N"

ACTION=="add",ENV{MAJOR}=="8",ENV{MINOR}=="32",RUN+="/bin/raw /dev/raw/raw2 %M %m"

KERNEL=="raw[1-2]", OWNER="oracle", GROUP="oinstall", MODE="660"

Root用户:start_udev 

启动裸设备并改变权限:

raw /dev/raw/raw1  /dev/sdb

raw /dev/raw/raw2  /dev/sdc

chown -R oracle:oinstall /dev/raw/raw*

chmod -R 660 /dev/raw/raw*

设置裸设备开机启动

Vi /etc/rc.d/rc.loacl

raw /dev/raw/raw1  /dev/sdb

raw /dev/raw/raw2  /dev/sdc

chown -R oracle:oinstall /dev/raw/raw*

chmod -R 660 /dev/raw/raw*

查看裸设备

raw –qa

 

  • 编辑HOSTS 文件 增加内容 (两节点一致)

#RAC01

100.99.80.110  TESTRAC01

100.99.80.111  TESTRAC01-vip

192.168.100.110  TESTRAC01-priv1

#RAC02

100.99.80.112  TESTRAC02

100.99.80.113  TESTRAC02-vip

192.168.100.112  TESTRAC02-priv1

 

#scanIP

100.99.80.120  scan-TESTRAC

四、Grid安装

在grid用户下执行安装包内 runInstaller 

图片1

下一步选择高级安装

图片2 

下一步增加简体中文支持

图片3 

下一步

图片4 

下一步

图片5 

下一步

图片6 

下一步

图片7 

下一步

图片8

下一步

图片9 

下一步

 图片10

下一步(ASM磁盘组管理员密码:oracle)

图片11 

下一步

图片12 

下一步

图片13 

下一步

图片14 

下一步

图片15 

下一步

图片16 

下一步

图片17 

下一步

图片18 

下一步 

图片19 

下一步

图片20 

先不要点ok,在2个节点ROOT用户下分别运行以上脚本,然后再点击ok。

图片21 

完成grid infrastructure软件安装。

 

 

查看集群状态

图片22

五、升级GRID 

为保持与生产库版本一致,需将GRID升级到11.2.0.3.9

首先下载升级PSU p17735354_112030_Linux-x86-64

然后查看README补丁说明及升级方法

 

1) 安装最新OPatch

每个节点执行 在grid用户下执行

下载最新版本OPatch p6880880_112000_Linux-x86-64  11.2.0.3.6

[grid@TESTRAC01 ~]$ unzip p6880880_112000_Linux-x86-64.zip -d $ORACLE_HOME

 

2) 创建OCM文件

每个节点执行

[grid@TESTRAC01 ~]$ $ORACLE_HOME/OPatch/ocm/bin/emocmrsp -no_banner -output /u01/app/grid/config.rsp

图片23 

3) 查看GRID版本细节

[grid@TESTRAC01 11.2.0]$ opatch lsinventory -detail -oh $ORACLE_HOME

 图片24

4) 查看补丁一次性冲突

See My Oracle Support Document 1061295.1 

经查看文档11.2.0.3.0可以直接升级安装11.2.0.3.9

 

5) 补丁安装

因为只安装了GI 并且GI HOME并不是共享的,所以采用第一种升级方案。

Case 1: GI Home and the Database Homes that are not shared and ACFS file system is not configured.

 

As root user, execute the following command on each node of the cluster:

# opatch auto <UNZIPPED_PATCH_LOCATION> -ocmrf <ocm response file>

[root@TESTRAC01 grid]# /u01/app/11.2.0/grid/OPatch/opatch auto /home/grid/p17735354 -ocmrf /u01/app/grid/config.rsp

 

6) 升级成功

升级日志记录在

/u01/app/11.2.0/grid/cfgtoollogs/opatchauto2015-03-18_17-41-52.log 

图片25

同样操作在节点2执行一次。

六、DB软件安装

在oracle用户下执行安装包内runInstaller

图片26

图片27

下一步

图片28 

点击select all 按钮,然后再点击ssh Connectivity,在OS Password处输入oracle用户密码:oracle  点击setup 按钮

图片29 

下一步:

图片30 

下一步

图片31 

下一步

图片32 

下一步

图片33 

下一步 

图片34

下一步  由于都是非关键警告,可以忽略继续

Single Client Access Name (SCAN) 这个警告是因为没有使用DNS来解析SCAN Ip 而是使用的本地HOSTS文件做解析。

图片35 

下一步

图片36 

下一步

图片37

下一步 在两节点ROOT用户下分别运行脚本后点击”OK”

图片38 

下一步 完成安装

图片39

七、升级DB软件

为保持与生产库版本一致,需将DB升级到11.2.0.3.11

首先下载升级PSU p18522512_112030_Linux-x86-64

然后查看README补丁说明及升级方法

1) 安装最新OPatch

每个节点执行 在oracle用户下执行

下载最新版本OPatch p6880880_112000_Linux-x86-64  11.2.0.3.11

[oracle@TESTRAC01 ~]$ unzip p6880880_112000_Linux-x86-64.zip -d $ORACLE_HOME

2) 查看DB版本细节

[oracle@TESTRAC01 p18522512]$ /u01/app/oracle/product/11.2.0/dbhome_1/OPatch/opatch lsinventory -detail -oh $ORACLE_HOME

图片40

 

3) 查看补丁一次性冲突

第一种方式:

See My Oracle Support Document 1061295.1 

经查看文档11.2.0.3.0可以直接升级安装11.2.0.3.11

 

 

第二种方式:(README中描述方法)

Determine whether any currently installed one-off patches conflict with the PSU patch as follows:

unzip p18522512_11203_<platform>.zip cd 18522512 opatch prereq CheckConflictAgainstOHWithDetail -ph ./

4) 补丁安装

根据README中提示方法

If this is a RAC environment, install the PSU patch using the OPatch rolling (no downtime) installation method as the PSU patch is rolling RAC installable. Refer to My Oracle Support Document 244241.1 Rolling Patch – OPatch Support for RAC.

因为只安装了DB软件,并没有建立实例,所以升级方式较为简单

oracle用户下执行,并且只在节点1执行即可完成全部节点的升级。

unzip p18522512_11203_<platform>.zip cd 18522512 [oracle@TESTRAC01 18522512]$ /u01/app/oracle/product/11.2.0/dbhome_1/OPatch/opatch apply

5) 升级成功

节点1

图片41 

节点 2

图片42

八、创建ASM磁盘组

以grid用户登录,执行asmca命令

$asmca

图片43 

点击create,输入磁盘组名字DATA,加入相应磁盘,点击ok即可。

图片44 

九、创建实例

以oracle用户登陆运行DBCA图形界面建库

图片45 

下一步

图片46 

选择数据库类型,这里选择 事务处理

图片47 

下一步

图片48 

下一步

图片49 

下一步

图片50 

下一步

图片51 

下一步 这里单独把归档日志文件存放+DATA/archivelogs 下

图片52 

下一步

图片53 

下一步

图片54 

选择数据库字符集zhs16GBk。

图片55

下一步,一共5组日志组,根据业务需要增减,大小为50M

图片56 

下一步

图片57 

下一步 

图片58

至此Oracle 11G RAC已经搭建完毕,这里注意一点,我采用的是搭建时升级oracle 补丁,这样的机会只有一次,也就是安装时升级,这样比较便利、安全,不用考虑太多数据问题。但通常大多数情况是数据库运行一段时间后的新补丁升级,这样升级可能就复杂起来,需要参考官方的升级补丁文档进行升级了,希望本文可以帮到你。

 

发表评论