Rhel6.6_Oracle11gR2(ASM,UDEV)的RAC搭建安装

原文地址:http://blog.csdn.net/fly43108622/article/details/49779391


本次演示是在Rhel6.6环境下Oracle11gR2的RAC搭建安装

环境: VM + Rhel6.6 + GI + Oracle11gR2 



基本信息


1)安装包

Rhel6     :  rhel-server-6.6-x86_64-dvd.iso
Oracle11gR2:p13390677_112040_Linux-x86-64_1of7.zip
p13390677_112040_Linux-x86-64_2of7.zip
Grid Infrastructure(GI): p13390677_112040_Linux-x86-64_3of7.zip

 

2)服务器环境

1两台虚拟机信息:

hostname:RAC1 ,   ip:192.168.103.106

hostname:RAC2 ,   ip:192.168.103.107

 

2、心跳IP信息

RAC1的心跳IP:192.168.1.106

RAC2的心跳IP:192.168.1.107

 

3VIP/SCANIP信息

RAC1的VIP:192.168.103.116

RAC1的VIP:192.168.103.117

ScanIP:192.168.103.118

附:关于以上rac的各种ip的详细介绍:http://czmmiao.iteye.com/blog/2124373

 

3)共享磁盘设置

5块2G磁盘,表决磁盘

3块5G磁盘,存放数据文件

附:虚拟机设置共享磁盘方式:http://wenku.baidu.com/link?url=qWeZ6VJcZNSrSlGYA4ru6FCS7-7PZn_xwq_eRiuCjWc-kQHWBhlg82rlgJaUqjDT3F8PUWtgwMbPxjmDsyoG7VCUsUvWLcmPkTh8ov07CU_




一:安装linux


1)linux安装时的选项

  • Base System > Base
  • Base System > Client management tools
  • Base System > Compatibility libraries
  • Base System > Hardware monitoring utilities
  • Base System > Large Systems Performance
  • Base System > Network file system client
  • Base System > Performance Tools
  • Base System > Perl Support
  • Servers > Server Platform
  • Servers > System administration tools
  • Desktops > Desktop
  • Desktops > Desktop Platform
  • Desktops > Fonts
  • Desktops > General Purpose Desktop
  • Desktops > Graphical Administration Tools
  • Desktops > Input Methods
  • Desktops > X Window System
  • Development > Additional Development
  • Development > Development Tools
  • Applications > Internet Browser

 

2)linux需要安装的包


需要添加以下的包,以确保Oracle的正常安装(暂时不添加也可以,在安装Oracle时会详细提示缺少哪个包的)

 

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 pdksh-5*

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.*

 

 


二:安装准备


注:以下的安装准备都要需要在RAC1RAC2两个服务器设置。

 

1)修改防火墙设置

重启后生效

开启: chkconfig iptables on

关闭: chkconfig iptables off

 

即时生效,重启后失效

开启: service iptables start

关闭: service iptables stop

 

2)修改 /etc/selinux/config

SELINUX=disabled

 

3)指定本地yum源

对/etc/yum.repos.d/rhel-source.repo 进行修改

[plain]  view plain  copy
  1. [root@localhost ~]# vi/etc/yum.repos.d/rhel-source.repo  
  2.   
  3. [rhel-source]  
  4. name=Red Hat Enterprise Linux $releasever -$basearch - Source  
  5. baseurl=file:///setup/rhel6Setup/Server  
  6. enabled=1  
  7. gpgcheck=1  
  8. gpgkey=file:///setup/rhel6Setup/RPM-GPG-KEY-redhat-release  

 

4)添加 /etc/pam.d/login

[plain]  view plain  copy
  1. session    required     pam_limits.so  

 

5)安装cvuqdisk包

在grid安装包目录下,安装cvuqdisk包
[plain]  view plain  copy
  1. rpm -Uvh cvuqdisk*  


6)添加内核参数  /etc/sysctl.conf

[plain]  view plain  copy
  1. fs.aio-max-nr = 1048576   --文件系统最大异步io  
  2. fs.file-max = 6815744     --文件系统中最大文件个数  
  3. kernel.shmall = 2097152  
  4. kernel.shmmax = 2054504960  
  5. kernel.shmmni = 4096  --最小共享内存大小 bytes  
  6. # semaphores: semmsl, semmns, semopm,semmni  
  7. kernel.sem = 250 32000 100 128  
  8. net.ipv4.ip_local_port_range = 9000 65500  --端口的范围  
  9. net.core.rmem_default=262144  
  10. net.core.rmem_max=4194304  
  11. net.core.wmem_default=262144  
  12. net.core.wmem_max=1048586  

