一、添加節點
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]