Chinaunix首页 | 论坛 | 博客
  • 博客访问: 104610626
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Oracle

2008-04-30 13:43:22

前言:在RedHat Advance Server上安装Oracle 9204 RAC
定位
本文定位在那些有了一定Linux与oracle基础的,而且对RAC也要有相关了解热人员作为参考手册,而不是所谓的安装向导。所以本文没有详细的安装过程之类的步骤,却有详细的安装错误的解决办法。

覆盖范围
适合在Redhet AS 2.1与AS 3.0系统上

包括单节点、多节点安装

包括9201升级到9204和直接安装9204

包括文件系统(单机),OCFS文件系统,RAW设备与NFS网络文件系统的安装异同

第一章. RAC的机制
  RAC起源于版本8的OPS(Oracle parallel Server),OPS/RAC 最原始的设计初衷就是系统与应用的高可用性。OPS/RAC通过不同的节点使用一个(一般是一个)或多个oracle instances 与一个database 连接。RAC对早期的OPS做了众多的改进,特别是在节点的通信与管理上。RAC在工作期间,每个节点可以单独的被使用并且被应用程序负载均衡。如果发生意外,如一个节点的失败,可以实现节点的失败切换(failover),保证数据库24*7的高可用性。

  RAC的数据库要求建立在共享磁盘设备上,对于OPS,只支持RAW设备,RAC已经可以支持文件系统(单机模拟)、OCFS、RAW、与NFS等文件系统或者设备。因为RAC是多个实例对应一个数据库,每个节点都有自己的日志,因此在备份与恢复方面,将需要一些特殊的处理。

  但是,RAC并不提供容灾的功能,如共享磁盘设备的损坏,自然灾害等不可避免的损失,将导致RAC的不可使用,所以,RAC一般与其它的容灾组件配合使用,如RAC+DATA GUARD。

  取代以前版本的分布式锁管理(DLM),全局缓冲服务(GCS)与全局锁服务(GES)将负责RAC的管理工作。GCS的同步层允许每个实例单独的访问数据库,通过数据库的核心层管理实例级别的一致性与锁资源。所有的以上任务将被一组特殊的后台进程来完成:

LMON (Lock Monitor Process),锁监控进程

  责监控整个RAC的全局资源,管理实例与进程的过期以及全局缓冲服务与全局锁服务的恢复工作,LMON提供一个众所周知的聚族组服务(CGS)。

LMSn(The Global Cache Service Processes),全局缓冲服务进程

  LMSn可以处理远程节点的全局缓冲服务的信息,LMSn也负责控制到远程节点的信息流,RAC可以提供10个这样的服务进程LMS0-LMS9,其进程的多少取决于实例之间的通信量。LMSn负责处理远程节点的全局缓冲服务获得的中断请求,保证多个实例的读一致性请求。LMSn创建块的一致性的读信息并送到远程节点的实例。

LMD(The Global Enqueue Service Daemon),全局资源服务

  LMD资源代理进程,负责管理全局缓冲服务资源的管理,可以负责远程节点资源的请求与死锁的检测。

第二章. Linux上安装RAC的系统要求
2.1 内核需求
如果是如果是AS2.1,内核2.4.9 e16以上,如

[oracle@dbrac oracle]$ uname -a

Linux dbrac 2.4.9-e.37enterprise #1 SMP Mon Jan 26 11:20:59 EST 2004 i686 unknown

如果是3.0版本,则没有内核要求,内核信息一般如下

[root@ dbrac oracle]$ uname -a

Linux dbrac 2.4.21-4.ELsmp #1 SMP Fri Oct 3 17:52:56 EDT 2003 i686 i686 i386 GNU/Linux

2.2 binutils需求
binutils 要求binutils-2.11.90.0.8-12以上,如

如:2.1版本

[oracle@dbrac oracle]$ rpm -qa | grep -i binutils

binutils-2.11.90.0.8-12

3.0版本

[root@ dbrac oracle]$ rpm -qa | grep -i binutils

binutils-2.14.90.0.4-26

2.3 共享磁盘需求
如果是单节点安装,可以是本地硬盘,文件系统即可

如果是多节点安装,需要共享磁盘系统,可以是Raw设备,Ocfs文件系统,Nfs网络文件系统等。

第三章.安装前的准备工作
3.1调整Linux核心参数
在/etc/sysctl.conf中增加

net.core.rmem_default = 262144

net.core.rmem_max = 262144

net.core.wmem_default = 262144

net.core.rmem_max = 262144

net.ipv4.tcp_sack=0

net.ipv4.tcp_timestamps=0

fs.file-max = 65535

kernel.sem = 500 64000 100 128

kernel.shmmax = 2147483648

以上值根据不同的环境可能有变化,不再描述每个值的具体意义

3.2加载系统状态检查模块
这个模块在AS2.1-E16以上的核心或者是3.0的核心中是自带的,不需要安装,它取代了数据库9201版本的watchdog,所以,我们可以不需要配置watchdog,如果OS核心不够,可以升级核心。

可以通过如下方法检测是否存在该模块

$ find /lib/modules -name "hangcheck-timer.o"

/lib/modules/2.4.9-e.37enterprise/kernel/drivers/char/hangcheck-timer.o

你可以运行该模块并检查日志信息

# su - root

# /sbin/insmod hangcheck-timer hangcheck_tick=30 hangcheck_margin=180

# grep Hangcheck /var/log/messages |tail -1

在/etc/rc.local下增加

#!/bin/sh

touch /var/lock/subsys/local

/sbin/insmod hangcheck-timer hangcheck_tick=30 hangcheck_margin=180

或者

# su - root

# echo "options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180" >> /etc/modules.conf

这样的话,在系统重新启动后,该模块可以自动加载

3.3确定与配置节点
如果确定在单个节点上模拟RAC,那么/etc/hosts文件内容可以类似如下

[root@dbrac root]# more /etc/hosts

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1 localhost

10.0.29.162 dbrac

其中dbrac是该机器的机器名称,与hostname或/etc/sysconfig/network的内容一致

如果是在多节点上安装RAC,那么/etc/hosts文件内容可以类似如下

[oracle@db205 oracle]$ more /etc/hosts

# Do not remove the following line, or various programs

# that require network functionality will fail.

127.0.0.1 localhost

192.168.168.205 dbrac1

192.168.168.206 dbrac2

192.168.0.205 dbrac1-eth1

192.168.0.206 dbrac1-eth1

其中分别代表公用节点名称与私有节点名称,公用节点是网卡1配置的IP地址,表示对外应用程序连接通道;私有节点是网卡2配置的IP地址,用于多个节点之间的通信专用。

3.4创建oracle用户与组
#groupadd dba

#useradd oracle -g dba

#passwd oracle

3.5设置节点环境变量
如果是AS 3.0,注意设置如下参数

export LD_ASSUME_KERNEL=2.4.1

以下参数在两个平台下公用

export ORACLE_BASE=/u01/oracle

export ORACLE_HOME=/u01/oracle/ora920

export ORACLE_TERM=xterm

export NLS_LANG=AMERICAN_AMERICA.zhs16gbk

export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib



PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

export PATH

3.6准备目录结构
su - oracle

$cd $ORACLE_BASE

$ mkdir -p admin/rac/ ---存放配置文件

$ cd admin/rac/

$ mkdir bdump cdump udump createdblog

$cd $ORACLE_BASE

$ mkdir -p oradata/rac ----存放数据文件

注意:以上操作,如果是多个节点,需要在多个节点上完成 ,单个节点只需要在单节点上完成即可。

阅读(302) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~