当前位置:  数据库>oracle

RedHat Enterprise Linux 6.7 x64环境下使用RHCS部署Oracle 11g R2双机HA

    来源: 互联网  发布时间:2017-06-22

    本文导语: 环境   软硬件环境   硬件环境:   浪潮英信服务器NF570M3两台,华为OceanStor 18500存储一台,以太网交换机两台,光纤交换机两台。   软件环境:   操作系统:RedHat Enterprise Linux 6.7 x64   集群环境:RHCS   数据库...

环境   软硬件环境   硬件环境:

  浪潮英信服务器NF570M3两台,华为OceanStor 18500存储一台,以太网交换机两台,光纤交换机两台。

  软件环境:

  操作系统:RedHat Enterprise Linux 6.7 x64

  集群环境:RHCS

  数据库:Oracle 11g R2

  多路径软件:UltraPath for Linux

  存储划分 类型 卷 大小 挂载点 用途 备注 内置硬盘 标准 500MB /boot 启动分区

两块内置硬盘作RAID1

LVM 20GB /home 用户分区 20GB /var 日志分区 20GB /opt 应用分区 32GB N/A SWAP分区 500GB / 根分区 共享存储 LUN 500GB /oradata 数据库数据区 SAN存储分配一个500GB的LUN

  

 

 

 

 

 

 

 

 

  网络规划 主机名 IP 网口 用途 备注 ZHXYHDB01 35.1.1.250 bond0(eth0、eth2) 业务IP

心跳IP和Fence IP应在同一网段;

通常业务IP和此二者不在同一网段;

50.3.1.200 bond1(eth1、eth3) 心跳IP 50.3.1.202 MGMT Fence IP ZHXYHDB02 35.1.1.251 bond0(eth0、eth2) 业务IP 50.3.1.201 bond1(eth1、eth3) 心跳IP 50.3.1.203 MGMT Fence IP   35.1.1.245   集群VIP

 

 

 

 

 

 

 

 

 

  集群拓扑

 RedHat Enterprise Linux 6.7 x64环境下使用RHCS部署Oracle 11g R2双机HA[图片]

系统预配置   系统安装(略)   存储识别

  已在华为OceanStor存储上为本项目分配了500GB LUN,只需分别安装华为OceanStor UltraPath多路径软件,重启后即可正确识别存储裸设备。

  RedHat Enterprise Linux 6.7 x64环境下使用RHCS部署Oracle 11g R2双机HA[图片]

  /dev/sdb即为识别到的共享存储,在两台服务器上均正确识别存储后,利用此共享存储空间创建LVM逻辑卷组和逻辑卷。:

  1、使用fdisk对/dev/sdb新建磁盘分区sdb1(使用全部500GB共享存储空间):

  RedHat Enterprise Linux 6.7 x64环境下使用RHCS部署Oracle 11g R2双机HA[图片]

  2、将其格式化为ext4文件系统格式:

 # mkfs.ext4 /dev/sdb1

  3、新建LVM卷组oraclevg,将/dev/sdb1创建为物理卷并加入卷组中,在卷组中创建逻辑卷oraclelv:

# pvcreate /dev/sdb1
# vgcreate oraclevg /dev/sdb1
# lvcreate -n oraclelv -L +500G /dev/oraclevg      #可通过vgdisplay查看vg全部剩余PE,然后使用‘-l PE数’参数将vg全部剩余空间加入lv中,而无须使用-L +xxGB的方式
# mkfs.ext4 /dev/oraclevg/oraclelv
# mkdir /oradata
#

  分别创建/oradata目录,用于挂载oraclelv逻辑卷,作为数据库数据区,修改该目录权限:

# mkdir /oradata
# chown oracle:oinstall /oradata
  网络配置

  

# service networkmanager stop
# chkconfig networkmanager off

  业务IP和心跳IP均作网卡绑定,。在/etc/sysconfig/network-scripts目录下新建ifcfg-bond0和ifcfg-bond1,以业务IP配置为例,网卡绑定配置如下:

  ifcfg-bond0:

 
DEVICE=bond0
NAME=bond0
BOOTPROTO=none
ONBOOT=yes
TYPE=Ethernet
IPADDR=35.1.1.250
NETMASK=255.255.255.0
GATEWAY=35.1.1.1         #如果是心跳IP则不能配置此行
BONDING_OPTS="miimon=100 mode=1"
 

  ifcfg-eth0:

DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=none
SLAVE=yes
MASTER=bond0

  ifcfg-eth2:

DEVICE=eth2
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=none
SLAVE=yes
MASTER=bond0

  然后在/etc/modprobe.d/目录下新建bonding.conf文件,加入如下内容:

alias bond0 bonding
alias bond1 bonding

  关闭NetworkManager服务,重启network服务:

# service NetworkManager stop
# chkconfig NetworkManager off
# service network restart

  HA集群所需的Fence设备在本项目中可以直接使用浪潮服务器自带的IPMI,即MGMT管理口的服务器管理系��。Fence IP的配置需要重启服务器,进入BIOS中的Advance选项的IPMI或者BMC项中配置,此处建议配置网关。同样需要在两台服务器上分别配置。

  检查网络是否调通,在两台服务器上分别ping 110.1.5.1网关、110.1.5.61--110.1.5.66的全部地址以及需要连通的其他网段地址。

  最后在两台服务器上分别配置HOST文件,完成主机名与IP的映射(此步不是必须,如果主机名、心跳名无关紧要的话):

#/etc/hosts
35.1.1.250      ZHXYHDB01
35.1.1.251      ZHXYHDB02
35.1.1.245      ZHXYHDB

50.3.1.200      ZHXYHDB01-PRIV
50.3.1.201      ZHXYHDB02-PRIV
  YUM本地源配置

  本地源用于方便后续的RHCS集群软件以及oracle所需软件包的安装。。

  两台服务器上分别挂载RedHat 6.7系统镜像:

# mount -o loop redhat6.7.iso /mnt/iso

  在/etc/yum.repos.d目录下新建rhel6.7.repo文件,写入如下内容:

#rhel6.7.repo
[Server] name=RHELServer baseurl=file:///mnt/iso/Server enabled=1 gpgcheck=0 [ResilientStorage] name=RHELResilientStorage baseurl=file:///mnt/iso/ResilientStorage enabled=1 gpgcheck=0 [ScalableFileSystem] name=RHELScalableFileSystem baseurl=file:///mnt/iso/ScalableFileSystem enabled=1 gpgcheck=0 [HighAvailability] name=RHELHighAvailability baseurl=file:///mnt/iso/HighAvailability enabled=1 gpgcheck=0 [LoadBalancer] name=RHELLoadBalancer baseurl=file:///mnt/iso/LoadBalancer enabled=1 gpgcheck=0
 
# yum clean all         #终端输入此命令更新源
  关闭SELinux和iptables防火墙

  1、关闭防火墙

  在两台服务器上分别执行以下命令:

# service iptables stop
# chkconfig iptables off

  2、关闭SELinux:

修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
重启机器即可
Oracle数据库安装

  oracle数据库软件需要,只安装数据库软件而不创建数据库实例。各种Linux发行版上安装Oracle 11g R2的详细需求和过程可参见官方文档:

https://docs.oracle.com/cd/E11882_01/install.112/e24326/toc.htm

  下面是本项目的Oracle数据库完整安装过程。

  数据库安装前配置   新建oracle用户和组
# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle
# passwd oracle
  配置oracle内核参数

  内核参数配置在/etc/sysctl.conf文件中,配置参数说明:

在安装Oracle的时候需要调整linux的内核参数,但是各参数代表什么含义呢,下面做详细解析。

Linux安装文档中给出的最小值:
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4294967295
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


各参数详解:

kernel.shmmax:

是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值。设置应该足够大,能在一个共享内存段下容纳下整个的SGA ,设置的过低可能会导致需要创建多个共享内存段,这样可能导致系统性能的下降。至于导致系统下降的主要原因为在实例启动以及ServerProcess创建的时候,多个小的共享内存段可能会导致当时轻微的系统性能的降低(在启动的时候需要去创建多个虚拟地址段,在进程创建的时候要让进程对多个段进行“识别”,会有一些影响),但是其他时候都不会有影响。

官方建议值:

32位linux系统:可取最大值为4GB(4294967296bytes)-1byte,即4294967295。建议值为多于内存的一半,所以如果是32为系统,一般可取值为4294967295。32位系统对SGA大小有限制,所以SGA肯定可以包含在单个共享内存段中。

64位linux系统:可取的最大值为物理内存值-1byte,建议值为多于物理内存的一半,一般取值大于SGA_MAX_SIZE即可,可以取物理内存-1byte。例如,如果为12GB物理内存,可取12*1024*1024*1024-1=12884901887,SGA肯定会包含在单个共享内存段中。 

