Chinaunix首页 | 论坛 | 博客
  • 博客访问: 44774
  • 博文数量: 28
  • 博客积分: 1080
  • 博客等级: 少尉
  • 技术积分: 265
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-12 10:38
文章分类

全部博文(28)

文章存档

2011年(1)

2009年(27)

我的朋友

分类: Oracle

2009-05-18 13:54:03

Oracle 10g RAC On Linux Using NFS

This article describes the installation of Oracle 10g release 2 (10.2.0.1) RAC on Linux (Oracle Enterprise Linux 4.5) using NFS to provide the shared storage.

Introduction

NFS是网络文件系统的缩写(Network File System),是由Sun Microsystems创造的于平台独立的技术,该技术允许通过一种运行在TCP/IP之上的叫虚拟文件系统(VFS,Virtual File System)接口共享访问存储在计算机上的文件. 共享这些文件的计算机叫做NFS服务器(NFS servers), 访问这些共享文件的计算机叫做NFS客户端(NFS clients). 单个计算机既可以做NFS服务器,也可以做NFS客户端,也可以两者都做. 我们可以使用NFSOracle RAC提供共享存储.在生产环境中,我们期望NFS服务器是一个NAS,但是我们做测试的时候,可以用一个服务器作为NFS共享存储,或者用RAC中其中的一个节点作为NFS共享存储. 我这里选用RAC中其中的一个节点作为共享存储,用这种方法,当这个节点宕机了,则整个数据库就无法使用了,用这种方法也无法测试HA(high availability)。如果你有NAS或者第三台机器做共享存储,则更好模拟实际环境。无论用什么方法,但安装起来基本一样。

Download Software

下载以下软件.

Operating System Installation

Oracle Enterprise Linux Oracle 10g (10.2.0.1) CRS and DB software 操作系统的安装本试验使用Oracle Enterprise Linux 4.5,等同于CentOS 4 or Red Hat Enterprise Linux (RHEL) 4. 普通操作系统的安装请参考 . 在这里需要安装的是服务器,至少2GB swap分区,做实验嘛,就禁用firewall and secure Linux disabled)并安装以下安装包:

  • X Window System
  • GNOME Desktop Environment
  • Editors
  • Graphical Internet
  • Server Configuration Tools
  • FTP Server
  • Development Tools
  • Legacy Software Development
  • Administration Tools
  • System Tools

To be consistent with the rest of the article, the following information should be set during the installation:

RAC1:

  • hostname: rac1.localdomain
  • IP Address eth0: 192.168.2.101 (public address)
  • Default Gateway eth0: 192.168.2.1 (public address)
  • IP Address eth1: 192.168.0.101 (private address)
  • Default Gateway eth1: none

RAC2:

  • hostname: rac2.localdomain
  • IP Address eth0: 192.168.2.102 (public address)
  • Default Gateway eth0: 192.168.2.1 (public address)
  • IP Address eth1: 192.168.0.102 (private address)
  • Default Gateway eth1: none



基本安装完成后,以root用户登陆,安装以下rpm包。

# From Oracle Enterprise Linux 4.5 Disk 1
cd /media/cdrecorder/CentOS/RPMS
rpm -Uvh setarch-1*
rpm -Uvh compat-libstdc++-33-3*
rpm -Uvh make-3*
rpm -Uvh glibc-2*
cd /
eject
 
# From Oracle Enterprise Linux 4.5 Disk 2
cd /media/cdrecorder/CentOS/RPMS
rpm -Uvh openmotif-2*
rpm -Uvh compat-db-4*
rpm -Uvh gcc-3*
cd /
eject
 
# From Oracle Enterprise Linux 4.5 Disk 3
cd /media/cdrecorder/CentOS/RPMS
rpm -Uvh libaio-0*
rpm -Uvh rsh-*
rpm -Uvh compat-gcc-32-3*
rpm -Uvh compat-gcc-32-c++-3*
rpm -Uvh openmotif21*
cd /
eject

Oracle安装前的准备

