ORACLE 11gR2 RAC添加删除(正常及强制)节点操作步骤(添加篇)

作者简介:庞旭光,现就职于北京海天起点,高级oracle维护工程师,拥有6年电信,政府,银行等行业核心系统oracle数据库运维经验,获得11g ORACLE OCM认证,Redhat Enterprise 7 RHCE认证,擅长oracle数据库方面的故障诊断及问题处理。

概述

本文主要是基于两节点的11gR2版本的RAC做添加、删除节点的维护实验,并对操作过程进行总结,以便真正在生产环境中进行操作时,能够节省时间。本文实验环境使用的操作系统为Linux,对于其它操作系统,操作过程基本相同。具体实验内容如下:

1、添加节点3和节点4,将RAC由两节点扩展至四节点。

2、删除RAC节点1和节点2,使集群重新成为两节点的RAC。

其中对于节点1实验正常删除操作过程,对于节点2,实验节点2由于

硬件故障无法访问时,强制删除的过程。

本文实验环境明细如下:

主机名

IP地址

操作系统版本

数据库版本

racdb1

PLUBIC IPxxx.xxx.3.51

VIPxxx.xxx.3.53

PRIVATE IPxxx.xxx.0.51

SCAN IPxxx.xxx.3.55

RHEL 6.5 64

11.2.0.4.0

racdb2

PLUBIC IPxxx.xxx.3.52

VIPxxx.xxx.3.54

PRIVATE IPxxx.xxx.0.52

RHEL 6.5 64 11.2.0.4.0

racdb3

(待添加)

PLUBIC IPxxx.xxx.3.56

VIPxxx.xxx.3.58

PRIVATE IPxxx.xxx.0.56

RHEL 6.5 64

11.2.0.4.0

racdb4

(待添加)

PLUBIC IPxxx.xxx.3.57

VIPxxx.xxx.3.59

PRIVATE IPxxx.xxx.0.57

RHEL 6.5 64

11.2.0.4.0

说明:由于不同生产环境的配置千差万别,所需的操作步骤也不尽相同,所以本文中提到的操作仅供参考。

同时,为了避免篇幅过大,本文中涉及到的某些常规操作,只列出操作纲要,不附加详细操作步骤。

RAC添加节点

我们模拟添加两个节点:racdb3、racdb4,其各类IP地址如下:

说明:新添加的节点的操作系统需要和现有环境一致,但内存、CPU等硬件配置可以不一致,但建议一致。

为了避免不必要的麻烦,我们这里新添加的节点的操作系统、CPU、内存等都和现有环境完全一致。

关于停机时间:添加RAC节点操作不需要停机,可以在线操作,不需要申请停机时间。当然,如果条件允许,为了避免在操作过程中出现异常从而导致整个集群运行异常,可以适当申请小时级别的停机时间。

添加前准备工作

添加前的准备工作与安装RAC前需要做的准备工作相同。主要包括存储、网络、操作系统等相关的准备工作。

这些都是常规的操作,为避免篇幅过大,这里只列出操作纲要。

存储相关准备工作

操作要点:

1、让节点3(racdb3)和节点4(racdb4)可以并发访问分配给节点1和节点2的共享存储,并且确保相同LUN ID在四个节点上识别到的盘符完全一致。

2、节点3和节点4参照节点1和节点2配置UDEV。

网络相关准备工作

操作要点:

1、在节点3和节点4做如下操作:

PLUBIC、PRIVATE网络和现有的节点使用相同的网卡,分别为bond0,bond1,IP地址分配相同的网段,IP地址分别配置为:

PUBLIC:racdb3 xxx.xxx.3.56,racdb4 xxx.xxx.3.57;

PRIVATE:racdb3 xxx.xxx.0.56,racdb4 xxx.xxx.0.57。

配置完后,进行测试,确保上述IP可以和现有RAC节点正常通信。

2、停掉并禁用节点3、4上的NetworkManager服务。

操作系统相关准备工作

1、将四个节点的/etc/hosts文件均改为如下内容:

2、关掉并禁用iptables、ip6tables。

对于selinux可禁可不禁,保险起见建议禁掉。

3、创建grid、oracle用户并修改环境变量。

操作要点:

(1)名称相同的组的gid、名称相同的用户的uid需要和节点1、节点2相同。

(2)节点3和节点4上的grid用户和oracle用户的环境变量除ORACLE_SID外,其余完全一致。

4、创建相关目录并修改权限。

参照节点1和节点2上现有的ORACLE_BASE、GRID_HOME、ORACLE_HOME等环境变量对应的目录,在节点3和节点4上创建相同的目录,并修改相应的属主、属组、权限。

5、配置四个节点间的grid和oracle用户的ssh免密码登陆。

6、配置内核参数

参照节点1和节点2的/etc/sysctl.conf文件内容,修改节点3、节点4的/etc/sysctl.conf文件。

7、修改resource limit限制

参照节点1和节点2的/etc/security/limits.conf文件内容,修改节点3、节点4的/etc/security/limits.conf文件。