修改完成后执行 /sbin/sysctl -p  

 

7)添加 /etc/security/limits.conf

[plain]  view plain  copy
  1. oracle              soft    nproc  2047  
  2. oracle              hard    nproc  16384  
  3. oracle              soft    nofile 1024  
  4. oracle              hard    nofile 65536  
  5. oracle              soft    stack  10240  
  6. oracle              hard    stack  10240  

8)添加oracle的用户和组

注:本次演示只用一个Oracle用户,需要grid的时候,可以切换到grid环境变量中。

[plain]  view plain  copy
  1. groupadd -g 1000 oinstall  
  2. groupadd -g 1200 dba  
  3. useradd -u 1100 -g oinstall -G dba oracle  
  4. passwd oracle  

9)添加目录和权限

[plain]  view plain  copy
  1. mkdir -p  /u01/app/11.2.0/grid  
  2. mkdir -p /u01/app/oracle/product/11.2.0/db_1  
  3. chown -R oracle:oinstall /u01  
  4. chmod -R 775 /u01/  


10)添加Oracle的环境变量    


1、切换oracle用户,并添加以下环境变量到oracle目录下的 .bash_profile文件中

[plain]  view plain  copy
  1. # Oracle Settings  
  2.   
  3. TMP=/tmp; export TMP  
  4. TMPDIR=$TMP; export TMPDIR  
  5.   
  6. ORACLE_HOSTNAME=rac1.localdomain; export ORACLE_HOSTNAME     --rac2服务器注意  
  7. ORACLE_UNQNAME=TESTRAC; export ORACLE_UNQNAME  
  8. ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE  
  9. GRID_HOME=/u01/app/11.2.0/grid; export GRID_HOME  
  10. DB_HOME=$ORACLE_BASE/product/11.2.0/db_1;export DB_HOME  
  11. ORACLE_HOME=$DB_HOME; export ORACLE_HOME  
  12. ORACLE_SID=TESTRAC1; export ORACLE_SID                      --rac2服务器注意  
  13. ORACLE_TERM=xterm; export ORACLE_TERM  
  14. BASE_PATH=/usr/sbin:$PATH; export BASE_PATH  
  15. PATH=$ORACLE_HOME/bin:$BASE_PATH; exportPATH  
  16.   
  17. LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;export LD_LIBRARY_PATH  
  18. CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;export CLASSPATH  
  19.   
  20. alias grid_env='. /home/oracle/grid_env'  
  21. alias db_env='. /home/oracle/db_env'  

注:以上环境变量设置之后,需执行 source.bash_profile 使之有效

 

2、设置grid环境变量文件,创建/home/oracle/grid_env文件,内容如下:
[plain]  view plain  copy
  1. ORACLE_SID=+ASM1; export ORACLE_SID        --rac2服务器注意  
  2. ORACLE_HOME=$GRID_HOME; export ORACLE_HOME  
  3. PATH=$ORACLE_HOME/bin:$BASE_PATH; export PATH  
  4.   
  5. LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH  
  6. CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH  



3、设置oracle环境变量文件,创建/home/oracle/db_env文件,内容如下:
[plain]  view plain  copy
  1. ORACLE_SID=RAC1; export ORACLE_SID        --rac2服务器注意  
  2. ORACLE_HOME=$DB_HOME; export ORACLE_HOME  
  3. PATH=$ORACLE_HOME/bin:$BASE_PATH; export PATH  
  4.   
  5. LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH  
  6. CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH  


4、当/home/oracle/.bash_profile运行之后,如下操作可以切换环境变量
[plain]  view plain  copy
  1. $ grid_env  
  2. $ echo $ORACLE_HOME  
  3. /u01/app/11.2.0/grid  
  4. $ db_env  
  5. $ echo $ORACLE_HOME  
  6. /u01/app/oracle/product/11.2.0/db_1  


11) 添加ip信息 /etc/hosts    

# Public
192.168.103.106   rac1.localdomain        rac1
192.168.103.107   rac2.localdomain        rac2

# Private
192.168.1.106     rac1-priv.localdomain     rac1-priv
192.168.1.107     rac2-priv.localdomain     rac2-priv

# Virtual
192.168.103.116   rac1-vip.localdomain      rac1-vip
192.168.103.117   rac2-vip.localdomain      rac2-vip

