准备工作
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
二、添加新的节点
1、Grid 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