ORACLE RAC系统是一个可以横向进行扩展的系统,当一个RAC系统计算能力不满足客户的需求时候,增加节点能够快速增加整个系统的计算能力,使得客户系统计算能力得到一定的提升,以满足客户不断增长的计算需求。

一、        增加节点的准备工作

俗话说,磨刀不误砍柴工,在RAC安装和增加节点过程中,该俗语充分体现了准备工作的重要性。硬件初始化主要包括服务器的安装、存储的连接、网络连接等步骤。本文所基于的基本环境如下:

1.         原有节点分别为cluster1和cluster2

2.         软件环境如下:

操作系统:solaris 10 u11

数据库软件:ORACLE Database 11g

OS用户: grid用户用于管理clusterware,oracle用户用于数据库

3.         IP地址具体规划如下:

192.168.0.12    cluster1

192.168.0.13    cluster2

192.168.0.14    cluster1-vip

192.168.0.16    cluster2-vip

192.168.0.15    cluster1-priv

192.168.0.17    cluster2-priv

192.168.0.19    scan-ip

4.         新节点环境规划:

操作系统和database软件必须采用原有节点一个版本的软件

创建grid和oracle用户,具体创建步骤参考下节内容

IP地址设置为:

192.168.0.18  cluster3

192.168.0.20  cluster3-vip

192.168.0.21  cluster-priv

u  主机系统环境的设置

1.  创建用户

groupadd -g 1000 oinstall

groupadd -g 1001 dba

useradd -u 1100 -g dba -G oinstall -d /export/home/grid -m grid

useradd -u 1101 -g dba -G oinstall -d /export/home/oracle -m oracle

2.设置password

passwd grid

passwd oracle

3.创建相应的目录

mkdir -p /oracle/app/grid

mkdir -p /oracle/app/11g

chown -R grid:dba /oracle/app/grid

chmod -R 775 /oracle/app/grid

mkdir -p ORACLE_BASE=/oracle/app/oracle

mkdir -p /oracle/app/oracle/product/11.2.0/dbhome_1

chown –R oracle:dba /oracle/app/oracle

4. grid user用的.profile文件

ORACLE_BASE=/oracle/app/grid; export ORACLE_BASE

ORACLE_HOME=/oracle/app/11g; export ORACLE_HOME

JAVA_HOME=$ORACLE_HOME/jdk; export JAVA_HOME

#ORACLE_PATH=/oracle/app/oracle/11g/common/oracle/sql; export ORACLE_PATH

ORACLE_SID=+ASM4; export ORACLE_SID

ORACLE_TERM=xterm; export ORACLE_TERM

NLS_DATE_FORMAT="DD-MON-YYYY HH24:MI:SS"; export NLS_DATE_FORMAT

TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN

ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11

PATH=$PATH:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin:$JAVA_HOME/bin:$HOME/bin:$ORACLE_HOME/bin; export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/oracm/lib:/lib:/usr/lib:/usr/local/lib

export LD_LIBRARY_PATH

CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib; export CLASSPATH

NLS_LANG=American_america.zhs16gbk; export NLS_LANG

THREADS_FLAG=native; export THREADS_FLAG

TEMP=/tmp; export TEMP

TMPDIR=/tmp; export TMPDIR

# UMASK

umask 022

5. oracle用户的.profile文件

ORACLE_BASE=/oracle/app/oracle; export ORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME

JAVA_HOME=$ORACLE_HOME/jdk; export JAVA_HOME

#ORACLE_PATH=/oracle/app/common/oracle/sql; export ORACLE_PATH

ORACLE_TERM=xterm; export ORACLE_TERM

ORACLE_SID=yxjb4; export ORACLE_SID

ORACLE_UNQNAME=yxjb; export ORACLE_UNQNAME

NLS_DATE_FORMAT="DD-MON-YYYY HH24:MI:SS"; export NLS_DATE_FORMAT

TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN

ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11

PATH=$PATH:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin:$JAVA_HOME/bin:$HOME/bin:$ORACLE_HOME/bin; export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/oracm/lib:/lib:/usr/lib:/usr/local/lib