# SCAN
192.168.103.118   scanip.localdomain       scanip

12) 设置SSH信任关系

基本步骤:

1)设置rac1的rsa和dsa加密,然后都追加到authorized_keys文件中
2)再把rac1的authorized_keys拷贝到rac2中
3)同样rac2的rsa和dsa加密,然后把rac2的rsa和dsa加密追加到authorized_keys文件中
4)再把rac2的authorized_keys文件拷贝到rac1中,覆盖之前的authorized_keys文件

注:这样的话rac1和rac2的authorized_keys文件中都有了彼此的rsa和dsa加密

 

1、Rac1服务器设置:

(1)设置rsa和dsa加密:
[sql]  view plain  copy
  1. [oracle@rac1 ~]$ ssh-keygen -t rsa  
  2. [oracle@rac1 ~]$ ssh-keygen -t dsa  


(2)把rsa和dsa加密都放置到authorized_keys文件中:
[sql]  view plain  copy
  1. [oracle@rac1 ~]$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys  
  2. [oracle@rac1 ~]$ cat .ssh/id_dsa.pub >> .ssh/authorized_keys  

(3)把rac1的authorized_keys拷贝到rac2中:
[sql]  view plain  copy
  1. [oracle@rac1 .ssh]$ scp authorized_keys 192.168.103.107:/home/oracle/.ssh  

2、Rac2服务器设置:

(1)设置rsa和dsa加密:
[sql]  view plain  copy
  1. [oracle@rac2 ~]$ ssh-keygen -t rsa  
  2. [oracle@rac2 ~]$ ssh-keygen -t dsa  

(2)把rac2的rsa和dsa加密都放置到从rac1拷贝来的authorized_keys文件中:
[sql]  view plain  copy
  1. [oracle@rac2 ~]$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys  
  2. [oracle@rac2 ~]$ cat .ssh/id_dsa.pub >> .ssh/authorized_keys  

(3)把rac2中的authorized_keys文件拷贝到rac1中,覆盖之前的authorized_keys文件:
 
 
  1. [oracle@rac2 .ssh]$ scp authorized_keys 192.168.103.106:/home/oracle/.ssh  


3、查看一下rac1和rac2相同的authorized_keys文件,如下:

