RAC删除一个节点
环境:
OS:Centos 7
DB:11.2.0.4
我们这里节点为rac01,rac02,rac03 我们将rac03删除掉
1.1.1 删除数据库实例
删除数据库实例,本次实验是删除rac03节点
在另外一个节点上执行,我这里是在节点rac01上执行
[root@rac01 ~]# su - oracle
[oracle@rac01 ~]$ dbca -silent -deleteInstance -nodeList rac03 -gdbName slnngk -instanceName slnngk3 -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 "/u01/oracle/app/cfgtoollogs/dbca/slnngk.log" for further details.
2.查看删除后的数据库线程
[oracle@rac01 ~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.4.0 Production on Fri Dec 25 00:55:32 2020
Copyright (c) 1982, 2013, Oracle. All rights reserved.
SQL> connect / as sysdba
Connected.
SQL> select thread#,status from v$thread;
THREAD# STATUS
---------- ------
1 OPEN
2 OPEN
1.1.2 删除数据库软件
1.1.2.1 查看数据库的配置
在节点1上操作
su - oracle
[oracle@rac01 ~]$ srvctl config database -d slnngk
Database unique name: slnngk
Database name: slnngk
Oracle home: /u01/oracle/app/product/11.2.0.4/db_1
Oracle user: oracle
Spfile: +DATA/slnngk/spfileslnngk.ora
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: slnngk
Database instances: slnngk1,slnngk2
Disk Groups: DATA,REDO
Mount point paths:
Services:
Type: RAC
Database is administrator managed
1.1.2.2 删除Oracle RAC软件(删除oracle软件)
在oracle账号下执行
在需要删除的节点运行,这里是在节点3上执行
[oracle@rac03 ~]$ srvctl config listener -a
[oracle@rac03 ~]$ srvctl disable listener -l listener -n rac03
[oracle@rac03 ~]$ srvctl stop listener -l listener -n rac03
在需要删除的节点运行,这里是在节点3上执行,主要是修改文件:/u01/grid/oraInventory/ContentsXML/inventory.xml
[oracle@rac03 ~]$ cd $ORACLE_HOME/oui/bin/
[oracle@stuaapp02 bin]$ ./runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME "CLUSTER_NODES=rac03" -local
Starting Oracle Universal Installer...
Checking swap space: must be greater than 500 MB. Actual 4095 MB Passed
The inventory pointer is located at /etc/oraInst.loc
The inventory is located at /u01/grid/oraInventory
'UpdateNodeList' was successful.
在需要删除的节点运行,这里是在节点rac03上执行
卸载oracle db,删除oracle home,这里卸载之前要建立自己的等效连接
su - oracle
[oracle@rac03 u01]$ssh rac03 date
[oracle@rac03 u01]$$ORACLE_HOME/deinstall/deinstall -local
1.1.2.3 在任一保留的节点上停止rac3节点NodeApps
我这里是在节点rac01上执行
su - oracle
[oracle@rac1 bin]$ srvctl stop nodeapps -n rac03 -f
1.1.2.4 在保留节点使用oracle用户更新集群列表
在每个保留的节点上执行,我这里在节点1和节点2上执行
[root@rac1 ~]# su – oracle
[oracle@rac1 ~]$ $ORACLE_HOME/oui/bin/runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME "CLUSTER_NODES={rac01,rac02}"
[root@rac2 ~]# su – oracle
[oracle@rac2 ~]$ $ORACLE_HOME/oui/bin/runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME "CLUSTER_NODES={rac01,rac02}"
1.1.3 删除grid软件
1.1.3.1 删除rac03节点的集群软件
在rac03节点上执行:
[root@rac03 ~]# su - root
[root@rac03 ~]# yum -y install perl perl-devel
[root@rac03 ~]# yum install perl-Env
[root@rac03 ~]# /u01/grid/grid_home/11.2.0.4/crs/install/rootcrs.pl -deconfig -force -deconfig -force
1.1.3.2 在任一保留的节点上删除rac3节点(nodone)
我这里是在节点rac01上执行
[root@rac1 ~]#/u01/grid/grid_home/11.2.0.4/bin/crsctl delete node -n rac03
[root@rac01 bin]# cd /u01/grid/grid_home/11.2.0.4/bin
[root@rac01 bin]# ./olsnodes -t -s
rac01 Active Unpinned
rac02 Active Unpinned
1.1.3.3 rac3节点使用grid用户更新集群列表
在rac03节点上执行:
[root@rac03 ~]# su – grid
[grid@rac03 ~]$ $ORACLE_HOME/oui/bin/runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME "CLUSTER_NODES={rac03}" CRS=true -local
1.1.3.4 Rac03节点删除集群软件
在rac3节点上执行,删除之前建立自己的等效连接
[root@rac3 ~]# su – grid
[grid@rac03 ~]$ ssh rac03 date
[grid@rac03 ~]$$ORACLE_HOME/deinstall/deinstall -local
1.1.3.5 保留节点使用grid用户更新集群列表
在所有保留的节点上执行:
[root@rac1 ~]# su – grid
[grid@rac1 ~]$ $ORACLE_HOME/oui/bin/runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME "CLUSTER_NODES={rac01,rac02}" CRS=true
[root@rac2 ~]# su – grid
[grid@rac2 ~]$ $ORACLE_HOME/oui/bin/runInstaller -updateNodeList ORACLE_HOME=$ORACLE_HOME "CLUSTER_NODES={rac01,rac02}" CRS=true
1.1.3.6 验证是否已经被删除