Oracle RAC 添加节点-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

Oracle RAC 添加节点

简介: Oracle RAC 添加节点操作,跟安装类似,配置所需OS参数、IP规划等,需要在rac层和db层分别添加。


安装准备工作

1.1 加节点步骤

加节点不需要停机,在线操作,但需要在业务较低时段进行,若安排重启测试和业务测试,则视情况申请停机时间。

1、 原生产库两台主机安装新的操作系统,连接现生产库所用的存储并进行多路径的配置

2、 配置网络

3、 检查系统包和配置等价性等一系列加节点操作,具体操作参考章节1.3~1.12

4、 在现有生产库节点1上进行加节点操作。

5、 检查各个节点的crs和instance的状态。


节点

节点名称

实例名称

数据库名称

处理器

RAM/SWAP

操作系统

Master-db-03

db3

db

Intel(R) Xeon(R) CPU E7- 4870  @ 2.40GHz

256GB/128GB

RedHat EL6.5

Master-db-04

db4

Intel(R) Xeon(R) CPU E7- 4870  @ 2.40GHz

256GB/128GB

RedHat EL6.5

网络配置

节点名称

公共 IP 地址

专用 IP 地址

虚拟 IP 地址

SCAN 名称

SCAN IP 地址

Master-db-03

10.0.3.11

10.0.5.11

10.0.3.111

scan-ip

10.0.3.223

Master-db-04

10.0.3.12

10.0.5.12

10.0.3.112

Oracle 软件组件

软件组件

操作系统用户

主组

辅助组

主目录

Oracle 基目录/Oracle 主目录

Grid Infra

Grid

oinstall

asmadminasmdbaasmoper

/home/grid

/opt/oracrs/base

/opt/oracrs/product/11gr2/grid

Oracle RAC

Oracle

oinstall

dbaoperasmdba

/home/oracle

/opt/oracle/

/opt/oracle/product/11.2.0/db

存储组件

存储组件

类型

卷大小

ASM 卷组名

ASM 冗余

设备名

OCR/VF

ASM

10G

DG_OCR

NORMAL

按新的标准

数据

ASM

2000G

DG_ACC

External

按新的标准

数据

ASM

2000G

DG_INDX

External

按新的标准

数据

ASM

2000G

DG_OPT

External

按新的标准

数据

ASM

200G

DG_ORA

External

按新的标准

归档日志

ASM

200G

DG_ARCH

External

按新的标准


1.1 检查系统要求

E.补丁包

rpm -q binutils \

compat-libstdc++-33 \

elfutils-libelf \

elfutils-libelf-devel \

gcc \

gcc-c++ \

glibc \

glibc-common \

glibc-devel \

glibc-headers \

ksh \

pdksh \

libaio \

libaio-devel \

libgcc \

libstdc++ \

libstdc++-devel \

libXp \

make \

numactl-devel \

sysstat \

unixODBC \

unixODBC-devel \

compat-libcap1.x86_64 \

libcap.x86_64|grep not


F.核心参数

编辑/etc/sysctl.conf文件,添加下面的内容

# for oraclet7Vy~I6d)C0

fs.aio-max-nr=1048576

fs.file-max=6815744

kernel.sem=250 32000 100 128

kernel.shmmni=4096

kernel.shmall=8388608

kernel.shmmax= 32212254720

net.ipv4.ip_local_port_range=9000 65000

net.core.rmem_default=1048576

net.core.rmem_max=1048576ànet.core.rmem_max = 4194304(11.2.0.3)

net.core.wmem_default=262144

net.core.wmem_max=1048586

 

然后执行以下命令使参数生效:

sysctl –p


1.1 设置/etc/hosts 

私有IP地址必需与公网分离,两个节点可互相访问可以ping,必须在 /etc/hosts里有;

 

虚拟IP地址同公网IP地址是一个网段的,如果有DNS就注册在DNS中,如果没有DNS就写在/etc/hosts文件里;

 

