11.2.0.3 RAC on Oracle Linux 5.4

从五月19号开始OCM考试环境变成使用,11.2.0.3的DB和Oracle Linux 5.4 32bit。

本篇描述使用VirtualBox在Oracle Linux 5.4 32bit上安装Oracle Database 11g release 2 (11.2.0.3 32-bit) RAC。默认认为已经安装好VirtualBox,只简单讲述相关的配置。

系统安装注意:最少需要4G的swap,需要关闭firewall, SELinux设置为permissive,且需要安装以下package:

Desktop Environments > GNOME Desktop Environment
Applications > Editors
Applications > Graphical Internet
Development > Development Libraries
Development > Development Tools
Development > Legacy Software Development
Servers > Server Configuration Tools
Base System > Administration Tools
Base System > Base
Base System > Legacy Software Support
Base System > System Tools
Base System > X Window System

——————————————————-

Oracle安装先决条件

在安装之前,必须要先配置Oracle安装相关配置,可以使用自动配置,或者手动配置。

自动配置

你可以通过使用oracle-validated来配置Oracle的安装先决条件,按照在http://public-yum.oracle.com上的说明设置你的OL yum,然后使用:

# yum install oracle-validated

所有需要的先决条件都会被自动执行。

手动配置

如果没有使用oracle-validated,则你需要手动去设置,所以的安装先决条件。

1. 除了基础的系统操作外,还需要使用root用户来安装以下的packages,这包括32位和64位的packages。

rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})n' binutils 
binutils 
compat-libstdc++-33 
elfutils-libelf 
elfutils-libelf-devel 
gcc 
gcc-c++ 
glibc 
glibc-common 
glibc-devel 
glibc-headers 
ksh 
libaio 
libaio-devel 
libgcc 
libstdc++ 
libstdc++-devel 
libgomp 
make 
sysstat 
unixODBC 
unixODBC-devel 
numactl-devel 

然后缺少的包,用yum install安装

或者可以通过以下方式安装

# From Oracle Linux 5 DVD
cd /media/cdrom/Server
rpm -Uvh binutils-2.*
rpm -Uvh compat-libstdc++-33*
rpm -Uvh elfutils-libelf-0.*
rpm -Uvh elfutils-libelf-devel-*
rpm -Uvh gcc-4.*
rpm -Uvh gcc-c++-4.*
rpm -Uvh glibc-2.*
rpm -Uvh glibc-common-2.*
rpm -Uvh glibc-devel-2.*
rpm -Uvh glibc-headers-2.*
rpm -Uvh ksh-2*
rpm -Uvh libaio-0.*
rpm -Uvh libaio-devel-0.*
rpm -Uvh libgcc-4.*
rpm -Uvh libstdc++-4.*
rpm -Uvh libstdc++-devel-4.*
rpm -Uvh make-3.*
rpm -Uvh sysstat-7.*
rpm -Uvh unixODBC-2.*
rpm -Uvh unixODBC-devel-2.*

2. 增加或修改以下内容到”/etc/sysctl.conf” 文件

fs.aio-max-nr = 1048576
fs.file-max = 6815744
#kernel.shmall = 2097152 
#kernel.shmmax = 1054504960
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
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=1048586

####################################
#使用下列命令生效内核参数
/sbin/sysctl -p

3. 增加下列内容到”/etc/security/limits.conf” 文件

oracle       soft    nproc   2047
oracle       hard    nproc   16384
oracle       soft    nofile  4096
oracle       hard    nofile  65536
oracle       soft    stack   10240
grid         hard    nofile  65536

4. 增加下列内容到”/etc/pam.d/login”文件

session    required     pam_limits.so

5. 创建新的用户和用户组

groupadd -g 1000 oinstall
groupadd -g 1020 asmadmin
groupadd -g 1021 asmdba
groupadd -g 1022 asmoper
groupadd -g 1031 dba
groupadd -g 1032 oper
useradd -u 1101 -g oinstall -G asmdba,dba oracle
useradd -u 1100 -g oinstall -G asmadmin,asmdba,dba grid

6. 创建Oracle安装目录

mkdir -p  /u01/app/11.2.0/grid
mkdir -p /u01/app/grid
chown -R grid:oinstall /u01
mkdir -p /u01/app/oracle
chown oracle:oinstall /u01/app/oracle
chmod -R 775 /u01

============================================================

 Additional Setup

执行以下步骤,用root用户登入,在每个节点是上都要执行。

1. 设置oracle和grid用户的密码

passwd oracle
passwd grid

2. 安装下面的package,在grid media上

cd /your grid path/rpm
rpm -Uvh cvuqdisk*

也可以不安装,在grid安装自检的时候,通过runfixup.sh来安装。

 3. 如果没有使用DNS,/etc/hosts必须要包含以下信息:

#Public
192.168.2.161   ocmrac1   ocmrac1.oracle.com
192.168.2.163   ocmrac2   ocmrac2.oracle.com
# Private
172.168.1.16   ocmrac1-priv
172.168.1.17  ocmrac2-priv
# Virtual
192.168.2.162   ocmrac1-vip 
192.168.2.164   ocmrac2-vip
# SCAN
192.168.2.166   ocmrac-scan  ocmrac-cluster

 4. 检查相关系统设置

4.1 检查SELINUX是否设置为permissive,编辑”/etc/selinux/config”,确定SELINUX是设置如下:

SELINUX=permissive

4.2 为了不必要的麻烦,Oracle推荐在内部网络中关闭iptables,

# service iptables stop
# chkconfig iptables off

4.3 NTP配置

在11gR2,Oracle Cluster Time Synchronization Service (ctssd)可以RAC节点的时间,可以选择关闭NTP:

# service ntpd stop
Shutting down ntpd:                                        [  OK  ]
# chkconfig ntpd off
# mv /etc/ntp.conf /etc/ntp.conf.orig
# rm /var/run/ntpd.pid

5. 配置profile文件

1. root用户

#===================oracle11gr2=====================
if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
       if [ $SHELL = "/bin/bash" ]; then
               ulimit -p 16384
               ulimit -n 65536
       else
               ulimit -u 16384 -n 65536
       fi
fi

编辑root的.bash_profile

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2
export GRID_HOME=/u01/app/11.2.0.3/grid
export PATH=$GRID_HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin/
export ORACLE_BASE ORACLE_SID ORACLE_HOME GRID_HOME PATH

stty erase ^h
alias sqlplus="rlwrap sqlplus"
alias rman="rlwrap rman"

2. grid用户

编辑grid用户的.bash_profile

umask 022

export ORACLE_SID=+ASM1
export ORACLE_BASE=/u01/app/grid
export GRID_HOME=/u01/app/11.2.0.3/grid
export ORACLE_HOME=/u01/app/11.2.0.3/grid
export PATH=$GRID_HOME/bin:$GRID_HOME/OPatch:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin/
export LD_LIBRARY_PATH=$GRID_HOME/lib:$GRID_HOME/lib32
export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"
export ORA_NLS10=$ORACLE_HOME/nls/data
export NLS_LANG="Simplified Chinese"_China.AL32UTF8
export ORACLE_BASE ORACLE_SID PATH GRID_HOME LD_LIBRARY_PATH NLS_DATE_FORMAT ORACLE_HOME ORA_NLS10 NLS_LANG

stty erase ^h
alias sqlplus="rlwrap sqlplus"
alias rman="rlwrap rman"
alias asmcmd="rlwrap asmcmd"

3. oracle用户

编辑oracle用户的.bash_profile

umask 022
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2
export GRID_HOME=/u01/app/11.2.0/grid
export PATH=$GRID_HOME/bin:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin/
ORACLE_UNQNAME=oracle11g
export ORACLE_SID=ocrl
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32
export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"
export ORA_NLS10=$ORACLE_HOME/nls/data
export NLS_LANG="Simplified Chinese"_China.AL32UTF8
export ORACLE_BASE ORACLE_SID PATH  LD_LIBRARY_PATH NLS_DATE_FORMAT ORACLE_HOME ORA_NLS10 NLS_LANG

stty erase ^h
alias sqlplus="rlwrap sqlplus"
alias rman="rlwrap rman"

============================================================

 配置共享存储

这里使用UDEV,而不是使用ASMLIB。

如果使用vmware,则需要在vmx文件中加入: disk.EnableUUID = “TRUE” ,否则UUID出不来echo “options=–whitelisted –replace-whitespace” >> /etc/scsi_id.config

先查看磁盘:

[root@ocm ~]# cd /dev/
[root@ocm dev]# ls -l sd*
brw-r----- 1 root disk 8,  0 May 20 16:48 sda
brw-r----- 1 root disk 8,  1 May 20 16:48 sda1
brw-r----- 1 root disk 8,  2 May 20 16:48 sda2
brwx------ 1 root root 8, 16 May 20 16:48 sdb
brwx------ 1 root root 8, 32 May 20 16:48 sdc
brwx------ 1 root root 8, 48 May 20 16:48 sdd
brwx------ 1 root root 8, 64 May 20 16:48 sde
brwx------ 1 root root 8, 80 May 20 16:48 sdf

sda是系统盘,所以忽略不计,准备做共享的磁盘有b、c、d、e、f这五块盘。可以通过是用下来的命令实现udev共享磁盘

for i in b c d e f;
do
echo "KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name", RESULT=="`/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/sd$i`", NAME="asm-disk$i", OWNER="grid", GROUP="asmadmin", MODE="0660""      >> /etc/udev/rules.d/99-oracle-asmdevices.rules
done

启动UDEV:

/sbin/start_udev

查看是否配置成功:

[root@ocm dev]# ls -l asm*
brw-rw---- 1 grid asmadmin 8, 16 May 28 13:41 asm-diskb
brw-rw---- 1 grid asmadmin 8, 32 May 28 13:41 asm-diskc
brw-rw---- 1 grid asmadmin 8, 48 May 28 13:41 asm-diskd
brw-rw---- 1 grid asmadmin 8, 64 May 28 13:41 asm-diske
brw-rw---- 1 grid asmadmin 8, 80 May 28 13:41 asm-diskf

如上所示则说明配置成功。

==========================================================

安装图示:

gird安装

oracle安装

dbca

 

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据