• 准备工作

1、配置系统参数、创建用户、配置存储等。

1)创建用户Oracle、grid用户的id必须相同

2)Host文件与其他节点一致(并在其他节点添加新节点信息)

3)解析scan ip (dns添加/etc/resolv.conf)

4)配置yum源

5)添加系统参数

6)添加环境变量

7)创建目录,位置与其他节点一致

8)配置共享存储

9)如果使用asmlib安装,需要安装yum install oracleasm  ,并且安装asmlib配置 ,配置完成reboot系统

10)     密码和其他的服务一致,并且配置互信

互信配置:

[oracle@RAC3 ~]$ ssh-keygen -t rsa

#[oracle@rac3 .ssh]ssh-copy-id -i .ssh/id_rsa.pub rac1

#[oracle@rac3 .ssh]ssh-copy-id -i .ssh/id_rsa.pub rac2

#[oracle@rac1 .ssh]ssh-copy-id -i .ssh/id_rsa.pub rac3

#[oracle@rac2 .ssh]ssh-copy-id -i .ssh/id_rsa.pub rac3

 

Oracle gird用户执行同样的操作配置互信

验证互信:

$ ssh rac1 date;ssh rac2 date;ssh rac3 date

$ ssh rac1-pri date;ssh rac2-pri date;ssh rac3-pri date

 

2、检查 以下操作都在原有节点执行

<1>确认所有节点用户的用户组、用户id是否一致

$ id grid

$ id oracle

<2>备份OCR,虽然OCR每四个小时自动备份一次,但是为了防止ocr损坏,还是要手动备份一下

su - root

/app/grid/bin/ocrconfig -manualbackup

/app/grid/bin/ocrdump /tmp/ocrdump_ocr.bak

二、添加新的节点

 

1Grid Infrastructure层面添加新节点(复制grid_home

 

将老节点grid_home下的内容复制到新节点

# su - grid

$ cd $ORACLE_HOME/oui/bin

$ export IGNORE_PREADDNODE_CHECKS=Y

$ ./addNode.sh -silent "CLUSTER_NEW_NODES={new_add_node_name}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={new_add_node_name-vip}"

 

 

--在新节点用root用户执行提示的root.sh脚本


#/u01/app/oraInventory/orainstRoot.sh

# /app/grid/root.sh

--检查新节点crs相关进程是否启动

crsctl status res -t

 

 

2、 RAC层面添加节点(复制oracle home

 

# su - oracle

$ cd $ORACLE_HOME/oui/bin

./addNode.sh -silent "CLUSTER_NEW_NODES={new_add_node_name}"


在新节点上以root用户执行提示的root.sh脚本

# /app/oracle/product/11.2.0/db_1/root.sh

3、 新节点创建实例

 

su - oracle

dbca -silent -addInstance -nodeList c1db1321 -gdbName c1db1307 -instanceName c1db13072 -sysDBAUserName sys -sysDBAPassword a2g3t5yec7s

例子:

dbca -silent -addInstance -nodeList 新节点名 -gdbName 全局名|唯一名 -instanceName 新节点实例名 -sysDBAUserName sysdba -sysDBAPassword password

 

4.检查是否成功

Su – oracle

Sqlplus / as sysdba

set linesize 200

select INSTANCE_NUMBER,INSTANCE_NAME,HOST_NAME,VERSION,STARTUP_TIME,STATUS from gv$instance;

su - grid

crsctl staus res -t