export LD_LIBRARY_PATH

CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib; export CLASSPATH

NLS_LANG=American_america.zhs16gbk; export NLS_LANG

THREADS_FLAG=native; export THREADS_FLAG

TEMP=/tmp; export TEMP

TMPDIR=/tmp; export TMPDIR

# UMASK

umask 022

6. 修改UDP-TCP的kernel参数

vi /etc/rc3.d/S99NddUDPTCP

#!/bin/sh

/usr/sbin/ndd -set /dev/tcp tcp_smallest_anon_port 9000

/usr/sbin/ndd -set /dev/tcp tcp_largest_anon_port 65500

/usr/sbin/ndd -set /dev/udp udp_smallest_anon_port 9000

/usr/sbin/ndd -set /dev/udp udp_largest_anon_port 65500 1.创建用户

chmod +x /etc/rc3.d/S99NddUDPTCP

6.设置主机的存储

根据具体存储进行设置,将原有ASM使用的磁盘在新节点上更改器属性,OCR的盘更改为grid:oinstall,数据盘更改为oracle:dba,这些盘都这对raw设备进行属性更改,读写属性都修改为660。

7.建立grid,oracle用户的ssh信任关系

具体如何建立ssh信任关系可以参考我的豆丁文档:

http://www.docin.com/p-656158896.html

二、        增加节点具体步骤:

准备工作完成后,就可以根据新环境将新节点增加到RAC系统了,RAC增加节点总共分为三步进行,第一步就是将clusterware软件系统进行扩展,将所有11g的clusterware软件添加到新节点,第二步就是将ORACLE数据库的软件扩展到新节点,最后一步就是使用dbca创建新节点的数据库实例instance。

1.         Clusterware软件扩展

软件的扩展就是在新节点上进行CRS软件的安装,此处无需使用原有的软件包来进行runInstaller的安装,只需要在现有的节点上执行脚本即可完成。

CRS软件的安装用户必须使用grid user,在10g里面还需要将CRS软件的home目录属性修改为grid的,使用完成后,在修改成root用户的。

以下为执行脚本的具体命令格式:

/oracle/app/11g/oui/bin/addNode.sh -silent "CLUSTER_NEW_NODES={cluster3}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={cluster3-vip}"

命令里面只需要将两个option的值改成新节点主机就可以直接执行了,具体的过程可以参考文档后面的附件一。

根据提示执行root.sh脚本将新节点加入到CRS中去,执行完成后就可以使用crs_stat –t命令查看新节点的crs状态了,root.sh脚本执行情况查阅文档后面的附件二。

2.         ORACLE数据库软件的扩展

使用oracle用户登录,执行以下脚本,该脚本能够将RAC群集节点上正常节点上的所有软件包远程拷贝到新节点上,无需做其他任何多余操作。

$  /oracle/app/oracle/product/11.2.0/dbhome_1/oui/bin/addNode.sh

该脚本运行过程可查阅附件三。

3.         DBCA创建cluster实例

当CRS和ORACLE数据库软件扩展到新节点后,crs_stat –t 显示三个节点都正常后,就可以直接使用dbca来创建第三个节点上的数据库实例了,这步骤就比较简单了,但需要注意的时候,dbca图形界面启动后,一定要选择 instance manager,后面选择add instance,后面就是next即可。

