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

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

翔之天空 2015-11-11 11:17:22 10856 收藏 3
分类专栏: Oracle 安装卸载 Oracle 高可用及容灾
版权
本次演示是在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

3、VIP/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.*


二:安装准备

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

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 进行修改

[root@localhost ~]# vi/etc/yum.repos.d/rhel-source.repo

[rhel-source]
name=Red Hat Enterprise Linux $releasever -$basearch - Source
baseurl=file:///setup/rhel6Setup/Server
enabled=1
gpgcheck=1
gpgkey=file:///setup/rhel6Setup/RPM-GPG-KEY-redhat-release

4)添加 /etc/pam.d/login
session required pam_limits.so
 

5)安装cvuqdisk包
在grid安装包目录下,安装cvuqdisk包
rpm -Uvh cvuqdisk*


6)添加内核参数  /etc/sysctl.conf
fs.aio-max-nr = 1048576 --文件系统最大异步io
fs.file-max = 6815744 --文件系统中最大文件个数
kernel.shmall = 2097152
kernel.shmmax = 2054504960
kernel.shmmni = 4096 --最小共享内存大小 bytes
# 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  

7)添加 /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 10240

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

groupadd -g 1000 oinstall
groupadd -g 1200 dba
useradd -u 1100 -g oinstall -G dba oracle
passwd oracle

9)添加目录和权限
mkdir -p /u01/app/11.2.0/grid
mkdir -p /u01/app/oracle/product/11.2.0/db_1
chown -R oracle:oinstall /u01
chmod -R 775 /u01/


10)添加Oracle的环境变量   

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

# Oracle Settings

TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR

ORACLE_HOSTNAME=rac1.localdomain; export ORACLE_HOSTNAME --rac2服务器注意
ORACLE_UNQNAME=TESTRAC; export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
GRID_HOME=/u01/app/11.2.0/grid; export GRID_HOME
DB_HOME=$ORACLE_BASE/product/11.2.0/db_1;export DB_HOME
ORACLE_HOME=$DB_HOME; export ORACLE_HOME
ORACLE_SID=TESTRAC1; export ORACLE_SID --rac2服务器注意
ORACLE_TERM=xterm; export ORACLE_TERM
BASE_PATH=/usr/sbin:$PATH; export BASE_PATH
PATH=$ORACLE_HOME/bin:$BASE_PATH; exportPATH

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

alias grid_env='. /home/oracle/grid_env'
alias db_env='. /home/oracle/db_env'
注:以上环境变量设置之后,需执行 source.bash_profile 使之有效

2、设置grid环境变量文件,创建/home/oracle/grid_env文件,内容如下:
ORACLE_SID=+ASM1; export ORACLE_SID --rac2服务器注意
ORACLE_HOME=$GRID_HOME; export ORACLE_HOME
PATH=$ORACLE_HOME/bin:$BASE_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

3、设置oracle环境变量文件,创建/home/oracle/db_env文件,内容如下:
ORACLE_SID=RAC1; export ORACLE_SID --rac2服务器注意
ORACLE_HOME=$DB_HOME; export ORACLE_HOME
PATH=$ORACLE_HOME/bin:$BASE_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


4、当/home/oracle/.bash_profile运行之后,如下操作可以切换环境变量
$ grid_env
$ echo $ORACLE_HOME
/u01/app/11.2.0/grid
$ db_env
$ echo $ORACLE_HOME
/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加密:
[oracle@rac1 ~]$ ssh-keygen -t rsa
[oracle@rac1 ~]$ ssh-keygen -t dsa


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

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

2、Rac2服务器设置:
(1)设置rsa和dsa加密:
[oracle@rac2 ~]$ ssh-keygen -t rsa
[oracle@rac2 ~]$ ssh-keygen -t dsa

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

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

3、查看一下rac1和rac2相同的authorized_keys文件,如下:
[oracle@rac1 .ssh]$ more authorized_keys

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA41SuwECtNZKeIWrQjlk5EpIjR77mPbt2WoV78m0YkHe3JCPryUtCgv2BGS
HRE8Txs/eNlc5FHqYnqwQIOFrvWo8spESd99wCDwmm4arb2yKmtXgQ8TNLm9i2uW3xwZFZFMc3vZtMwlm9chEAP0uhcGev
DopIHCde7/lUdGuhPtOXTtOV56aazQUULBD1imBEtFcy5wynO28eLFXqOUcgyD1yuZvUQKEYJaVmx2YIoUGAqLk1JRLXjE
xWNpwY76vAut9MQQdzNf45Ph+b7fSga69rfE3ZyzpF6JYXY5CfE1/jX8hCQJu3eGN3Ibow0mt2Sb4NvGmtlTj8KOKfOZ0l
6Q== oracle@rac1.localdomain

