VMware 8 + Linux5.8 +Oracle 11g R2 RAC安装图解(二)

  本人初入ORACLE,在这方面还是小菜,虽然以前在公司安装过单机的生产机器,公司也有好多的机器是安装的RAC集群数据库,本着学习的态度在自己机器上面尝试安装11g RAC,记录的东西包括虚拟机安装、linux安装和oracle RAC安装,记录的方式也笔记蠢,但也很直观。

  PS:请各位大虾手下留情,不喜勿喷!

----------------------------------------------------

本次安装过程我总的分为3个小节

(一):vmware+linux的安装

(二):数据库环境配置和磁盘组的创建

(三):安装grid和安装oracle数据库

-----------------------------------------------------

 软件介绍:

虚拟机:VMware_Workstation_wmb 8.4

linux  :rhel-server-5.8-x86_64-dvd.iso

oracle版本:Oracle 11gr2 server

这些软件相信大家都可去官网下载,这里就不提供下载链接。

-----------------------------------------------------

今天我们进行数据库环境配置和磁盘组的创建

首先是数据库环境配置

1.配置HOSTS,修改主机名和网络配置

# public
192.168.0.212 rac1
192.168.0.213 rac2
# priv
192.168.226.212 rac1-priv
192.168.226.213 rac2-priv
# vip
192.168.0.214 rac1-vip
192.168.0.215 rac2-vip
# scan
192.168.0.222 rac-scan
2.检查rpm包
rpm -q binutils compat-libstdc++ elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat
检查信息:
注: 一般都缺(compat-libstdc,libaio-devel,sysstat),找到相应的包并安装。compat-libstdc包安装后检查时候 可能还是检查不出来,可以跳过。
3.创建用户和组及安装目录
  groupadd -g 601 oinstall
  groupadd -g 602 dba
  groupadd -g 603 oper
  groupadd -g 604 asmadmin
  groupadd -g 605 asmoper
  groupadd -g 606 asmdba
  useradd -g oinstall -G dba,asmdba,oper oracle
  useradd -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid
 --userdel -r oracle
  passwd oracle
  passwd grid
 
  mkdir -p /u01/app/oracle/product/11.2.0/dbhome_1
  mkdir -p /u01/app/grid
  mkdir -p /u01/app/gridbase/product/11.2.0/grid
  chown -R oracle:oinstall /u01/app/
  chown -R grid:oinstall /u01/app/grid
  chown -R grid:oinstall /u01/app/gridbase
  chmod -R 775 /u01/
 
4.修改系统参数
# vi /etc/security/limits.conf
 #ORACLE SETTING
  grid soft nproc 2047
  grid hard nproc 16384
  grid soft nofile 1024
  grid hard nofile 65536
   grid soft stack 10240
 
  oracle soft nproc 2047
  oracle hard nproc 16384
  oracle soft nofile 1024
  oracle hard nofile 65536
   oracle soft stack 10240
 
 # vi /etc/pam.d/login
 #ORACLE SETTING
 session required pam_limits.so
 
 # vi /etc/sysctl.conf
 #ORACLE SETTING
  fs.aio-max-nr = 1048576
  fs.file-max = 6815744
  kernel.shmall = 2097152
  kernel.shmmax = 536870912
  kernel.shmmni = 4096
  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
 
 生效: sysctl -p
 
  在Linux中,共享内存是以segment为单位分配的,segment的最大尺寸由SHMMAX参数控制,segment的尺寸可以小于SHMMAX;一个进程可以分配多个segment,最大个数由SHMSEG来控制;系统中可分配的segment的个数由SHMMNI控制,默认为4096;系统中共享内存page的数量取决于SHMALL参数,page的尺寸一般为4K,也就是说,系统中可用的最大共享内存为SHMALL*4K,这个值一般至少设置为系统物理内存的90%。
 
5.修改gird、oracle用户的.bash_profile文件
 #grid 用户配置文件 ORACLE_HOSTNAME请自行设置
  ORACLE_SID=+ASM; export ORACLE_SID
  ORACLE_BASE=/u01/app/grid; export ORACLE_BASE
  ORACLE_HOME=$ORACLE_BASE/product/11.2.0/grid; export ORACLE_HOME
  PATH=$ORACLE_HOME/bin:$PATH; export PATH
 
  if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
          if [ $SHELL = "/bin/ksh" ]; then
                ulimit -p 16384
                ulimit -n 65536
          else
                ulimit -u 16384 -n 65536
          fi
          umask 022
  fi
 
 #oracle用户配置文件 ORACLE_HOSTNAME请自行设置
 # Oracle Settings oracle
  ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
  ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME
  ORACLE_SID=orcl; export ORACLE_SID
  PATH=$ORACLE_HOME/bin:$PATH; export PATH
 
  if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
          if [ $SHELL = "/bin/ksh" ]; then
                ulimit -p 16384
                ulimit -n 65536
          else
                ulimit -u 16384 -n 65536
          fi
          umask 022
  fi
 