ORACLE RAC如何增加节点的更多相关文章

  1. Oracle 11g rac 添加新节点测试

    [转]https://blog.csdn.net/shiyu1157758655/article/details/60877076 前期准备: 操作系统设置OS版本必须相同,检查内核参数,系统内存.C ...

  2. oracle RAC的VIP和scan

    我们都知道Oracle RAC中每个节点都有一个虚拟IP,简称VIP,与公网IP在同一个网段. 没有VIP时,Oracle客户端是靠"TCP/IP协议栈超时"来判断服务器故障.而T ...

  3. Oracle RAC学习笔记:基本概念及入门

    Oracle RAC学习笔记:基本概念及入门 2010年04月19日 10:39 来源:书童的博客 作者:书童 编辑:晓熊 [技术开发 技术文章]    oracle 10g real applica ...

  4. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:4.安装Oracle RAC FAQ-4.3.Oracle 集群节点间连通失败

    1.检查节点连通性的错误 [grid@linuxrac1 grid]$ ./runcluvfy.sh stage -post hwos -n linuxrac1,linuxrac2 -verbose ...

  5. [学习]仿照cnblog 搭建 Oracle RAC 双节点 困.. 后续做不下去了..

    1. 学习地址: https://blog.csdn.net/yuzifen?t=1 2. 克隆之前创建好的虚拟机: 3. 给虚拟机增加新的硬盘. 注意事项 1) 必须是厚置备的磁盘才可以. 2) 必 ...

  6. Oracle RAC集群添加节点

    一,节点环境 所有节点分发/etc/hosts,这里我添加两个节点,一个是上次删除的节点,另一个是什么都没有的节点,尝试添加 服务器介绍什么的都在这hosts文件了,大家自己琢磨下 [grid@nod ...

  7. Oracle RAC客户端tnsnames.ora相关配置及测试

    1.Oracle RAC服务端/etc/hosts部分内容如下 2.查看服务端的local_listener和remote_listener参数 3.客户端tnsnames.ora配置参考 3.1 1 ...

  8. Oracle RAC安装部署文档

    1.    部署环境步骤 1.1 软件环境 操作系统:CentOS release 6.5(推荐使用5.*的系统)192.168.1.151    racnode1 192.168.1.152    ...

  9. oracle rac安装

    http://blog.chinaunix.net/xmlrpc.php?r=blog/article&id=4681351&uid=29655480 参考 1.百度文库中的收藏 2. ...

随机推荐

  1. HMM XSS检测

    HMM XSS检测 转自:http://www.freebuf.com/articles/web/133909.html 前言 上篇我们介绍了HMM的基本原理以及常见的基于参数的异常检测实现,这次我们 ...

  2. 客户现场调试(连接oracle数据库)

    1.System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本 http://blog.csdn.net/yucaoye/article/details/ ...

  3. ROS-SLAM-gmapping

    前言:gmapping是最常用和成熟的slam导航算法,gmapping功能包集成了Rao-Blackwellized粒子滤波算法,为开发者隐去了复杂的内部实现. 前提:已下载并编译了相关功能包集,如 ...

  4. Memcache使用场景

    session //php文件中 ini_set("session.save_handler", "memcache"); ini_set("sess ...

  5. 使用DWR实现JS调用服务端Java代码

    DWR简介 DWR全称Direct Web Remoting,是一款非常优秀的远程过程调用(Remote Procedure Call)框架,通过浏览器提供的Ajax引擎实现在前端页面的JS代码中调用 ...

  6. const使用总结

    1.常变量:  const 类型说明符 变量名    const int a; 常引用:  const 类型说明符 &引用名   const int &a; 常对象:  类名 cons ...

  7. asp访问数据库原理以及代码

    ActiveX Data Objects (ADO) 是一项容易使用并且可扩展的将数据库访问添加到 Web 页的技术.可以使用 ADO 去编写紧凑简明的脚本以便连接到 Open Database Co ...

  8. 手游服务器端接入facebook的SDK

    手游如果支持facebook登录,就要接入facebook的登录SDK.刚好工作中自己做了这一块的接入功能现在记录分享下来提供一个参考. 当前只是接入了登录这个功能,先简单的说说接入facebook登 ...

  9. 立即调用函数(IIFE)

    定义: IIFE:立即调用的函数表达式,声明函数的同时立即调用这个函数. 语法: IIFE的常用写法:这两种写法的作用相同,只是表现形式不同而已,()只是起了自执行的作用 (function(){.. ...

  10. oracle中nvl函数用法

    1.返回两个字段中非空字段的值,第一个字段非空,返回第一个字段的值,第二个字段值为null,则返回第二个字段的值,如果都为null 则返回null. select nvl(a,b) from tabl ...