Имеется двухнодовый кластер (узлы host01 и host02)
Необходимо переконфигурировать узел host02
1. Удалить сбойный узел host02 из кластера.
Удалить ПО RDBMS из inventory работающего узла host01.
(Оставить только host01)
oracle@host01# ./runInstaller -updateNodeList ORACLE_HOME=$RDBMS_HOME "CLUSTER_NODES={host01}" LOCAL_NODE=host01
Удалить ПО GI из inventory работающего узла host01.
(Оставить только host01)
oracle@host01# ./runInstaller -updateNodeList ORACLE_HOME=$GRID_HOME "CLUSTER_NODES={host01}" CRS=TRUE -silent
Удалить сбойный узел host02 из OCR (реестра кластера).
root@host01# crsctl delete node -n host02
Удалить VIP на хосте host02.
root@host01# srvctl config vip -node host02
VIP exists: network number 1, hosting node host02
VIP Name: host02-vip
VIP IPv4 Address: 192.168.1.101
VIP IPv6 Address:
VIP is enabled.
VIP is individually enabled on nodes:
VIP is individually disabled on nodes:
root@host01# srvctl stop vip -vip host02-vip -force
root@host01# srvctl remove vip -vip host02-vip
Please confirm that you intend to remove the VIPs host02-vip (y/[n]) y
Удалить экземпляр orcl2.
root@host01# srvctl remove instance -db orcl -instance orcl2
Remove instance from the database orcl? (y/[n]) y
На данный момент плохой узел host02 больше не является частью кластера.
2. Переходим на host02 и очистим остатки некоторых файлов конфигурации GI и RDBMS на этом узле
oracle@host02$ rm -rf /u01/app/oracle/product/12.1.0.2/
root@host02# rm -rf /u01/grid/crs12.1.0.2/*
root@host02# rm /var/tmp/.oracle/*
oracle@host02$ rm -rf /tmp/*
root@host02# rm /etc/oracle/ocr*
root@host02# rm /etc/oracle/olr*
root@host02# rm -rf /pkg/oracle/app/oraInventory
root@host02# rm -rf /etc/oracle/scls_scr
3. Добавляем узел host02 обратно в кластер
oracle@host01$ cd $GRID_HOME/addnode
oracle@host01$ ./addnode.sh -ignoreSysPrereqs -ignorePrereq -silent "CLUSTER_NEW_NODES={host02}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={host02-vip}"
Это приведет к клонированию GI_HOME с host01 на host02.
В конце будет предложено запустить root.sh на host02.
Запуск этого скрипта приведет к подключению GI к OCR и Voting disks и запуску clusterware stackvting.
Но вначале запустим.
root@host02# cd $GRID_HOME/crs/install
root@host02# ./rootcrs.sh -verbose -deconfig -force
root@host02# cd $GRID_HOME
root@host02# ./root.sh
host02 теперь входит в состав кластера, а GI работает.
Проверяем
root@host02# crs_stat -t
root@host02# olsnodes -n
Также проверяем VIP.
root@host02# srvctl status vip -vip host02-vip
VIP host02-vip is enabled
VIP host02-vip is running on node: host02
Запустим клонирование RDBMS_HOME с host01 на host02.
oracle@host01]$ cd $RDBMS_HOME/addnode
oracle@host01]$ ./addnode.sh "CLUSTER_NEW_NODES={host02}"
Это запустит OUI. Проходим мастер, чтобы завершить процесс клонирования.
4. Добавим экземпляр обратно на узел host02.
oracle@host01$ srvctl add instance -db orcl -instance orcl2 -node host02
Если все пойдет хорошо, экземпляр запустится.
Проверяем:
oracle@host01$ srvctl start instance -db orcl -instance orcl2
oracle@host01$ srvctl status database -d orcl
Instance orcl1 is running on node host01
Instance orcl2 is running on node host02
SQL> select inst_id,status from gv$instance;
INST_ID STATUS
---------- ------------
1 OPEN
2 OPEN
Остается только перенастроить и запустить любые необходимые службы.
srvctl modify service -db orcl -service my_svc -modifyconfig -preferred "orcl1,orcl2"
srvctl start service -db orcl -service my_svc -node host02
srvctl status service -db orcl
Все работает.