ssh-dss AAAAB3NzaC1kc3MAAACBAKSi5EuIIYnK32aZJNUpr+nlSiKUXuF1SnrXTmp9ktH10r8r481MxlRBvMZAfC3NQs
L74llv0IgYtcE+KbdXRaz3VIC/KnJmG2LgyqJWORd+nFpJwcaJgV1kvwOBUpv3TBGFzBkDpHAAeUa8L3BsU2/+IpTQCaOY
NxymPE7UbDyRAAAAFQCVm78VvJM651Aop+/jbH/F+ud7ewAAAIBt7NQVd/toLV9w+QyyDJDYbkPxCid+DLJrmcCQ4cM2Iq
WToMo5zweQxJ+IS2/oKedK4zR177gnrejaYdH4Xg+JxDuweEI3nnBA015obsyUlaTrTaoinclMSRaxLQ0SDX7tc2g408NK
yg1TTlhyTW3bnFkvqyNcLXQa+VcW8bDLSwAAAIAiC+Jlb4qT1KvUE14Ro/ITUPicSxs480qtRyYGa1/YSyn45VAFCDfemd
2yD2YMnV7SZtio63nwipipvrTrLl0sFbbCchryfYpHi3IkmJXqhNPUBG4DYryT8ay8AoAqeie5jikH9Axh1vz2ShhLRrwo
j7zvWDIwD/dHcYn8DiDJqw== oracle@rac1.localdomain

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA9WW0xrzlapdDgH8LarnGY9Tn0iQp00mT1POSunH5WkJDxrnntk+36fCIG6
eIhcEbbv6vlkMNNjfbjtBlvDDe4hKeXm1FDrPPBUNYMDs0ubVBKxkJaMOfEY7CiHAjQbcdPcP0MS6wYCEobyTw4KdUnHnD
5XqtWtvnBzSvMKJ4BudT6dYlLag2CYfKbslqT0No1WA1zLw1F5kGjc+qFlnK1eHZBdgVUcekN58VjHmGnpZdWfwmVDvWh4
nCjSrekTb111Vpxyj302DfuX+XnO746utPcefV5dyGuNUTB+nWM4dksETAuBuLVIfOqkiWh9VNNUJi7PQ8Q3LF98bC9ZaI
1w== oracle@rac2.localdomain

ssh-dss AAAAB3NzaC1kc3MAAACBAJuQkXUMWhh09GlyZg0mzcHWjIGBT6fq9xwJ1Wp1BtcmzlGyfwhAlTOJsK+By6TRvm
6OlVgcyuUZutPRER/fvKj0UCP3mFRT/ebw9QuriVCIuhj4WSTe/dfhzgnKdV4d8wMRoD/i9j+6ROS8h5RK29v2Lq/yRmPp
qfQ0VAk85ZqlAAAAFQCkoS+KEFlXoBK9W/wmqLzQQzahGQAAAIA/6WRIXNDzdbWqja8Mp+dNuNqiW6WusEQbJbB6gQ8XiA
S8UJRZ8sEEnNo3uJwkvdMoUspFfY+QNcvNtHi6J4RK5CsrQpdqNDmr8+zcOY+5xaeqRNmotdV5DSUkVw4RZlCF7CJ32t1p
8L6+wwfgQabM5XiurzETiFGyegvqpOTHuQAAAIBS9nlZUFDlnoeLVYSD4XbfwGZ+SYtOHhNX64suBnLsHOqzg/MmUf+pvZ
3OauyCO5R355tQ/+BOYHrSb46yW48UoVc3gmt9VbWEfWSHobdCjtSctyqfr3qCT0ZCMWKIzf1X8LR+pQWFS3d61eDSLXEE
JrKIypefXzj47GqBS/jDqg== oracle@rac2.localdomain

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

[oracle@rac1 ~]$ ssh rac1 date
[oracle@rac1 ~]$ ssh rac1-priv date
[oracle@rac1 ~]$ ssh rac2 date
[oracle@rac1 ~]$ ssh rac2-priv date


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

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


 

查看已格式化好的磁盘

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


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

[root@rac1 ~]# vi /etc/udev/rules.d/99-oracle-asmdevices.rules

KERNEL=="sdb1",SYSFS{size}=="4099936",NAME="asm-diskb",OWNER="oracle",GROUP="dba",MODE="0660"
KERNEL=="sdc1",SYSFS{size}=="4137322",NAME="asm-diskc",OWNER="oracle",GROUP="dba",MODE="0660"
KERNEL=="sdd1",SYSFS{size}=="4158092",NAME="asm-diskd",OWNER="oracle",GROUP="dba",MODE="0660"
KERNEL=="sde1",SYSFS{size}=="4178862",NAME="asm-diske",OWNER="oracle",GROUP="dba", MODE="0660"
KERNEL=="sdf1",SYSFS{size}=="4191324",NAME="asm-diskf",OWNER="oracle",GROUP="dba",MODE="0660"
KERNEL=="sdg1",SYSFS{size}=="10250770",NAME="asm-diskg",OWNER="oracle",GROUP="dba",MODE="0660"
KERNEL=="sdh1",SYSFS{size}=="10353690",NAME="asm-diskh",OWNER="oracle",GROUP="dba",MODE="0660"
KERNEL=="sdi1",SYSFS{size}=="10477194",NAME="asm-diski",OWNER="oracle",GROUP="dba",MODE="0660"

重启udev

[root@rac1 ~]# start_udev

Starting udev: [ OK ]

查看绑定的asm磁盘

[root@rac1 ~]# ll /dev/asm*

brw-rw---- 1 oracle dba 8, 17Nov 9 21:36 /dev/asm-diskb
brw-rw---- 1 oracle dba 8, 33Nov 9 21:36 /dev/asm-diskc
brw-rw---- 1 oracle dba 8, 49Nov 9 21:36 /dev/asm-diskd
brw-rw---- 1 oracle dba 8, 65Nov 9 21:36 /dev/asm-diske
brw-rw---- 1 oracle dba 8, 81Nov 9 21:36 /dev/asm-diskf
brw-rw---- 1 oracle dba 8, 97Nov 9 21:36 /dev/asm-diskg
brw-rw---- 1 oracle dba 8, 113 Nov 9 21:36 /dev/asm-diskh
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身份分别在rac1和rac2中执行以下脚本

安装完成,发现有失败项


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

是因为我们配置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

创建数据库


创建中


创建成功


 
————————————————
版权声明:本文为CSDN博主「翔之天空」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/fly43108622/article/details/49779391

原文地址:https://www.cnblogs.com/yaoyangding/p/14808620.html