Oracle 11g RAC群集部署
创始人
2024-05-30 15:06:59
0

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

相关内容

热门资讯

求经典台词和经典旁白 求经典台词和经典旁白谁有霹雳布袋戏里的经典对白和经典旁白啊?朋友,你尝过失去的滋味吗? 很多人在即将...
小王子第二章主要内容概括 小王子第二章主要内容概括小王子第二章主要内容概括小王子第二章主要内容概括
爱情睡醒了第15集里刘小贝和项... 爱情睡醒了第15集里刘小贝和项天骐跳舞时唱的那首歌是什么谢谢开始找舞伴的时候是林俊杰的《背对背拥抱》...
世界是什么?世界是什么概念?可... 世界是什么?世界是什么概念?可以干什么?物质的和意识的 除了我们生活的地方 比方说山 河 公路 ...
全职猎人中小杰和奇牙拿一集被抓 全职猎人中小杰和奇牙拿一集被抓动画片是第五十九集,五十八集被发现,五十九被带回基地,六十逃走
“不周山”意思是什么 “不周山”意思是什么快快快快......一座山,神话里被共工撞倒了。
《揭秘》一元一分15张跑得快群... 一元一分麻将群加群主微【ab120590】【tj525555】 【mj120590】等风也等你。喜欢...
玩家必看手机正规红中麻将群@2... 好运连连,全网推荐:(ab120590)(mj120590)【tj525555】-Q号:(QQ443...
始作俑者15张跑的快群@24小... 微信一元麻将群群主微【ab120590】 【tj525555】【mj120590】一元一分群内结算,...
《重大通知》24小时一元红中麻... 加V【ab120590】【tj525555】【mj120590】红中癞子、跑得快,等等,加不上微信就...
盘点一下正规一块红中麻将群@2... 一元一分麻将群加群主微:微【ab120590】 【mj120590】【tj525555】喜欢手机上打...
(免押金)上下分一元一分麻将群... 微【ab120590】 【mj120590】【tj525555】专业麻将群三年房费全网最低,APP苹...
[解读]正规红中麻将跑的快@群... 微信一元麻将群群主微【ab120590】 【tj525555】【mj120590】一元一分群内结算,...
《普及一下》全天24小时红中... 微【ab120590】 【mj120590】【tj525555】专业麻将群三年房费全网最低,APP苹...
优酷视频一元一分正规红中麻将... 好运连连,全网推荐:(ab120590)(mj120590)【tj525555】-Q号:(QQ443...
《火爆》加入附近红中麻将群@(... 群主微【ab120590】 【mj120590】【tj525555】免带押进群,群内跑包包赔支持验证...
《字节跳动》哪里有一元一分红中... 1.进群方式-[ab120590]或者《mj120590》【tj525555】--QQ(QQ4434...
全网普及红中癞子麻将群@202... 好运连连,全网推荐:(ab120590)(mj120590)【tj525555】-Q号:(QQ443...
「独家解读」一元一分麻将群哪里... 1.进群方式《ab120590》或者《mj120590》《tj525555》--QQ(4434063...
通知24小时不熄火跑的快群@2... 1.进群方式《ab120590》或者《mj120590》《tj525555》--QQ(4434063...