8、修改/etc/pam.d/login,加入:”session required pam_limits.so”。

9、安装rpm包

参照官方文档要求,安装需要的rpm包,包括cvuqdisk。

10、配置时间同步(ntp)。

如果节点1和节点2使用了ntp,则在节点3和节点4上,按照节点1和节点2的配置,启用ntp服务,如果没有使用ntp,则在节点3和节点4上禁用ntp。

最终要确保四个节点的时间一致。

11、重启节点3、节点4主机,使所有设置生效。

做完所有上述操作后,开始添加节点操作。

扩展集群节点(处理GI)

添加RAC节点的操作过程,主要包括:从现有RAC节点拷贝(scp)GRID HOME至新加节点、在新加节点上执行GRID相关的root.sh、从现有RAC节点拷贝(scp)ORACLE HOME(DB)至新加节点、在新加的节点上扩展RAC数据库实例。

下面分布执行上述操作。

执行添加前检查命令

根据官方文档里的要求,需要在现有任意RAC节点上,以GRID_HOME的OWNER用户,执行下面的三个命令:

对应我们这里的实际情况,就是以grid用户执行下面的三个命令:

这些命令主要涉及到节点间网络互联、grid用户免密码登录、要添加节点的内核参数设置是否与现有节点上的设置一致、是否满足GI安装要求、要添加的节点上是否安装了必要的RPM包、resource limit、内存大小、swap大小、tmp目录大小、共享存储是否可以正常访问等等方面的检查。

这里我们选择在racdb1上执行,命令产生的信息很多,为避免篇幅过大,我们只列出检查未通过的内容:

检查未通过的内容为:节点间互联和共享存储访问,关于这两个方面,我们确认没有问题,所以可以忽略报错和警告

接下来,开始添加节点的操作。

执行脚本添加RAC节点

在节点1以grid用户执行:

即:

命令执行过程记录如下:

根据上面红色字体部分提示,在racdb3上以root用户执行脚本:

脚本执行过程略去,与安装RAC时执行脚本的过程相同。需要注意的是第二个脚本,只能顺序执行,不能同时执行,也就是说需要在节点三执行完后,再在节点四执行。否则会造成整个集群的分裂,比如在节点1、节点2上可以看到节点1,2,3的信息,但是看不到节点4的信息,在节点4上看节点1,2,4的信息,看不到节点3的信息。

添加节点后检查

以grid用户在节点1或节点2上执行:

我们在节点1上执行:

除SCAN检查失败外,其余全部通过,SCAN检查失败可以忽略。

最后,需要在四个节点上,看一下所有资源列表是否完全一致,且除gsd外其余所有资源是否都online,如果一致,且都online可以继续往下进行,可以以grid用户执行:crsctl stat res -t命令查看。

经过检查,其余三个节点上看到的资源信息与节点1上看到的一致,且除gsd外所有资源均online,表明集群节点添加成功。

接下来扩展数据库软件和数据库实例。

扩展DB HOME(处理DB)

在添加完集群节点后,数据库依然是一个两节点的RAC,还不是4节点的RAC,需要先在racdb3和racdb4上扩展ORACLE HOME,相当于安装ORACLE DATABASE软件,然后再对数据库进行”实例”扩展,使其真正成为一个四节点的RAC数据库。

执行添加脚本

在节点1或节点2上,以oracle用户执行如下脚本:

根据上面英文提示,需要以root用户在节点3和节点4上执行脚本:

这两个脚本一般不会出错,执行过程略去。

扩展数据库实例

实验数据库的名称为:racdb,节点1和节点2的实例名分别为radb1和racdb2,现在对racdb数据库进行实例扩展,使其真正成为一个四节点的RAC数据库。可以手动进行,也可以借助dbca工具进行,这里我们使用dbca工具进行,在节点1上以oracle用户调用dbca(设置DISPLAY环境变量等操作过程略去),操作过程记录如下:

下一步:

下一步:

下一步:

下一步:

下一步:

下一步:

可以看一下表空间、数据文件、REDO等相关信息,如果需要,可以修改:

点击”Finish”:

点击”OK”开始添加实例:

添加完成:

按照相同操作步骤添加racdb4实例。添加完成后,查看四个实例的状态:

四个实例的状态均为open,实例添加成功,接下来检查整个集群是否正常。

检查整个集群是否正常

检查除gsd外,所有资源是否online

在所有节点以grid用户执行:crsctl stat res -t,检查所有节点上除gsd资源外,其余所有资源状态是否均为online?且对于数据库资源查看是否可以看到四个实例,且状态均为open。

这里所有节点检查均正常,继续往下进行。

检查所有节点alert日志是否正常

检查所有节点的asm alert日志、db alert日志,看是否有异常。

如果所有日志都正常的话,就意味着添加RAC节点的操作成功完成。

我们这里所有日志检查均正常,添加RAC节点操作成功。

接下来进行删除节点的实验。

 

未经允许不得转载:Oracle一体机用户组 » ORACLE 11gR2 RAC添加删除(正常及强制)节点操作步骤(添加篇)

相关推荐