kernel.shmall:

    该参数控制可以使用的共享内存的总页数。Linux共享内存页大小为4KB,共享内存段的大小都是共享内存页大小的整数倍。一个共享内存段的最大大小是16G,那么需要共享内存页数是16GB/4KB=16777216KB /4KB=4194304(页),也就是64Bit系统下16GB物理内存,设置kernel.shmall = 4194304才符合要求(几乎是原来设置2097152的两倍)。这时可以将shmmax参数调整到16G了,同时可以修改SGA_MAX_SIZE和SGA_TARGET为12G(您想设置的SGA最大大小,当然也可以是2G~14G等,还要协调PGA参数及OS等其他内存使用,不能设置太满,比如16G)

kernel.shmmni:

该参数是共享内存段的最大数量。shmmni缺省值4096,一般肯定是够用了。

fs.file-max:

该参数决定了系统中所允许的文件句柄最大数目,文件句柄设置代表linux系统中可以打开的文件的数量。

fs.aio-max-nr:

      此参数限制并发未完成的请求,应该设置避免I/O子系统故障。

   推荐值是:1048576 其实它等于 1024*1024 也就是 1024K 个。

kernel.sem:

以kernel.sem = 250 32000 100 128为例:

       250是参数semmsl的值,表示一个信号量集合中能够包含的信号量最大数目。

       32000是参数semmns的值,表示系统内可允许的信号量最大数目。

       100是参数semopm的值,表示单个semopm()调用在一个信号量集合上可以执行的操作数量。

       128是参数semmni的值,表示系统信号量集合总数。

net.ipv4.ip_local_port_range:

    表示应用程序可使用的IPv4端口范围。

net.core.rmem_default:

表示套接字接收缓冲区大小的缺省值。

net.core.rmem_max:

表示套接字接收缓冲区大小的最大值。

net.core.wmem_default:

表示套接字发送缓冲区大小的缺省值。

net.core.wmem_max:

表示套接字发送缓冲区大小的最大值。
 

  其中kernel.shmmax关系到Oracle数据库的系统全局区SGA的最大大小,kernel.shmmax值不能小于SGA的大小,否则后面设置SGA时会因为kernel.shmmax太小而出错。kernel.shmmax的大小需要根据当前系统环境的内存大小和Oracle数据库的SGA所期望的大小进行设定。SGA和PGA大小的设定原则为:

 
Oracle官方文档推荐:
MEMORY_TARGET=物理内存 x 80%
MEMORY_MAX_SIZE=物理内存 x 80%

对于OLTP系统: 
SGA_TARGET=(物理内存 x 80%) x 80%
SGA_MAX_SIZE=(物理内存 x 80%) x 80%
PGA_AGGREGATE_TARGET=(物理内存 x 80%) x 20%

对于DSS系统:
SGA_TARGET=(物理内存 x 80%) x 50%
SGA_MAX_SIZE=(物理内存 x 80%) x 50%
PGA_AGGREGATE_TARGET=(物理内存 x 80%) x 50%

  本项目中服务器内存为32G,为SGA设置最大值为20G,因此将Oralce数据库内核参数配置为:

#oracle
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 5242880
kernel.shmmax = 21474836480
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

  将以上代码加入/etc/sysctl.conf文件的末尾,并在终端输入sysctl -p 命令使配置立即生效。

  配置Oracle系统资源限制

  系统资源限制文件为/etc/security/limits.conf,该文件说明如下:

limits.conf的格式如下:
  username|@groupname type resource limit
  username|@groupname:设置需要被限制的用户名,组名前面加@和用户名区别。也可以用通配符*来做所有用户的限制。
  type:有 soft,hard 和 -,soft 指的是当前系统生效的设置值。hard 表明系统中所能设定的最大值。soft 的限制不能比har 限制高。用 - 就表明同时设置了 soft 和 hard 的值。
  resource:
  core - 限制内核文件的大小
  date - 最大数据大小
  fsize - 最大文件大小
  memlock - 最大锁定内存地址空间
  nofile - 打开文件的最大数目
  rss - 最大持久设置大小
  stack - 最大栈大小
  cpu - 以分钟为单位的最多 CPU 时间
  noproc - 进程的最大数目
  as - 地址空间限制
  maxlogins - 此用户允许登录的最大数目
  要使 limits.conf 文件配置生效,必须要确保 pam_limits.so 文件被加入到启动文件中。查看 /etc/pam.d/login 文件中有:
  session required /lib/security/pam_limits.so

  本项目的Oracle资源限制设置为:

