一、添加节点
1.1. 前期准备
1)操作系统安装与配置按照全新安装标准配置
2)配置SSH互信
3)运行CVU程序
su - grid cd ${ORACLE_HOME}/bin cluvfy comp peer [-refnode <new node name>] -n node_list [-orainv orainventory_group] [-osdba osdba_group] [-verbose]
4)确保管理仓库有足够空间
oclumon manage -get repsize -- 增加空间,确保给每个新增节点要求500Mb的空间 oclumon manage -repos changerepossize total_in_MB
1.2. 加节点(GI)
-- 如添加节点o19c2 su - grid ./addnode.sh -silent -ignoreSysPrereqs -ignorePrereqFailure "CLUSTER_NEW_NODES={o19c2}" "CLUSTER_NEW_PRIVATE_NODE_NAMES={o19c2-priv}" "CLUSTER_NEW_VIRTUAL_HOSTNAMES={o19c2-vip}" -- 运行root脚本 su - root cd $(grep 'inventory_loc' /etc/oraInst.loc |awk -F'=' '{print $NF}') ./orainstRoot.sh
1.3. 加节点(DB)
su - oracle cd $(orabasehome)/addnode ./addnode.sh -silent -ignoreSysPrereqs -ignorePrereqFailure "CLUSTER_NEW_NODES={o19c2}" # noCopy参数不复制软件文件 cd $(orabasehome)/addnode ./addnode.sh -noCopy "CLUSTER_NEW_NODES={node3}" -- 运行root脚本 su - root ${ORACLE_HOME}/root.sh
1.4. 添加DB实例
dbca -ignorePreReqs -ignorePrereqFailure -silent -addInstance -nodeName o19c2 -gdbName o19c -instanceName o19c2 -sysDBAUserName sys -sysDBAPassword oracle
1.5. 检查确认
su - grid cluvfy stage -post nodeadd -n node3 [-verbose] cluvfy comp admprv -o db_config -d Oracle_home -n node_list [-verbose]
二、删除节点
2.1 删除DB 实例
srvctl stop instance -db db_unique_name -node node_name srvctl relocate server -servers "server_name_list" -serverpool Free srvctl config database -db db_unique_name dbca -silent -deleteInstance [-nodeList node_name] -gdbName gdb_name -instanceName instance_name [-sysDBAUserName sysdba -sysDBAPassword password]
2.2 删除软件(DB)
su - oracle
$ORACLE_HOME/oui/bin/runInstaller -updateNodeList ORACLE_HOME=Oracle_home_location "CLUSTER_NODES={name_of_node_to_delete}" -local
cd ${ORACLE_HOME}/deinstall ./deinstall -local
2.3 更新inventory
# 在保留任一节点执行命令 su - oracle cd $ORACLE_HOME/oui/bin ./runInstaller -updateNodeList ORACLE_HOME=Oracle_home_location "CLUSTER_NODES={remaining_node_list}"
2.4 删除GI节点软件
su - grid olsnodes -s -t # 如果节点被锁定,运行crsctl unpin css命令后继续下一步 crsctl unpin css -n delete_node
# -- 在删除的节点上,以root用户执行 su - root cd $GRID_HOME/crs/install ./rootcrs.pl -deconfig -force
# -- 若删除整个集群,在最后一个节点执行 ./rootcrs.pl -deconfig -force -lastnode
# -- 在删除的节点上执行删除软件命令操作
su - grid
${ORACLE_HOME}/deinstall ./deinstall -local
2.5 删除CRS配置
su - root cd ${${ORACLE_HOME}}/bin crsctl delete node -n node_to_be_deleted
# 在删除节点上更新node list
su - grid ./runInstaller -updateNodeList ORACLE_HOME=Grid_home "CLUSTER_NODES={node_to_be_deleted}" CRS=TRUE -silent -local
2.6 删除VIP配置(若存在)
su - grid srvctl config vip -node deleted_node_name srvctl stop vip -node deleted_node_name srvctl remove vip -vip deleted_vip_name
2.6 检查确认
cluvfy stage -post nodedel -n node_list [-verbose]