You are on page 1of 37

北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.

com

时代朝阳会员专区:Oracle RAC 集群

Red Hat Enterprise Linux AS 的安装配置

达成的目标/方案
1 安装 RedHat Linux 4
2 为 Oracle 配置 Linux 服务器
3 Oracle 用户创建及设置
4 OCFS2 设置
5 配置 Oracle ASM
6 版本 1.0.0

详细操作过程描述

安装 Enterprise Linux

节点 1:安装 Linux:

1 引导屏幕:
第一个屏幕是 Enterprise Linux 引导屏幕。在 boot: 提示符处按 [Enter] 键启动安
装过程。

2 介质测试:

当要求测试 CD 介质时,用 Tab 键切换到 [Skip] 并按 [Enter] 键。


在几秒钟后,安装程序将会检测视频卡、显示器和鼠标。
然后安装程序进入 GUI 模式

3 安装过程的相关设置(未提及的为选择默认设置):

语言 / 键盘选项:中文简体,

时代朝阳会员专区:Oracle RAC 集群 第 1 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

磁盘分区设置:自动分区(本机器有 2G 内存,因此交换空间要设置成 4G)


网络配置:

z 确保将每个网络设备设置为激活状态
z 按照以下方法对 eth0 和 eth1 ent2 进行 [编辑] 操作

eth0:
取消选中 [DHCP 设置] 复选项
选中 [手工设置 IP 地址]
IP 地址:143.168.1.100
网络掩码: 255.255.0.0

eth1:
IP 地址:192.168.2.100
网络掩码: 255.255.255.0

eth2:
IP 地址:192.168.3.152
网络掩码: 255.255.255.0

主机名设置为:linrac1。\

防火墙:“不设置防火墙”,Enable SELinux 设置为 禁用


程序包安装默认值:自定义软件包
程序包组选项: 全部
4 按提示以次换盘就可以完成安装。

节点 2 与节点 1 相同
1 在网络设置时 ent0 和 ent1 设置如下:
eth0:
IP 地址:143.168.1.101
网络掩码: 255.255.0.0

eth1:
IP 地址:192.168.2.101
网络掩码: 255.255.255.0

eth2:
IP 地址:192.168.3.153
网络掩码: 255.255.255.0
主机名设置为:linrac2。

时代朝阳会员专区:Oracle RAC 集群 第 2 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

为 Oracle 配置 Linux 服务器

在节点 1 和 2:对交换空间的考虑因素
1 安装 Oracle10g 第 2 版至少需要 512MB 内存

检查内存容量:

[root@linrac1 ~]# cat /proc/meminfo | grep MemTotal

节点内存满足要求。

2 检查交换区容量:

# cat /proc/meminfo | grep SwapTotal

时代朝阳会员专区:Oracle RAC 集群 第 3 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

在节点 1 和 2:修改 Linux 内核参数


1 要求的参数值:

kernel.shmmax=2147483648
kernel.shmmni=4096
kernel.shmall= 2097152

kernel.sem=250 32000 100 128


fs.file-max=65536

net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=262144
net.core.wmem_max=262144

net.ipv4.ip_local_port_range = 1024 65000

2 查看所有共享内存的限制:

[root@linrac1 ~]# ipcs –lm

查看所有信号限制:

[root@linrac1 ~]# ipcs –ls

时代朝阳会员专区:Oracle RAC 集群 第 4 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

3 查看参数:

[root@linrac1 ~]# cat /proc/sys/kernel/shmmax


[root@linrac1 ~]# cat /proc/sys/kernel/shmmni
[root@linrac1 ~]# cat /proc/sys/kernel/shmall

kernel.shmmax 参数需要修改为 kernel.shmmax=2147483648

[root@linrac1 ~]# cat /proc/sys/kernel/sem


[root@linrac1 ~]# cat /proc/sys/fs/file-max
[root@linrac1 ~]# cat /proc/sys/net/ipv4/ip_local_port_range

kernel.sem 参数要修改为 kernel.sem=250 32000 100 128


net.ipv4.ip_local_port_range 参数要修改为 net.ipv4.ip_local_port_range = 1024 65000

时代朝阳会员专区:Oracle RAC 集群 第 5 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

fs.file-max 不需要修改。

4 在/etc/sysctl.conf 启动文件中,输入以下内容:

kernel.shmmax=2147483648
kernel.sem=250 32000 100 128

net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=262144
net.core.wmem_max=262144
net.ipv4.ip_local_port_range = 1024 65000

5 执行以下命令,使内核参数生效:

[root@linrac1 ~]# sysctl –p

时代朝阳会员专区:Oracle RAC 集群 第 6 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

6 节点 2 做相同操作

在所有的集群节点上设置正确的日期和时间
1 设置 linrac1 的日期和时间:

[root@linrac1 ~]# date -s "2/29/2008 11:40:00"

2 设置 linrac2 的日期和时间:

[root@linrac2 bin]# date -s "2/29/2008 11:40:20"

时代朝阳会员专区:Oracle RAC 集群 第 7 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

在节点 1 和 2:配置 hangcheck-timer 内核模块