oracle           soft    nproc   2047
oracle           hard    nproc   16384
oracle           soft    nofile  1024
oracle           hard    nofile  65536

  将以上代码加入/etc/security/limits.conf文件末尾。

  配置Oracle环境变量

  1、创建Oracle相关目录并更改相关权限:

# mkdir -p /opt/oracle/oracle11g
# mkdir -p /opt/oraInventory
# chown -R oracle:oinstall /opt/oracle
# chmod -R 775 /opt/oracle
# chown -R oracle:oinstall /opt/oraInventory
# chmod -R 775 /opt/oraInventory

  2、配置Oracle环境变量:

  在/etc/profile文件末尾加入如下内容:

#Oracle
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/oracle11g
export ORACLE_SID=zxbank   #本项目的oracle实例名
export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin

  终端输入如下命令使配置生效:

# . /etc/profile
  安装相关软件包

  Oracle数据库软件的安装和运行需要依赖部分第三方软件包,安装Oracle数据库前需要先安装这些软件包,根据Oracle官方安装文档,RedHat 6.7环境需要安装的软件包有:

binutils-2.20.51.0.2-5.11.el6 (x86_64)
compat-libcap1-1.10-1 (x86_64)
compat-libstdc++-33-3.2.3-69.el6 (x86_64)
compat-libstdc++-33-3.2.3-69.el6.i686
elfutils-libelf-0.161-3.el6(x86_64)
elfutils-0.161-3.el6(x86_64)
elfutils-devel-0.161-3.el6(x86_64)
elfutils-libs-0.161-3.el6(x86_64)
elfutils-libelf-devel-0.161-3(el6.x86_64)
gcc-4.4.4-13.el6 (x86_64)
gcc-c++-4.4.4-13.el6 (x86_64)
glibc-2.12-1.7.el6 (i686)
glibc-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6.i686
ksh
libgcc-4.4.4-13.el6 (i686)
libgcc-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6.i686
libstdc++-devel-4.4.4-13.el6 (x86_64)
libstdc++-devel-4.4.4-13.el6.i686
libaio-0.3.107-10.el6 (x86_64)
libaio-0.3.107-10.el6.i686
libaio-devel-0.3.107-10.el6 (x86_64)
libaio-devel-0.3.107-10.el6.i686
make-3.81-19.el6
sysstat-9.0.4-11.el6 (x86_64)
unixODBC-2.2.14-11.el6 (x86_64) or later
unixODBC-2.2.14-11.el6.i686 or later
unixODBC-devel-2.2.14-11.el6 (x86_64) or later
unixODBC-devel-2.2.14-11.el6.i686 or later

  以上包均可通过使用yum命令从之前配置好的本地源中安装。

  :安装软件包技巧:软件包版本号无须完全一致,也无须一个个安装,只需利用通配符进行批量安装即可,如安装unixODBC的相关包,可直接使用

# yum -y install unixODBC*

  命令一步到位,不会产生软件包漏装的问题。正式安装Oracle数据库时会有一个检查系统环境是否满足需求的过程,如果提示部分软件包没有安装,则在root账户下使用yum进行安装即可,如果只是软件包版本不对则可直接忽略。

  Oracle数据库正式安装

  切换到oracle用户下:

# su - oracle

  将系统变量LANG暂时设置为英文,以免安装界面出现中文字符无法显示:

# export LANG=en_US

  解压Oracle安装包,执行runInstaller进行图文界面安装。

# cd database
# ./runInstaller

  RedHat Enterprise Linux 6.7 x64环境下使用RHCS部署Oracle 11g R2双机HA[图片]

  不勾选也不填邮箱,点下一步,弹出提示点是。

RedHat Enterprise Linux 6.7 x64环境下使用RHCS部署Oracle 11g R2双机HA[图片]

  选只安装数据库软件,下一步。

RedHat Enterprise Linux 6.7 x64环境下使用RHCS部署Oracle 11g R2双机HA[图片]

  选单节点安装,下一步。

RedHat Enterprise Linux 6.7 x64环境下使用RHCS部署Oracle 11g R2双机HA[图片]

  默认,下一步。

RedHat Enterprise Linux 6.7 x64环境下使用RHCS部署Oracle 11g R2双机HA[图片]

  选企业版,下一步。

RedHat Enterprise Linux 6.7 x64环境下使用RHCS部署Oracle 11g R2双机HA[图片]

  之前预安装配置没问题的话,这里会自动填上安装路径,直接下一步。

RedHat Enterprise Linux 6.7 x64环境下使用RHCS部署Oracle 11g R2双机HA[图片]

  下一步。

RedHat Enterprise Linux 6.7 x64环境下使用RHCS部署Oracle 11g R2双机HA[图片]

  确定告警的这些包是否已经安装,如果都只是依赖包的版本问题,直接勾选‘Ingore all’,然后点Finish即可完成安装,完成后按要求使用root账号运行两个脚本。

 

更多详情见请继续阅读下一页的精彩内容:

 


    
 
 

您可能感兴趣的文章:

  • RedHat Linux as 5.0 中自带的有Cluster吗?可以做双机热备吗?
  • 请问如何做到redhat fedora core2和redhat linux enterprise 3 AS共存,谢谢
  • 哪位老大有redhat enterprise 3的下载地址?小弟愿奉献100分!!
  • redhat Enterprise LINUX 12.0 无法显示中文
  • RedHat.Enterprise.Server.3.AS是什么东西?
  • 关于redhat enterprise Linux的问题!!
  • 怎样解决REDHAT Enterprise 3网络邻居;乱码问题?
  • Redhat Enterprise linux 下的Chinput如何安装
  • Redhat linux enterprise 4 从图形界面转到 文本模式
  • 安装redhat enterprise linux5出错
  • 初级问题:Red Hat Enterprise Linux AS 2.1 是不是 Redhat Linux advance Server 2.1 ?
  • 跪求redhat enterprise linux下载
  • redhat linux enterprise4 firefox一打开刚弹出窗口就关闭
  • RedHat Enterprise Linux 3图形界面损坏...帮忙啊
  • Look for register: Redhat8.0, JBuilder Enterprise
  • 哪里能下到REDHAT Enterprise 3 AS的2张文档盘和3张源码盘
  • 有没有人在VMware4.5上安装过Redhat Enterprise Linux?
  • 大家觉得 Redhat Enterprise AS 4.0 如何??稳定性和兼容性如何呢?
  • redhat linux enterprise e3版本中的中文压缩包的位置?
  • Redhat Enterprise Linux 5桌面版在哪下载啊?
  • redhat enterprise 5.0安装无线网卡驱动
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • redhat/centos 常用信息查看命令整理
  • 请问redhat6.2或redhat7.0有没有汉化版本或汉化包。only redhat serial?
  • Linux/centos/redhat下各种压缩解压缩方式详解
  • 我机器上装了win98SE,win2000 Server,和Mandrake linux,我想再装个RedHat,可是到后来我发现RedHat没有认出ManDrake,我装上RedHat后,Lilo
  • Linux_centos_redhat下tar命令解压tgz文件方法
  • 不是说Liunx是免费发布的嘛,请问哪里可以下载RedHat 7.3或更高版本的redhat的完全安装版,请提供地址,我想装个redhat学学
  • redhat linux/CentOS 6/7 关闭防火墙(iptables)命令,作用:CentOS 防火墙不关行不行?
  • 三个问题,关于RedHat7.2和RedHat7.3的........
  • 根据文件大小查找文件的find命令举例(Linux,centos,redhat)
  • REDHAT8 比 REDHAT7.x要好多少? 是不是对硬件要求比较高? 另外
  • 红帽redhat下通过脚本和yum安装docker容器引擎的详细步骤
  • redhat13.8与redhat9有什么驱别?
  • Redhat/Centos下rpmbuild命令从spec文件或者tar包建立rpm
  • 求救!!安装redhat后,提示重启,但是没有没有redhat的启动选项
  • REDHAT8.0还是REDHAT9.0?
  • 请问:redhat 的桌面是gnome吗,我的redhat 9是默认安装的。
  • redhat 12与redhat 5.5有什么区别?不用序列号能不能用?
  • [RedHat9]RedHat9无法进入图形模式,疑是声卡问题,请教如何解决?
  • 菜鸟刚学redhat,redhat eth0 网卡怎么激活,在线等
  • 求Redhat9.0下载地址,Redhat9.0现在仍否允许免费下载?
  • Redhat7.2比较Redhat7.1在那些方面改进了?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3