root用户登陆到RAC1,执行以下操作:

1) 修改/etc/hosts # vi/etc/hosts

127.0.0.1       localhost.localdomain   localhost
# Public
192.168.2.101   rac1.localdomain        rac1
192.168.2.102   rac2.localdomain        rac2
#Private
192.168.0.101   rac1-priv.localdomain   rac1-priv
192.168.0.102   rac2-priv.localdomain   rac2-priv
#Virtual
192.168.2.111   rac1-vip.localdomain    rac1-vip
192.168.2.112   rac2-vip.localdomain    rac2-vip
#NAS
192.168.2.101   nas1.localdomain        nas1

注意:这里的nas1是指到第一个节点rac1,如果你使用的是一个真实的NAS或第三台服务器作为共享存储,请再上面的文件中,指定它的ip地址。

 

2)修改/etc/sysctl.conf,修改内核参数。

# vi /etc/sysctl.conf 
增加以下内容:
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
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
 
# Additional and amended parameters suggested by Kevin Closson
net.core.rmem_default = 524288
net.core.wmem_default = 524288
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.ipfrag_high_thresh=524288
net.ipv4.ipfrag_low_thresh=393216
net.ipv4.tcp_rmem=4096 524288 16777216
net.ipv4.tcp_wmem=4096 524288 16777216
net.ipv4.tcp_timestamps=0
net.ipv4.tcp_sack=0
net.ipv4.tcp_window_scaling=1
net.core.optmem_max=524287
net.core.netdev_max_backlog=2500
sunrpc.tcp_slot_table_entries=128
sunrpc.udp_slot_table_entries=128
net.ipv4.tcp_mem=16384 16384 16384
 

运行 # /sbin/sysctl -p 使修改的内核参数生效。

 

3)修改/etc/security/limits.conf,增加以下内容:

# vi /etc/security/limits.conf

 

*               soft    nproc   2047
*               hard    nproc   16384
*               soft    nofile  1024
*               hard    nofile  65536

4)修改/etc/pam.d/login 文件,如果没有以下行,则添加

# vi /etc/pam.d/login

session    required     /lib/security/pam_limits.so
 
5)通过修改/etc/selinux/config 文件,禁止secure linux,确保SELINUX设置如下:SELINUX=disabled

disabled 也可以通过图形界面工具来完成(Applications > System Settings > Security Level). 点击SELinux标签and disable the feature.

6)设置hangcheck内核模块参数

# vi /etc/modprobe.confoptions hangcheck-timer hangcheck_tick=30 hangcheck_margin=180 执行execute "modprobe -v hangcheck-timer"

执行# "modprobe -v hangcheck-timer",使修改的参数生效

7)创建用户和组

# groupadd oinstall

# groupadd dba
# groupadd oper
 
useradd -g oinstall -G dba oracle
passwd oracle
 
8)安装的时候,安装RSH and RSH-Server,通过执行以下步骤开启远程。
# chkconfig rsh on
# chkconfig rlogin on
# service xinetd reload

 

9)以root用户创建 /etc/hosts.equiv文件

touch /etc/hosts.equiv
chmod 600 /etc/hosts.equiv
chown root:root /etc/hosts.equiv

 

10)编辑 /etc/hosts.equiv 文件,将RAC所有的节点添加进来。

# vi /etc/host.equiv

+rac1 oracle
+rac2 oracle
+rac1-priv oracle
+rac2-priv oracle

 

11)oracle用户登陆,按照以下修改.bash_profile文件。

su – oracle

$ vi .bash_profile

 

# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
 
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1; export ORACLE_HOME
ORACLE_SID=RAC1; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
 
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
 
if [ $USER = "oracle" ]; then
  if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
  else
    ulimit -u 16384 -n 65536
  fi
fi
 

注意:在第二个节点上要将 ORACLE_SID 设置为 RAC2

--- To be continued

阅读(415) | 评论(0) | 转发(0) |
0

上一篇:IP自动设置

下一篇:vi中的快捷键

给主人留下些什么吧!~~