1 检查是否安装 hangcheck-timer.ko 模块:

[root@linrac1 ~]# find /lib/modules -name "hangcheck-timer.ko"

2 配置 Hangcheck 内核模块参数:/etc/modprobe.conf

options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180

3 手动加载 Hangcheck 内核模块以进行测试:

在 /etc/rc.local 文件中包含 hangcheck-timer 内核模块的 modprobe:

时代朝阳会员专区:Oracle RAC 集群 第 8 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

/sbin/modprobe hangcheck-timer

[root@linrac1 ~]# modprobe hangcheck-timer


[root@linrac1 ~]# grep Hangcheck /var/log/messages | tail -2

时代朝阳会员专区:Oracle RAC 集群 第 9 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

Oracle 用户的创建及设置

在节点 1 和 2:创建 oracle 用户和组及相关目录


1 节点 1:
创建 dba,oinstall 组和 oracle 用户及相关目录

[root@linrac1 ~]# mkdir -p /u01/app


[root@linrac1 ~]# groupadd dba
[root@linrac1 ~]# groupadd oinstall
[root@linrac1 ~]# useradd -g dba -G oinstall -d /u01/app/oracle -s /bin/bash -c "Oracle Software
Owner" -p oracle oracle
[root@linrac1 ~]# chown -R oracle:dba /u01
[root@linrac1 ~]# passwd oracle

时代朝阳会员专区:Oracle RAC 集群 第 10 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

2 节点 2:

[root@linrac2 ~]# mkdir -p /u01/app


[root@linrac2 ~]# groupadd -g 500 dba
[root@linrac2 ~]# groupadd -g 501 oinstall
[root@linrac2 ~]# useradd -u 500 -g dba -G oinstall -d /u01/app/oracle -s /bin/bash -c "Oracle
Software" -p oracle oracle
[root@linrac2 ~]# chown -R oracle:dba /u01
[root@linrac2 ~]# passwd oracle

3 创建 OCR 软件存放目录:

[root@linrac1 ~]# mkdir -p /u02/oradata/orcl


[root@linrac1 ~]# chown -R oracle:dba /u02

时代朝阳会员专区:Oracle RAC 集群 第 11 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

节点 1:

节点 2:

在节点 1 和 2:为 oracle 用户设置环境变量

1 用文本编辑器 vi 编辑.bash_profile 参数文件:

....................................
# .bash_profile

# Get the aliases and functions


if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

alias ls="ls -FA"

# User specific environment and startup programs


export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORA_CRS_HOME=$ORACLE_BASE/product/crs
export
ORACLE_PATH=$ORACLE_BASE/common/oracle/sql:.:$ORACLE_HOME/rdbms/admin

export JAVA_HOME=/usr/local/java

# Each RAC node must have a unique ORACLE_SID.(i.e. orcl1, orcl2,...)


export ORACLE_SID=orcl1

export PATH=.:$JAVA_HOME/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin

时代朝阳会员专区:Oracle RAC 集群 第 12 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH=${PATH}:$ORACLE_BASE/common/oracle/bin
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NLS10=$ORACLE_HOME/nls/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export THREADS_FLAG=native
export TEMP=/tmp
export TMPDIR=/tmp
....................................

时代朝阳会员专区:Oracle RAC 集群 第 13 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

时代朝阳会员专区:Oracle RAC 集群 第 14 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

在节点 1 和 2:为 Oracle 用户设置 Shell 限制


1 在/etc/security/limits.conf 文件中输入以下内容:

oracle soft nproc 2047


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

时代朝阳会员专区:Oracle RAC 集群 第 15 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

2 在/etc/pam.d/login 文件中输入以下内容:

session required /lib/security/pam_limits.so

3 在/etc/profile 文件中输入以下内容:

if [ \$USER = "oracle" ]; then

时代朝阳会员专区:Oracle RAC 集群 第 16 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

if [ \$SHELL = "/bin/ksh" ]; then


ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi

为远程访问设置用户等价性
1 使用远程 Shell 方法:

查看确保集群中的两个 Oracle RAC 节点上都安装了 rsh RPM:

[root@linrac1 ~]# rpm -q rsh rsh-server

时代朝阳会员专区:Oracle RAC 集群 第 17 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

2 要启用“rsh”和“rlogin”服务,必须将 /etc/xinetd.d/rsh 文件中的“disable”属性设置为“no”并且


必须重新加载 xinetd

[root@linrac1 ~]# chkconfig rsh on


[root@linrac1 ~]# chkconfig rlogin on
[root@linrac1 ~]# service xinetd reload

3 创建 /etc/hosts.equiv 文件:

时代朝阳会员专区:Oracle RAC 集群 第 18 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

[root@linrac1 etc]# touch /etc/hosts.equiv


[root@linrac1 etc]# chmod 600 /etc/hosts.equiv
[root@linrac1 etc]# chown root.root /etc/hosts.equiv

4 在节点 1 和 2:

编辑/etc/hosts.equiv 文件:

+linrac1 oracle
+linrac2 oracle
+linrac1-priv oracle
+linrac2-priv oracle

时代朝阳会员专区:Oracle RAC 集群 第 19 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