公网IP地址,是主机真正的IP地址,主机管理员预先分配,如果有DNS就注册在DNS中,如果没有DNS就写在/etc/hosts文件里),并且保证写入每个客户系统中的hosts文件。

 

在各个节点的网卡配置必须相同,例如:第一个节点公共IP是用eth0,那么其他节点也得用eth0

 

 

 

# Do not remove the following line, or various programs         

# that require network functionality will fail.                 

127.0.0.1               localhost.localdomain localhost         

::1             localhost6.localdomain6 localhost6              

# that require network functionality will fail.

127.0.0.1 localhost

 

10.0.3.22 MASTER-DB-02

10.0.3.21 MASTER-DB-01

10.0.3.12 MASTER-DB-04

10.0.3.11 MASTER-DB-03

 

#heart ip

10.0.5.22  db2-heart

10.0.5.21  db1-heart

10.0.5.12  db4-heart

10.0.5.11  db3-heart

 

#vip

10.0.3.122  db2-vip

10.0.3.121  db1-vip

10.0.3.112  db4-vip

10.0.3.111  db3-vip

 

#scan ip

10.0.3.123 scan-ip


设置完/etc/hosts后,建议在各自节点通过名字PING对方,看能否PING通。

建立oraclegrid用户和dba

#/usr/sbin/groupadd -g 501 oinstall
#/usr/sbin/groupadd -g 502 dba
#/usr/sbin/groupadd -g 503 oper
/#usr/sbin/groupadd -g 504 asmadmin
#/usr/sbin/groupadd -g 505 asmoper
#/usr/sbin/groupadd -g 506 asmdba
#/usr/sbin/useradd -g oinstall -G dba,asmdba,oper oracle
/#usr/sbin/useradd -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid

1.1 配置等效性

注意:需要在GRIDORACLE用户下分别执行

# su - oracle

$ mkdir ~/.ssh

$ chmod 700 ~/.ssh

--产生rsa,dsa

$ ssh-keygen -t rsa

 

注意:以上操作分别在两台机器上执行

 

--在节点1上执行:

$ ssh master-db-04 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

 

$ ssh master-db-03 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

 

$ scp ~/.ssh/authorized_keys master-db-02:~/.ssh/.

$ scp ~/.ssh/authorized_keys master-db-03:~/.ssh/.

$ scp ~/.ssh/authorized_keys master-db-04:~/.ssh/.

--测试SSH 在两边都不用输入密码,表示SSH配置完成

$ ssh master-db-01 date

$ ssh master-db-02 date

$ ssh master-db-03 date

$ ssh master-db-04 date


1.1 设置系统限制

--在每个节点上执行相同的操作

  编辑/etc/security/limits.conf,添加如下内容:

oralce    soft  nofile 131072

oracle   hard  nofile 131072

grid    soft  nofile 131072

grid    hard  nofile 131072

oracle hard memlock 153092096

oracle soft memlock 153092096

  编辑/etc/pam.d/login,添加如下内容:

  session required /lib/security/pam_limits.so

1.2 建立GRID及RAC安装目录

 

--建立ORACLE_HOME目录

mkdir -p /opt/oracle/product/11.2.0/db

--建立ORACLE_GRID_HOME目录

mkdir -p /opt/oracrs/base

mkdir -p /opt/oracrs/product/11gr2/grid

--授权

chown  -R oracle:oinstall /opt/oracle

chown R grid:oinstall /opt/oracrs

chmod -R 775 /opt

 

1.3 关闭防火墙

chkconfig --list iptables

chkconfig iptables off

chkconfig --list iptables

service iptables stop

 

1.4 设置NTP服务

配置NTP服务

1.5  设置用户的环境变量

#gird用户

修改 ~/.bash_profile文件,增加以下内容:

 

umask 022

export ORACLE_BASE=/opt/grid

export ORACLE_HOME=/opt/crs_home/product/11.2.0/grid

export ORACLE_SID=+ASM1

export PATH=/usr/sbin:$PATH

export PATH=$ORACLE_HOME/bin:$PATH

为了让以上内容立即生效,执行以下命令即可:

$ Source .bash_profile

 

#oracle用户

修改 ~/.bash_profile文件,增加以下内容:

umask 022

export ORACLE_BASE=/opt/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

export ORA_GRID_HOME=/opt/crs_home/product/11.2.0/grid

export ORACLE_SID=db3

export PATH=/usr/sbin:$PATH

export PATH=$ORACLE_HOME/bin:$PATH :$ORA_GRID_HOME/bin

为了让以上内容立即生效,执行以下命令即可:

$ Source .bash_profile

 

 

 

 

1.6 配置磁盘设备

使用UDEV绑定磁盘设备,参考现生产库磁盘设备配置。

 

1.7 使用 CVU 检查新加节点的硬件和 OS 环境

$ cluvfy stage -post hwos -n db-maser-3,master-db-04 –verbose
$ cluvfy comp peer -refnode db-maser-1 -n db-maser-3,master-db-04 -orainv oinstall -osdba oinstall-verbose
$ cluvfy stage -pre nodeadd -n db-maser-3,master-db-04 –verbose

注意:服务器上的防火墙一定要关闭,否则不能通过检查。虽然chkconfig iptables off检查都是off,但是没有执行service iptables stop操作。如:当时有如下报错。

正在检查子网 "10.0.3.0" 是否能够与多点传送组 "230.0.1.0" 进行多点传送通信...

PRVG-11134 : 节点 "master-db-04" 上的接口 "10.0.3.12" 无法与节点 "master-db-04" 上的接口 "10.0.3.12" 通信

PRVG-11134 : 节点 "master-db-04" 上的接口 "10.0.3.12" 无法与节点 "master-db-03" 上的接口 "10.0.3.11" 通信

PRVG-11134 : 节点 "master-db-03" 上的接口 "10.0.3.11" 无法与节点 "master-db-04" 上的接口 "10.0.3.12" 通信

1.8 备份OCR

在添加节点前,建议手动备份 OCR GRID 4 个小时也会自动备份 OCR),目的是如果出
现某些问题,我们可以恢复到添加节点前的状态:

$su - root
$GRID_HOME/bin/ocrdump /tmp/ocrdump_1nodes.bak

 

2 添加节点

2.1  GRID (GI)层面添加节点

GRID HOME 复制/扩展到节点 3, 4在节点 1 grid 用户执行下面的命令:
注意: addNode.sh 脚本首先进行安装前检查,如果检查过程有错误或者警告, 需要在运行
addNode.sh 前设置环境变量 export IGNORE_PREADDNODE_CHECKS=Y,否则 addNode.sh 会失败退出

#su  grid

$cd $GRID_HOME/oui/bin

$./addnode.sh CLUSTER_NEW_NODES={master-db-03,master-db-04} CLUSTER_NEW_VIRTUAL_HOSTNAMES={db3-vip,db4-vip}

root 用户在节点34 运行 orainstRoot.sh 来注册 Inventory

2.3章节再执行root.sh

 

2.2  RAC 层面添加节点

RDBMS ORACLE HOME 复制/扩展到节点 3, 在节点 1 oracle 用户执行下面的命令:

./addNode.sh CLUSTER_NEW_NODES={ master-db-03,master-db-04}

在节点 3,4  root 用户运行 $RDBMS_OARCLE_HOME/root.sh

2.3 运行 GRID_HOME/root.sh

在节点 3,4  root 用户运行 $GRID_HOME/root.sh

运行 root.sh 后,节点 rac3 的资源已经更新到集群中(OCR),并且已经启动:

$crsctl stat res t

2.4 添加实例

运行dbca

5aa2cb7f18ce37228afb30d4d6dc571844c06de37a686c6b8482024d02928a8ba14fda9bc3d5046d5732ccafe7590f1cea911530137cf2d43c17c5eebdd6018a505c799607f3f36414811c5c0d93832996f34bf49acb1faa0b72c1b301b4e36e800a91ff

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章