oracle 11gR2 rac删除节点和增加节点

你兴趣所在的地方,也就是你能力所在的地方。------------卡耐基

环境:

双节点RAC,其中一个节点因为本地盘损坏,导致系统完全损坏,系统需要重新安装

操作系统:OracleLinux 6.5 x86_64

1,重新安装操作系统

2,重新配置服务器环境

配置主机名

vi /etc/hosts

配置网络

vi /etc/sysconfig/network

vi /etc/sysconfig/network-script/ifcfg-eth0和/ifcfg-eth1

修改参数

vi /etc/pam.d/login

vi /etc/security/limits.conf

vi /etc/sysctl.conf

关闭防火墙

service iptables off

chkconfig iptables off

关闭selinux

Selinux=disable

关闭NetWorkerManager

service NetworkerManager stop

chkconfig NetworkerManager off

配置用户信息

groupadd -g 501 oinstall

groupadd -g 502 dba

groupadd -g 503 oper

groupadd -g 504 asmadmin

groupadd -g 505 asmoper

groupadd -g 506 asmdba

useradd -g oinstall -G dba,asmdba,oper,asmadmin,asmoper oracle

passwd oracle

useradd -g oinstall -G asmadmin,asmdba,asmoper,oper,dba grid

passwd oracle

配置信任关系(保留节点和已损修复节点间进行)

oracle用户和grid用户都需要执行

a,生产公钥和私钥(两个节点都执行)

su - oracle或者grid

mkdir ~/.ssh

ssh-keygen -t rsa

ssh-keygen -t dsa

b,在保留节点上执行以下操作

cat ~/.ssh/id_rsa.pub >> ./.ssh/authorized_keys

cat ~/.ssh/id_dsa.pub >> ./.ssh/authorized_keys

ssh rac2 cat ~/.ssh/id_rsa.pub >> ./.ssh/authorized_keys

ssh rac2 cat ~/.ssh/id_dsa.pub >> ./.ssh/authorized_keys

ssh rac1 cat ~/.ssh/id_rsa.pub >> ./.ssh/authorized_keys

ssh rac1 cat ~/.ssh/id_dsa.pub >> ./.ssh/authorized_keys

scp ~/.ssh/authorized_keys rac2:~/.ssh/authorized_keys

c,在oracle和grid用户下面分别执行检验操作

ssh rac1 date

ssh rac1-priv date

ssh rac2 date

ssh rac2-priv date

3,备份OCR

root用户下执行:

检测备份

$GRID_HOME/bin/ocrconfig -showbackup

手工备份

# GRID_HOME/bin/ocrconfig -manualbackup

# GRID_HOME/bin/ocrdump /tmp/ocrdump_ocr.bak

4,删除实例

a,如果是正常删除节点,那么在要删除的节点上执行操作

sqlplus / as sysdba

shutdown immediate

如果是节点损坏,则没有必要进行该操作

在保留节点上执行:

alter database disable thread 2;

b,在保留节点上执行instance删除

如果有图形界面支持,则可以运行dbca进行删除

如果没有则采取静默删除

dbca -silent -deleteInstance -nodeList db01 -gdbName newtbdb -instanceName db1 -sysDBAUserName sys -sysDBAPassword oracle

Deleting instance

1% complete

2% complete

6% complete

13% complete

20% complete

26% complete

33% complete

40% complete

46% complete

53% complete

60% complete

66% complete

Completing instance management.

100% complete

Look at the log file "/oracle/app/oracle/cfgtoollogs/dbca/orcl.log" for further details.

c,确认实例删除完成

su - grid

srvctl config -d newtbdb

5,RAC层面删除节点

a,保留节点上执行

srvctl status listener

srvctl disable listener -n db01

srvctl stop listener -n db01

b,移除oracle home

如果是正常删除节点,需要在被删除节点上执行一下操作,如果是损坏则不需要

su - oracle

cd $ORACLE_HOME/oui/bin

./runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME "CLUSTER_NODES=" -local

卸载oracle db,删除oracle home

$ORACLE_HOME/deinstall/deinstall -local

保留节点上更新节点列表信息

su - oracle

cd $ORACLE_HOME/oui/bin

./runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME "CLUSTER_NODES="

6,Grid Infrastructure层面删除节点(删除grid home)

a,确认节点状态是否是Unpinned

su - grid

$olsnodes -s -t

如果是pinned,请设为Unpinned

crsctl unpin css -n db01

b,在被删除节点禁用clusterware的application and daemons

被删除节点上执行

su - root

cd $GRID_HOME/crs/install

#./rootcrs.pl -deconfig -force

c,在保留节点上进行节点删除

su - root

#crsctl delete node -n db01

d,被删除节点更新节点信息

su - grid

cd $GRID_HOME/oui/bin

./runInstaller -updateNodeList ORACLE_HOME=$GRID_HOME "CLUSTER_NODES=" CRS=TRUE -silent -local

e,被删除节点上卸载GI,删除grid home

su - grid

cd $GRID_HOME/deinstall

./deinstall -local

f,保留节点更新节点信息

su - grid

cd $GRID_HOME/oui/bin

./runInstaller -updateNodeList ORACLE_HOME=$GRID_HOME "CLUSTER_NODES=" CRS=TRUE -silent

g,在保留节点上确认节点是否删除

su - grid

cluvfy stage -post nodedel -n zdnewtbdb01

节点增加

注意点:删除节点后,如果新增加的节点主机名和删除节点一样,可能会遇到如下错误:

SEVERE:由于无法从命令行或响应文件中获取CLUSTER_NEW_NODES。。。。。。。。。。。。。

该问题是由于可能配置信息未完全清除,不能进行使用,可以换取另外一个nodename

7,确保环境是否一样

a,确保所有节点用户组,用户id一致

id oracle

id grid

b,检查环境(用户grid和oracle下面都执行)

cluvfy stage -pre nodeadd -n db03 -fixup -verbose

cluvfy stage -post hwos -n db03

cluvfy comp peer -refnode db02 -n db03 -orainv oinstall -osdba oinstall-verbose

8,Grid Infrastructure层面添加新节点

a,执行添加节点,拷贝软件信息

su - grid

cd $ORACLE_HOME/oui/bin

export IGNORE_PREADDNODE_CHECKS=Y

./addNode.sh -silent "CLUSTER_NEW_NODES=" "CLUSTER_NEW_VIRTUAL_HOSTNAMES=" "CLUSTER_NEW_PRIVATE_NODE_NAMES="

b,新增加节点上运行提示的脚本

su - root

sh /opt/oracle/app/oraInventory/oraInstRoot.sh

sh $ORACLE_HOME/root.sh

9,RAC层面添加节点

a,保留节点上执行添加节点,拷贝软件信息

su - oracle

cd $ORACLE_HOME/oui/bin

export IGNORE_PREADDNODE_CHECKS=Y

./addNode.sh -silent "CLUSTER_NEW_NODES="

b,新增加节点上运行提示的脚本

su - root

cd $ORACLE_HOME

sh root.sh

10,新节点添加实例

如果有图形界面支持,则运行dbca进行添加,否则:

su - oracle

dbca -silent -addInstance -nodeList db03 -gdbName newtbdb -instanceName db1 -sysDBAUserName sys -sysDBAPassword 123456

11,检查是否成功

select * from gv$instance;

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180301G0YE6S00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券