5 重命名 rsh 的 Kerberos 版本,以便使用正常的 rsh 命令:

[root@linrac1 ~]# which rsh


/usr/kerberos/bin/rsh
[root@linrac1 ~]# mv /usr/kerberos/bin/rsh /usr/kerberos/bin/rsh.original
[root@linrac1 ~]# mv /usr/kerberos/bin/rcp /usr/kerberos/bin/rcp.original
[root@linrac1~]#mv/usr/kerberos/bin/rlogin /usr/kerberos/bin/rlogin.original
[root@linrac1 ~]# which rsh

时代朝阳会员专区:Oracle RAC 集群 第 20 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

6 以 oracle 用户登录,测试连接并运行 rsh 命令,将使用节点 linrac1 执行所有安装,从该


节点运行以下命令:

[oracle@linrac1 ~]$ rsh linrac1 ls -l /etc/hosts.equiv


-rw------- 1 root root 76 2\u6708 29 13:33 /etc/hosts.equiv
[oracle@linrac1 ~]$ rsh linrac1-priv ls -l /etc/hosts.equiv
-rw------- 1 root root 76 2\u6708 29 13:33 /etc/hosts.equiv
[oracle@linrac1 ~]$ rsh linrac2 ls -l /etc/hosts.equiv
-rw------- 1 root root 75 2\u6708 29 13:30 /etc/hosts.equiv
[oracle@linrac1 ~]$ rsh linrac2-priv ls -l /etc/hosts.equiv
-rw------- 1 root root 75 2\u6708 29 13:30 /etc/hosts.equiv
[oracle@linrac1 ~]$

安装 OCFS2 及其设置

在节点 1 和 2:安装 OCFS2


1 查看软件包是否存在:

[root@linrac1 ~]# rpm -q ocfs2

时代朝阳会员专区:Oracle RAC 集群 第 21 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

2 安装 OCFS2:

检查系统版本:

上传软件包到/rpms 目录,并安装(节点 1 和 2):

[root@linrac1 rpms]# rpm -Uvh ocfs2*


[root@linrac1 rpms]# rpm -Uvh ocfs2*

时代朝阳会员专区:Oracle RAC 集群 第 22 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

检查安装结果:

[root@linrac1 oracle]# rpm -qa | grep ocfs2 | sort


[root@linrac2 oracle]# rpm -qa | grep ocfs2 | sort

时代朝阳会员专区:Oracle RAC 集群 第 23 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

3
4

在节点 1 和 2:禁用 SELinux(节点 1 和 2)


1

安装 Enterprise Linux 期间中,已禁用 SELinux。

在节点 1 和 2:配置 OCFS2


1 运行 ocfs2console 工具,创建和配置 /etc/ocfs2/cluster.conf 文件

[root@linrac1 rpms]# ocfs2console

时代朝阳会员专区:Oracle RAC 集群 第 24 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

时代朝阳会员专区:Oracle RAC 集群 第 25 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

时代朝阳会员专区:Oracle RAC 集群 第 26 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

时代朝阳会员专区:Oracle RAC 集群 第 27 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

时代朝阳会员专区:Oracle RAC 集群 第 28 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

退出 ocfs2console 工具。

6
获得一个类似如下所示的 /etc/ocfs2/cluster.conf 文件:

时代朝阳会员专区:Oracle RAC 集群 第 29 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

7 节点 2 做相同操作。

在节点 1 和 2:配置 O2CB 在引导时启动并调整 O2CB 心跳阈值(节点 1 和


2)

1 [root@linrac1 ~]# /etc/init.d/o2cb offline ocfs2


[root@linrac1 ~]# /etc/init.d/o2cb unload

设置其 O2CB 心跳阈值为 61。

[root@linrac1 ~]# /etc/init.d/o2cb configuree

时代朝阳会员专区:Oracle RAC 集群 第 30 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

时代朝阳会员专区:Oracle RAC 集群 第 31 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

重新启动系统(节点 1 和 2)

安装和配置自动存储管理 (ASMLib 2.0)

在节点 1:安装 ASMLib 2.0


1 [oracle@linrac1 ~]# rpm -q oracleasm

时代朝阳会员专区:Oracle RAC 集群 第 32 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

2 检查系统版本:

[oracle@linrac1 ~]$ uname –a

上传软件包到/rpms 目录,并安装(节点 1):

时代朝阳会员专区:Oracle RAC 集群 第 33 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

[root@linrac1 oracle]# rpm -Uvh oracleasm*

时代朝阳会员专区:Oracle RAC 集群 第 34 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

3 检查安装结果:

[root@linrac1 rpms]# rpm -qa | grep oracleasm | sort

在节点 1 和 2:配置和加载 ASMLib 2.0 程序


1 /etc/init.d/oracleasm configure

时代朝阳会员专区:Oracle RAC 集群 第 35 页
www.zhaoyang-db.com/huiyuan
北京时代朝阳数据库技术中心 Trail 实验室 www.zhaoyang-db.com

时代朝阳会员专区:Oracle RAC 集群 第 36 页
www.zhaoyang-db.com/huiyuan

You might also like