[sql]  view plain  copy
  1. [oracle@rac1 .ssh]$ more authorized_keys   
  2.   
  3. ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA41SuwECtNZKeIWrQjlk5EpIjR77mPbt2WoV78m0YkHe3JCPryUtCgv2BGS  
  4. HRE8Txs/eNlc5FHqYnqwQIOFrvWo8spESd99wCDwmm4arb2yKmtXgQ8TNLm9i2uW3xwZFZFMc3vZtMwlm9chEAP0uhcGev  
  5. DopIHCde7/lUdGuhPtOXTtOV56aazQUULBD1imBEtFcy5wynO28eLFXqOUcgyD1yuZvUQKEYJaVmx2YIoUGAqLk1JRLXjE  
  6. xWNpwY76vAut9MQQdzNf45Ph+b7fSga69rfE3ZyzpF6JYXY5CfE1/jX8hCQJu3eGN3Ibow0mt2Sb4NvGmtlTj8KOKfOZ0l  
  7. 6Q== oracle@rac1.localdomain  
  8.   
  9. ssh-dss AAAAB3NzaC1kc3MAAACBAKSi5EuIIYnK32aZJNUpr+nlSiKUXuF1SnrXTmp9ktH10r8r481MxlRBvMZAfC3NQs  
  10. L74llv0IgYtcE+KbdXRaz3VIC/KnJmG2LgyqJWORd+nFpJwcaJgV1kvwOBUpv3TBGFzBkDpHAAeUa8L3BsU2/+IpTQCaOY  
  11. NxymPE7UbDyRAAAAFQCVm78VvJM651Aop+/jbH/F+ud7ewAAAIBt7NQVd/toLV9w+QyyDJDYbkPxCid+DLJrmcCQ4cM2Iq  
  12. WToMo5zweQxJ+IS2/oKedK4zR177gnrejaYdH4Xg+JxDuweEI3nnBA015obsyUlaTrTaoinclMSRaxLQ0SDX7tc2g408NK  
  13. yg1TTlhyTW3bnFkvqyNcLXQa+VcW8bDLSwAAAIAiC+Jlb4qT1KvUE14Ro/ITUPicSxs480qtRyYGa1/YSyn45VAFCDfemd  
  14. 2yD2YMnV7SZtio63nwipipvrTrLl0sFbbCchryfYpHi3IkmJXqhNPUBG4DYryT8ay8AoAqeie5jikH9Axh1vz2ShhLRrwo  
  15. j7zvWDIwD/dHcYn8DiDJqw== oracle@rac1.localdomain  
  16.   
  17. ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA9WW0xrzlapdDgH8LarnGY9Tn0iQp00mT1POSunH5WkJDxrnntk+36fCIG6  
  18. eIhcEbbv6vlkMNNjfbjtBlvDDe4hKeXm1FDrPPBUNYMDs0ubVBKxkJaMOfEY7CiHAjQbcdPcP0MS6wYCEobyTw4KdUnHnD  
  19. 5XqtWtvnBzSvMKJ4BudT6dYlLag2CYfKbslqT0No1WA1zLw1F5kGjc+qFlnK1eHZBdgVUcekN58VjHmGnpZdWfwmVDvWh4  
  20. nCjSrekTb111Vpxyj302DfuX+XnO746utPcefV5dyGuNUTB+nWM4dksETAuBuLVIfOqkiWh9VNNUJi7PQ8Q3LF98bC9ZaI  
  21. 1w== oracle@rac2.localdomain  
  22.   
  23. ssh-dss AAAAB3NzaC1kc3MAAACBAJuQkXUMWhh09GlyZg0mzcHWjIGBT6fq9xwJ1Wp1BtcmzlGyfwhAlTOJsK+By6TRvm  
  24. 6OlVgcyuUZutPRER/fvKj0UCP3mFRT/ebw9QuriVCIuhj4WSTe/dfhzgnKdV4d8wMRoD/i9j+6ROS8h5RK29v2Lq/yRmPp  
  25. qfQ0VAk85ZqlAAAAFQCkoS+KEFlXoBK9W/wmqLzQQzahGQAAAIA/6WRIXNDzdbWqja8Mp+dNuNqiW6WusEQbJbB6gQ8XiA  
  26. S8UJRZ8sEEnNo3uJwkvdMoUspFfY+QNcvNtHi6J4RK5CsrQpdqNDmr8+zcOY+5xaeqRNmotdV5DSUkVw4RZlCF7CJ32t1p  
  27. 8L6+wwfgQabM5XiurzETiFGyegvqpOTHuQAAAIBS9nlZUFDlnoeLVYSD4XbfwGZ+SYtOHhNX64suBnLsHOqzg/MmUf+pvZ  
  28. 3OauyCO5R355tQ/+BOYHrSb46yW48UoVc3gmt9VbWEfWSHobdCjtSctyqfr3qCT0ZCMWKIzf1X8LR+pQWFS3d61eDSLXEE  
  29. JrKIypefXzj47GqBS/jDqg== oracle@rac2.localdomain  

4、测试SSH:

Rac1和 rac2分别测试,可以正常返回日期即可:

[sql]  view plain  copy
  1. [oracle@rac1 ~]$ ssh rac1 date  
  2. [oracle@rac1 ~]$ ssh rac1-priv date  
  3. [oracle@rac1 ~]$ ssh rac2 date  
  4. [oracle@rac1 ~]$ ssh rac2-priv date  



13)udev绑定磁盘  ASM

添加8块共享磁盘(5块2G的表决磁盘,3块10G的数据文件磁盘)

 

rac1中添加,rac2中选择rac2添加的磁盘即可,设置如下:


 

udev绑定的磁盘,不需要格式化,如果以文件系统格式化,安装grid时会发现不了磁盘。



查看磁盘信息,我这里取出KERNEL ,SIZE作为规则




添加规则 /etc/udev/rules.d/99-oracle-asmdevices.rules 文件

