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