从五月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