Redhat5.4上部署Oracle+10gR2+RAC和ASM

Redhat5.4上部署Oracle 10gR2 RAC和ASM 1前期规划

1.1 网络

1.2 存储

2主机配置

2.1 网络设置

编辑每个节点的/etc/host文件,内容如下:

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1 localhost.localdomain localhost

192.168.16.205 dbp

192.168.16.206 dps

10.0.0.205 dbp-priv

10.0.0.206 dbs-priv

192.168.16.203 dbp-vip

192.168.16.204 dbs-vip

主机名分别设为dbp和dbs

2.2 安装必须的RPM包

从Redhat光盘中安装下述RPM包

[root@dbp~]$ yum install binutils-* compat-db-* compat-libstdc++* control-center-* gcc-* glibc-* gnome-libs-* libstdc++-* make-* pdksh-* sysstat-* xscreensaver-* setarch-* glibc-devel-* libaio-* libXp-1.0.*

2.3 ASMLib包

oracleasm包需要和OS内核版本匹配

1)查看OS内核版本

[root@dbp~]$ uname -a

内核版本为2.6.18-164.el5,下载对应的oracleasm-support、oracleasmlib、oracleasm。ASMlib下载地址:https://www.360docs.net/doc/8313658358.html,/technology/software/tech/linux/asmlib/rhel5.html 2)安装asmlib

进入下载后的asmlib目录,执行:

[root@dbp~]$ rpm -ivh *.rpm

2.4 创建用户

需要保证节点dbp和dbs的Oracle用户UID和DBA用户组GID相同。

节点dbp:

[root@dbp~]$ groupadd -g 700 dba

[root@dbp~]$ useradd -u 500 -g dba oracle

节点dbs:

[root@dbs~]$ groupadd -g 700 dba

[root@dbs~]$ useradd -u 500 -g dba oracle

2.5 配置环境变量

在所有节点编辑oracle用户的profile文件,设置相关参数[root@dbp~]$ vi /home/oracle/.bash_profile,添加如下内容:export ORACLE_BASE=/oracle

export ORACLE_TERM=xterm

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

export CRS_HOME=/oracle/product/crs

export ORACLE_HOME=/oracle/product/database

export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data export PATH=$CRS_HOME/bin:$ORACLE_HOME/bin:$PATH export ORACLE_SID=orcl1

注意,节点dps中ORACLE_SID=orcl2

2.6 配置内核参数

[root@dbp~]$ vi /etc/sysctl.conf,添加如下参数:

#页为单位,1页默认4k

kernel.shmall = 2097152

#字节为单位

kernel.shmmax = 2147483648

kernel.shmmni = 4096

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

运行sysctl –p 使配置生效

2.7 配置Oracle用户限制

[root@dbp~]$ vi /etc/security/limits.conf,添加如下参数:

#HugePage内存技术

oracle soft memlock 5242880

oracle hard memlock 5242880

#文件句柄数量

oracle soft nofile 65536

oracle hard nofile 65536

#进程句柄数量

oracle soft nproc 65536

oracle hard nproc 65536

2.8 配置SSH无密码连接

1)安装集群软件和数据库软件时,Oracle会自动把一个节点安装好的软件通过ssh复制到

第二个节点上。

[oracle@dbp~]$ mkdir ~/.ssh

[oracle@dbp~]$ chmod 700 ~/.ssh

[oracle@dbp~]$ cd ~/.ssh

[oracle@dbp~]$ ssh-keygen -t rsa

[oracle@dbp~]$ ssh-keygen -t dsa

[oracle@dbp~]$ cat *.pub > authorized_keys

在节点dbs上也执行上述命令,然后把两个节点生成的authorized_keys内容合并为一个,最后把合并后的authorized_keys文件覆盖两个节点~/.ssh/authorized_keys文件。

2)确认在节点dbp和dbs上ssh登录对方主机不用输入密码。

在dbp上执行下述命令:

[oracle@dbp~]$ ssh dbs

[oracle@dbp~]$ ssh dbs-priv

在dbs上执行下述命令:

[oracle@dbs~]$ ssh dbp

[oracle@dbs~]$ ssh dbp-priv

第一次登陆需要确认,之后再登录无需输入密码和确认即可登陆到另一个节点上。

2.9 配置时间同步

Oracle RAC中,集群内各节点时间要保持一致。节点dbp作为NTP服务器,节点dbs作为NTP客户端。

1)NTP服务器配置:

[root@dbp~]$ vi /etc/ntp.conf,添加如下内容:

server 127.127.1.0

fudge 127.127.1.0 stratum 11

driftfile /var/lib/ntp/drift

broadcastdelay 0.008

2)NTP客户端配置

[root@dbs~]$ vi /etc/ntp.conf,添加如下内容:

server 192.168.16.205 prefer

driftfile /var/lib/ntp/drift

broadcastdelay 0.008

3)配置完成后,启动NTP服务

[root@dbs~]$ /etc/init.d/ntpd start

2.10 配置hangcheck-timer模块

1)配置系统启动时自动加载模块

[root@dbp~]$ vi /etc/rc.d/rc.local,加入如下内容:

modprobe hangcheck-timer

2)配置hangcheck-timer参数

[root@dbp~]$ vi /etc/modprobe.conf,加入如下内容:

options hangcheck-timer hangcheck_tick=10 hangcheck_margin=30

3)确认模块加载成功

[root@dbp~]$ grep Hangcheck /var/log/messages | tail -2

2.11 磁盘分区

把共享盘分为四个分区,头两个分区各100MB用于裸设备,剩余空间平均分给第三和第四个分区用于ASM。

[root@dbp~]$ fdisk /dev/sdb

分区完成后,在dbs上执行partprobe或重启节点dbs,确保两个节点识别的分区大小及顺序完全一致。

2.12 配置裸设备

在节点dbp和dbs上分别执行下列命令,配置裸设备。

1)查询裸设备绑定编号

[root@dbp~]$ raw /dev/raw/raw1 /dev/sdb1

[root@dbp~]$ raw /dev/raw/raw2 /dev/sdb2

[root@dbp~]$ raw -a

显示如下内容:

/dev/raw/raw1: bound to major 8, minor 17

/dev/raw/raw2: bound to major 8, minor 18

2)配置裸设备

根据上面得到的major号和minor号,配置/etc/udev/rules.d/60-raw.rules

[root@dbp~]$ vi /etc/udev/rules.d/60-raw.rules,添加如下内容:

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

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

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

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

KERNEL=="raw1", OWNER="oracle", GROUP="dba", MODE="660"

KERNEL=="raw2", OWNER="oracle", GROUP="dba", MODE="660"

3)启动服务

[root@dbp~]$ start_udev

Starting udev: [ OK ]

2.13 创建ASM磁盘

1)配置ASM:

[root@dbp~]$ /etc/init.d/oracleasm configure

Configuring the Oracle ASM library driver.

This will configure the on-boot properties of the Oracle ASM library driver. The following questions will determine whether the driver is loaded on boot and what permissions it will have. The current values will be shown in brackets ('[]'). Hitting without typing an answer will keep that current value. Ctrl-C will abort.

Default user to own the driver interface []: oracle

Default group to own the driver interface []: dba

Start Oracle ASM library driver on boot (y/n) [n]: y

Fix permissions of Oracle ASM disks on boot (y/n) [y]: y

Writing Oracle ASM library driver configuration: [ OK ]

Loading module "oracleasm": [ OK ]

Mounting ASMlib driver filesystem: [ OK ]

Scanning system for ASM disks: [ OK ]

2)创建ASM磁盘

[root@dbp~]$ /etc/init.d/oracleasm createdisk VOL1 /dev/sdb3 Marking disk "/dev/sdb3" as an ASM disk: [ OK ]

[root@dbp~]$ /etc/init.d/oracleasm createdisk VOL2 /dev/sdb4 Marking disk "/dev/sdb4" as an ASM disk: [ OK ]

3)在节点dbs执行scandisks

[root@dbs~]$ /etc/init.d/oracleasm scandisks

Scanning system for ASM disks: [ OK ]

查看一下当前的磁盘组:

[root@dbs~]$ /etc/init.d/oracleasm listdisk

VOL1

VOL2

3安装部署

使用图形界面安装之前,要用root用户执行xhost +关闭访问控制。[root@dbp~]$ xhost +

以下操作不特别是说明时,均使用节点dbp用oracle用户执行。

3.1 安装Oracle Clusterware

1,执行clusterware安装目录的runInstaller开启图形界面

2,输入名称和路径

3,检查是否满足要求

4,配置集群

5,点击Add,添加节点dbs,输入在/etc/hosts中指定各主机名

6,配置好节点dbp和节点dbs后

7,配置网络接口

8,选中eth0,然后点击Edit进入编辑页面,设定eth0为公共网卡

9,设定好的网络接口

10,配置OCR,选外部冗余,使用裸设备1

11,配置仲裁盘,选外部冗余,使用裸设备2

12,安装总览

13,dbp安装好以后会向dbs复制集群软件

14,安装结束后在各节点用root执行root.sh

15,dbp执行root.sh

16,在dbs执行root.sh

由于Oracle安装文件的bug,在最后一个节点执行root.sh后会报错,在节点dbs按照以下步骤修改即可:

1,修改/oracle/product/crs/bin/下的vipca和srvctl,在export LD_ASSUME_KERNEL后加入unset LD_ASSUME_KERNEL

修改vipca:

修改srvctl:

2,执行/oracle/product/crs/bin/vipca后会碰到以下错误:

解决方法:

执行/oracle/product/crs/bin/oifcfg setif -global eth0/192.168.16.0:public

/oracle/product/crs/bin/oifcfg setif -global eth1/10.0.0.0:cluster_interconnect 192.168.16.0是公共网卡的网段,10.0.0.0是内部网卡的网段

执行/oracle/product/crs/bin/oifcfg getif检查结果

3,执行/oracle/product/crs/bin/vipca,配置vip

进入vipca

选择eth0

dbp后输入dbp-vip,按tab可自动补全其他信息

vip设置总览

点击finish后配置vip

配置结果

返回节点dbp,完成安装

检查是否安装成

/oracle/product/crs/bin/olsnodes,查看节点

/oracle/product/crs/bin/crsctl check crs,查看集群进程

/oracle/product/crs/bin/crs_stat -t -v,查看集群服务

gsd,ons,vip在节点dbp和节点dbs都执行成功,状态为online

相关文档
最新文档