您的位置:首页 > 数据库 > Oracle

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

2015-11-11 11:17 459 查看
本次演示是在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



创建数据库



创建中



创建成功

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: