当前位置: 首页 > news >正文

Oracle 11g RAC群集部署

Oracle 11g RAC群集部署

1.环境介绍:

操作系统:Oracle Enterprise Linux 6.5
Oracle数据库:Oracle 11.2.0.4
集群软件:Oracle Grid Infrastructure 11.2.0.4

2.所需介质:

p13390677_112040_Linux-x86-64_1of7
p13390677_112040_Linux-x86-64_2of7
p13390677_112040_Linux-x86-64_3of7

3.操作系统信息:(两个节点执行)

# uname –a   (查看内核属性)
# free –m     (查看内存)
# df –h        (查看分区挂载及使用情况)
# ifconfig –a   (查看网卡状态)
# iptables –F       (清空防火墙策略)
# /etc/init.d/iptables save    (保存防火墙策略)
# /etc/init.d/iptables stop    (关闭防火墙)
# chkconfig iptables off       (关闭防火墙自动启动)
# /etc/init.d/NetworkManager stop    (关闭网络管理)
# chkconfig NetworkManager off       (关闭网络管理自动启动)禁用SELINUX(重启系统生效)# vi /etc/selinux/config
------修改
SELINUX=disabled
关闭网络动态配置# vi /etc/sysconfig/network
------添加如下内容
NOZEROCONF=yes

4.正式部署安装

4.1配置/etc/hosts(两个节点相同)

# vi /etc/hosts
------添加如下内容
#public
20.1.1.6       rac1.localdomain             rac1
20.1.1.7      rac2.localdomain            rac2#private
10.10.0.1     rac1-priv.localdoain          rac1-priv
10.10.0.2     rac2-priv.localdomain        rac2-priv#virtual
20.1.1.8       rac1-vip.localdomain         rac1-vip
20.1.1.9       rac2-vip.localdomain         rac2-vip#scan
20.1.1.10     scan-cluster.localdomain     scan-cluster

4.1.1配置网卡绑定

RAC1配置如下:
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
------添加如下内容
DEVICE=eth0
TYPE=Ethernet
BOOTPROTO=none
NOBOOT=yes
USERTCL=no
MASTER=bond0
SLAVE=yes# vi /etc/sysconfig/network-scripts/ifcfg-eth1
------添加如下内容
DEVICE=eth1
TYPE=Ethernet
BOOTPROTO=none
NOBOOT=yes
USERTCL=no
MASTER=bond0
SLAVE=yes# vi /etc/sysconfig/network-scripts/ifcfg-eth2
------添加如下内容
DEVICE=eth2
TYPE=Ethernet
BOOTPROTO=none
NOBOOT=yes
USERTCL=no
MASTER=bond1
SLAVE=yes# vi /etc/sysconfig/network-scripts/ifcfg-eth3
------添加如下内容
DEVICE=eth3
TYPE=Ethernet
BOOTPROTO=none
USERTCL=no
MASTER=bond1
SLAVE=yes# vi /etc/sysconfig/network-scripts/ifcfg-bond0
------添加如下内容
DEVICE=bond0
TYPE=Ethernet
BOOTPROTO=none
USERTCL=no
ONBOOT=yes
IPADDR=20.1.1.6
NETMASK=255.255.255.0
GATEWAY=# vi /etc/sysconfig/network-scripts/ifcfg-bond1
------添加如下内容
DEVICE=bond1
TYPE=Ethernet
BOOTPROTO=none
USERTCL=no
ONBOOT=yes
IPADDR=10.10.0.1
NETMASK=255.255.255.0
GATEWAY=# /etc/init.d/network restart# vi /etc/modprobe.d/bonding.conf
------添加如下内容
alias bond0 bonding
alias bond1 bonding
options bonding max_bonds=2 miimon=200 mode=6# vi /etc/rc.d/rc.local
------追加如下内容
ifenslave bond0 eth0 eth1
ifenslave bond1 eth2 eth3
route add default gw 20.1.1.254# modprobe bonding
# /etc/init.d/network restart
# cat /proc/net/bonding/bond0
# cat /proc/net/bonding/bond1RAC2配置如下:
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
------添加如下内容
DEVICE=eth0
TYPE=Ethernet
BOOTPROTO=none
USERTCL=no
MASTER=bond0
SLAVE=yes# vi /etc/sysconfig/network-scripts/ifcfg-eth1
------添加如下内容
DEVICE=eth1
TYPE=Ethernet
BOOTPROTO=none
USERTCL=no
MASTER=bond0
SLAVE=yes\# vi /etc/sysconfig/network-scripts/ifcfg-eth2
------添加如下内容
DEVICE=eth2
TYPE=Ethernet
BOOTPROTO=none
USERTCL=no
MASTER=bond1
SLAVE=yes\# vi /etc/sysconfig/network-scripts/ifcfg-eth3
------添加如下内容
DEVICE=eth3
TYPE=Ethernet
BOOTPROTO=none
USERTCL=no
MASTER=bond1
SLAVE=yes\# vi /etc/sysconfig/network-scripts/ifcfg-bond0
------添加如下内容
DEVICE=bond0
TYPE=Ethernet
BOOTPROTO=none
USERTCL=no
ONBOOT=yes
IPADDR=20.1.1.7
NETMASK=255.255.255.0
GATEWAY=\# vi /etc/sysconfig/network-scripts/ifcfg-bond1
------添加如下内容
DEVICE=bond1
TYPE=Ethernet
BOOTPROTO=none
USERTCL=no
ONBOOT=yes
IPADDR=10.10.0.2
NETMASK=255.255.255.0
GATEWAY=重启网络服务
# /etc/init.d/network restart新建网卡绑定配置文件
# vi /etc/modprobe.d/bonding.conf
------添加如下内容
alias bond0 bonding
alias bond1 bonding
options bonding max_bonds=2 miimon=200 mode=6设置网卡绑定模块随系统自动启动
# vi /etc/rc.d/rc.local
------追加如下内容
ifenslave bond0 eth0 eth1
ifenslave bond1 eth2 eth3
route add default gw 20.1.1.254加载bond模块
# modprobe bonding重启网络服务
# /etc/init.d/network restart检查bond状态
# cat /proc/net/bonding/bond0

4.2系统配置

4.2.1 修改/etc/sysctl.conf(两个节点相同)

内核参数修改\# vi /etc/sysctl.conf
------添加如下内容
kernel.shmall = 1073741824      (控制共享内存段数,shmmni*shmall为可以使用的共享内存大小,单位是byte)
fs.file-max = 6815744             (最大文件数量)
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096            (1个内存段的大小,单位为KB)
kernel.shmmax = 4398046511104      (最大内存段的大小,单位是KB,可设90%物理内存)
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
kernel.panic_on_oops = 1

4.2.2 生效内核参数(两个节点相同)

sysctl –p

4.2.3 修改/etc/security/limits.conf(两个节点相同)

配置grid和oracle用户的资源限制# vi /etc/security/limits.conf
------添加如下内容
grid soft nofile 1024     (默认值)
grid hard nofile 65536   (默认值)
grid soft nproc 2047     (默认值)
grid hard nproc 16384   (默认值)
grid soft stack 10240    (默认值)
grid hard stack 32768   (默认值)
grid soft memlock 241172480     (略小于物理内存,单位是KB例:256G内存则设置为230G)
grid hard memlock 241172480    (略小于物理内存,单位是KB例:256G内存则设置为230G)oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
oracle soft memlock 241172480
oracle hard memlock 241172480

4.3 配置YUM源并安装所需包

4.3.1 配置YUM源

先将默认的yum源配置文件移动,然后创建一个新的(两个rac相同)
# cd /etc/yum.repos.d/
# mv pubic-yum-ol6.repo pubic-yum-ol6.repo.bak
# vi yum.repo------添加如下内容
[Server]
name=Server
baseurl=file:///mnt/oel6u5/Server/
enabled=1
gpgcheck=0

4.3.2 将镜像挂载上(两个节点相同)

# mkdir –p /mnt/oel6u5      (创建镜像挂载路径)
# mount /dev/sr0 /mnt/oel6u5 –o loop      (/dev/sr0是镜像所在位置)

4.3.3 安装所需包(两个节点相同)

for i in binutils compat-libcap1 compat-libstdc++-33 elfutils-libelf \
elfutils-libelf-devel expat gcc gcc-c++ glibc glibc-common \
glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel \
libgcc libgomp libstdc++ libstdc++-devel make numactl \
numactl-devel pdksh sysstat unixODBC unixODBC-devel libXext \
libXtst libX11 libXau libxcb libXi nfs-utils
do
rpm -q $i &>/dev/null || F="$F $i"
done ;echo $F;unset Fyum -y install binutils compat-libcap1 compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make numactl-devel sysstat unixODBC unixODBC-devel libXext libXtst libX11 libXau libxcb libXi nfs-utils

4.4 创建用户和组

4.4.1 创建组(两个节点相同)

groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
groupadd -g 54324 asmdba
groupadd -g 54325 asmoper
groupadd -g 54326 asmadmin

4.4.2 创建用户(两个节点相同)

useradd -u 54321 -g oinstall -G asmadmin,asmdba,asmoper,dba grid
useradd -u 54322 -g oinstall -G dba,asmadmin,oper,asmdba oracle

4.4.3 设置口令(两个节点相同)

# passwd grid
# passwd oracle

4.5 创建安装目录并授权(两个节点相同)

mkdir -p /u01/app/grid
mkdir -p /u01/app/11.2.0/grid
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oracle/product/11.2.0/db_1
chown -R grid:oinstall /u01
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01

4.6 配置环境变量

------RAC1
# su – grid
$ vi /home/grid/.bash_profile
------添加如下内容
export PATH
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=rac1.localdomain
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export ORACLE_SID=+ASM1
export PATH=$PATH:/usr/sbin:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib# su - oracle
# vi /home/oracle/.bash_profile
------添加如下内容
export PATH
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME= rac1.localdomain
export ORACLE_UNQNAME=racdb
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=racdb1
export PATH=/usr/sbin:$PATH
export PATH=$PATH:/usr/sbin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib------RAC2
# su – grid
$ vi /home/grid/.bash_profile
------添加如下内容
export PATH
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=rac2.localdomain
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/app/11.2.0/grid
export ORACLE_SID=+ASM2
export PATH=/usr/sbin:$PATH
export PATH=$PATH:/usr/sbin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib# su - oracle
$ vi /home/oracle/.bash_profile
------添加如下内容
export PATH
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_HOSTNAME=rac2.localdomain
export ORACLE_UNQNAME=racdb
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=racdb2
export PATH=/usr/sbin:$PATH
export PATH=$PATH:/usr/sbin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

4.7配置UDEV(两个节点相同)

安装udev安装包
# yum –y install udev*
# fdisk –l获得硬盘WWID系统信息,将获得的信息填入RESULT==””双引号内
/sbin/scsi_id –g –u –d /dev/sdb
/sbin/scsi_id –g –u –d /dev/sdc
/sbin/scsi_id –g –u –d /dev/sdd
/sbin/scsi_id –g –u –d /dev/sde
……新建udev配置文件
# cd /etc/udev/rules.d/
# vi 99-oracle-asmdevices.rules
------添加以下内容(将上一步获得的WWID信息填入RESULT==””双引号内)
KERNEL=="sd*",BUS=="scsi",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="360000000000000000e00000000010001",NAME="crs1",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="sd*",BUS=="scsi",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="360000000000000000e00000000010002",NAME="crs2",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="sd*",BUS=="scsi",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="360000000000000000e00000000010003",NAME="crs3",OWNER="grid",GROUP="asmadmin",MODE="0660"
KERNEL=="sd*",BUS=="scsi",PROGRAM=="/sbin/scsi_id --whitelisted --replace-whitespace --device=/dev/$name",RESULT=="360000000000000000e00000000010004",NAME="data1",OWNER="grid",GROUP="asmadmin",MODE="0660"然后start_udev 或/sbin/start_udev
把start_udev命令写道rc.local下面开机自启动

4.8 禁用NTP服务(两个节点相同)

# chkconfig ntpd off
# mv /etc/ntp.conf /etc/ntp.conf.bak

4.9 解压介质(在rac1执行)

# chown grid:oinstall p13390677_112040_Linux-x86-64_3of7
# chown oracle:oinstall p13390677_112040_Linux-x86-64_1of7
# chown oracle:oinstall p13390677_112040_Linux-x86-64_2of7
# chmod 775 p13390677_112040_Linux-x86-64_*
# mv p13390677_112040_Linux-x86-64_1of7 /home/oracle/
# mv p13390677_112040_Linux-x86-64_2of7 /home/oracle/
# mv p13390677_112040_Linux-x86-64_3of7 /home/grid/
# su – grid
$ unzip p13390677_112040_Linux-x86-64_3of7
$ su – oracle
$ unzip p13390677_112040_Linux-x86-64_1of7
$ unzip p13390677_112040_Linux-x86-64_2of7安装cvu相关的rpm包(两个节点都要安装)
\# cd /home/grid/grid/rpm/cvuqdisk-1.0.9-1.rpm

5. 配置信任关系

①在每个节点上创建 RSA密钥和公钥
使用grid用户登陆
mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa②整合公钥文件
在rac1上执行以下命令
ssh rac1 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ssh rac2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys③分发整合后的公钥文件
在rac1上执行以下命令
scp ~/.ssh/authorized_keys rac2:~/.ssh/④测试ssh互信
在每个节点上运行以下命令,若不需要输入密码就显示系统当前日期,就说明SSH互信已经配置成功了。
ssh rac1 date
ssh rac1-priv date
ssh rac1.localdomain date
ssh rac1-priv.localdomain date
ssh rac2 date
ssh rac2-priv date
ssh rac2.localdomain date
ssh rac2-priv.localdomain date使用oracle用户登陆
mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa②整合公钥文件
在rac1上执行以下命令
ssh rac1 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ssh rac2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys③分发整合后的公钥文件
在rac1上执行以下命令
scp ~/.ssh/authorized_keys rac2:~/.ssh/④测试ssh互信
在每个节点上运行以下命令,若不需要输入密码就显示系统当前日期,就说明SSH互信已经配置成功了。
ssh rac1 date
ssh rac1-priv date
ssh rac1.localdomain date
ssh rac1-priv.localdomain date
ssh rac2 date
ssh rac2-priv date
ssh rac2.localdomain date
ssh rac2-priv.localdomain date

安装

[grid@rac1 grid]$ export DISPLAY=10.10.0.1:0.0
[grid@rac1 grid]$ ./runInstaller1、安装集群
# su – grid
$ . /runInstaller2、安装Oracle Database 软件
#su - oracle
$./runInstaller3、创建ASM磁盘组
# su - grid  
$ asmca4、配置Oracle Database
#su - oracle
$ dbca
http://www.lryc.cn/news/34274.html

相关文章:

  • 【C++、C++11】列表初始化、右值引用
  • CMU15-445 Project.3总结
  • 002+limou+HTML——(2)HTML文档
  • 红外传感器模块与 Arduino 连接
  • NC xml配置文件不能生产java文件
  • 华为OD机试 - 五键键盘(C 语言解题)【独家】
  • Kubernetes Service简介
  • 【c++类与对象 】
  • 【C++】内联函数auto范围for循环nullptr
  • 运维效率狂飙,都在告警管理上
  • 【每日随笔】中国当前社会阶层 ( 技术无关 | 随便写写 )
  • 【13种css选择器】学css选择器,这一篇就够了
  • 1-1 微服务架构概述
  • uniapp传参
  • 面试官:说说你对 TypeScript 中函数的理解?与 JavaScript 函数的区别?
  • 【测试】HD-G2L-IO评估板测试结果表
  • [2.2.1]进程管理——调度的概念、层次
  • 【JavaScript UI库和框架】上海道宁与Webix为您提供用于跨平台Web应用程序开发的JS框架及UI小部件
  • 【微信小程序】-- WXS 脚本(二十九)
  • 案例19-遇见问题的临时解决方案和最终解决方案
  • 自指(Self-reference)
  • 关于Hanoi塔的实现
  • 原始套接字(Raw Socket)
  • SparkSQL与Hive交互
  • 「题解」日常遇到指针面试题
  • 实习生JAVA知识总结目录
  • GMPC认证有哪些内容?
  • D2-Net: A Trainable CNN for Joint Description and Detection of Local Features精读
  • Java基础面试题
  • SQL和MongoDB对比