[plain]  view plain  copy
  1. [root@rac1 ~]# vi  /etc/udev/rules.d/99-oracle-asmdevices.rules  
  2.   
  3. KERNEL=="sdb1",SYSFS{size}=="4099936",NAME="asm-diskb",OWNER="oracle",GROUP="dba",MODE="0660"  
  4. KERNEL=="sdc1",SYSFS{size}=="4137322",NAME="asm-diskc",OWNER="oracle",GROUP="dba",MODE="0660"  
  5. KERNEL=="sdd1",SYSFS{size}=="4158092",NAME="asm-diskd",OWNER="oracle",GROUP="dba",MODE="0660"  
  6. KERNEL=="sde1",SYSFS{size}=="4178862",NAME="asm-diske",OWNER="oracle",GROUP="dba", MODE="0660"  
  7. KERNEL=="sdf1",SYSFS{size}=="4191324",NAME="asm-diskf",OWNER="oracle",GROUP="dba",MODE="0660"  
  8. KERNEL=="sdg1",SYSFS{size}=="10250770",NAME="asm-diskg",OWNER="oracle",GROUP="dba",MODE="0660"  
  9. KERNEL=="sdh1",SYSFS{size}=="10353690",NAME="asm-diskh",OWNER="oracle",GROUP="dba",MODE="0660"  
  10. KERNEL=="sdi1",SYSFS{size}=="10477194",NAME="asm-diski",OWNER="oracle",GROUP="dba",MODE="0660"  

重启udev

[plain]  view plain  copy
  1. [root@rac1 ~]# start_udev  
  2.   
  3. Starting udev: [  OK  ]  

查看绑定的asm磁盘

[plain]  view plain  copy
  1. [root@rac1 ~]#  ll /dev/asm*  
  2.   
  3. brw-rw---- 1 oracle dba 8,  17Nov  9 21:36 /dev/asm-diskb  
  4. brw-rw---- 1 oracle dba 8,  33Nov  9 21:36 /dev/asm-diskc  
  5. brw-rw---- 1 oracle dba 8,  49Nov  9 21:36 /dev/asm-diskd  
  6. brw-rw---- 1 oracle dba 8,  65Nov  9 21:36 /dev/asm-diske  
  7. brw-rw---- 1 oracle dba 8,  81Nov  9 21:36 /dev/asm-diskf  
  8. brw-rw---- 1 oracle dba 8,  97Nov  9 21:36 /dev/asm-diskg  
  9. brw-rw---- 1 oracle dba 8, 113 Nov 9 21:36 /dev/asm-diskh  
  10. brw-rw---- 1 oracle dba 8, 129 Nov 9 21:36 /dev/asm-diski  

附:或者用下述方式绑定udev

for i in b c d e f g ;
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



三:GI安装

注:安装GI只在rac1一台服务器上安装即可

 

1)   切换oracle环境,安装GI

[root@rac1 ~]# su - oracle

[oracle@rac1 ~]$ grid_env

[oracle@rac1 ~]$ cd /setup/gridSetup/grid/

[oracle@rac1 grid]$ ./runInstaller

 


跳过软件升级




安装和配置GI集群,下一步

 


安装方式,下一步



添加一个rac2信息,然后测试一下之前配置过的ssh信任关系

 


Ssh信任关系测试ok,下一步




环境变量已配置过,下一步

 


设置表决磁盘




环境变量已配置过,下一步

 


检查失败的项,这里忽略了,下一步




完成,开始安装

 

 

安装中




root身份分别在rac1rac2中执行以下脚本

 

 

安装完成,发现有失败项


查看错误日志,发现如下信息



是因为我们配置hosts文件,而没有dns的问题,这里可忽略

 

 


完成GI安装,关闭

 

 

 


四:ASM配置


注:asm配置只在rac1一台服务器上安装即可


配置ASM的数据文件磁盘组

[oracle@rac1 grid]$ asmca

 

 


建立数据文件磁盘组,这里选中三个磁盘,ok




创建完成,ok

 

 

 


五:Oracle安装


注:Oracle安装只在rac1一台服务器上安装即可


1)切换oracle用户,安装Oracle软件

[root@rac1 ~]# su - oracle

[oracle@rac1 ~]$ db_env

[oracle@rac1 ~]$ cd/setup/oracleSetup/database/

[oracle@rac1 database]$ ./runInstaller

 

不需要邮件

 

 

跳过升级


 


只安装数据库软件




RAC数据库安装


 


添加简体中文




企业版

 


之前环境变量设置过

 


用户组

 


这些错误可忽略,下一步




安装中

 

 

root用户在rac1和rac2都要执行脚本

 


安装完成

 



2)安装数据库


启动dbca安装数据库

[oracle@rac1 database]$ dbca


创建RAC数据库

 



创建数据库



 

数据库

 

 

 

实例名,选择rac1和rac2,下一步




不需要模板配置

 

 

创建密码




选择ASM磁盘组

 

 

RFA的ASM磁盘组

 


不需要组件

 

 

不需要sample

 

 

字符集,16GBK

 

 

创建数据库

 


创建中

 


创建成功


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值