6.设置tmpfs参数
umount tmpfs
mount -t tmpfs shmfs -o size=3000m /dev/shm
vi /etc/fstab
 
 
7.停止时间同步
service ntpd stop
chkconfig ntpd off
mv /etc/ntp.conf /etc/ntp.conf.20140630
rm -f /var/run/ntpd.pid

 ------------------------------------------------------------------------------------------------------------------------

下面我们创建共享磁盘

1.首先我们关掉linux,进入到配置界面,选择add                              2.选择hard disk             

     

3.选择创建磁盘                                                                        4.选择Independent,然后NEXT

     

5.分配大小为8G,并且立即分配                                                   6.选择存放位置

     

7.开始创建                                                                              8.同样的方式 我们创建好了5块磁盘

      

9.磁盘添加好了后,我们需要需改一下磁盘的属性,让他成为共享磁盘,找到虚拟机rac1的安装位置E:\VM\rac1,然后用文本打开rac1.vmx
在rac1.vmx添加
disk.locking= "FALSE"
disklib.dataCacheMaxSize="0"
disklib.dataCacheMaxReaDAheadSize="0"
disklib.dataCacheMinReaDAheadSize="0"
disklib.dataCachePageSize="4096"
disklib.maxUnsyncedWrites="0"
 
scsi0.sharedBus = "VIRTUAL"
--每个磁盘都添加
scsi0:1.deviceType="plainDisk"
scsi0:1.redo=""

    

10.启动rac1 ,进入/dev :ls -l sd* 

11.用fdisk sdc 为sdc分区

报错:资源繁忙导致,需要删除后重新去分区。

12.分别给5快盘分区:

到目前位置我们共享磁盘创建完成,并且分区也添加好了,下面我们来帮顶裸设备,也可以用asm工具去创建,这里我们选择用裸设备:

13.添加raw设备
vi  /etc/sysconfig/rawdevices
# raw device bindings
# format: <rawdev> <major> <minor>
# <rawdev> <blockdev>
# example: /dev/raw/raw1 /dev/sda1
# /dev/raw/raw2 8 5
 
#data
/dev/raw/raw1 /dev/sdb1
/dev/raw/raw2 /dev/sdc1
/dev/raw/raw3 /dev/sdd1
/dev/raw/raw4 /dev/sde1
/dev/raw/raw5 /dev/sdf1
 
vi /etc/rc.local --设置权限
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
chown grid:oinstall /dev/raw/raw1
chown grid:oinstall /dev/raw/raw2
chown grid:oinstall /dev/raw/raw3
chown grid:oinstall /dev/raw/raw4
chown grid:oinstall /dev/raw/raw5 
chmod 660 /dev/raw/raw1
chmod 660 /dev/raw/raw2
chmod 660 /dev/raw/raw3
chmod 660 /dev/raw/raw4
chmod 660 /dev/raw/raw5 
touch /var/lock/subsys/local
 
使裸设备重启
/etc/init.d/rawdevices restart
 
--查看裸设备
 raw -qa
 
删除裸设备 方法
raw /dev/raw/raw1 0 0
------------------------------------------------------------------------------------------------------
到目前位置我们算是吧RAC1所有配置工作基本配置完成,对于RAC2我们处理起来就简单多了,当然如果你还想练习一下也可以自己去重新一步步的安装一次。
这里我们就用拷贝的方式去取创建一个RAC2:
  首先在RAC1安装文件同级位置创建一个rac2的文件夹,并吧rac1文件夹下的所有文件全部拷贝到rac2文件夹下。
      然后打开vmmare,选择file,选择open,找到RAC2中的rac1.vmx,添加进来后选择新添加的虚拟机rac1右键rename重命名为rac2,虚拟机会自动去修改相应的配置
      最后点击启动rac2,系统会提示你该系统是怎么来的,选择拷贝选项,后面就等linux自动去处理,进入rac2系统后去改一下对应的网卡地址。
 
接下来打通节点间的通信通道(每个节点都要执行)grid 和oracle 用户下都要执行
mkdir ~/.ssh
ls -la
chmod 700 .ssh
cd .ssh
touch authorized_keys
--生成钥匙命令
/usr/bin/ssh-keygen -t dsa
--下面的在一个节点上执行
ls
cat id_dsa.pub >> authorized_keys
ssh rac1 cat .ssh/id_dsa.pub >> authorized_keys
--上面两个就是把两个节点的公钥都放在authorized_keys里面
scp authorized_keys rac1:~/.ssh
 
测试 ssh rac1 date
        ssh rac2 date
通过后就不需要输入密码,第一次可能需要输入密码。
--------------------------------------------------------------------------------------------------------------
好的两台机器的配置工作基本是告于段落,接下来就是grid和数据库的安装咯。
posted @ 2014-08-15 16:00  石头娱乐坊  阅读(346)  评论(0编辑  收藏  举报