1)delete node in RAC
referencing http://www.oracledba.org
1@@@@pseudo-code for delete node in RAC
situation:
ORACLE_SID=RDBC1
ORACLE_BASE=/u01/app/oracle
ORACLE_TERM=xterm
ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
CRS_HOME=/u01/crs1020

#@@@@begin
export RAC_NAME=RDBC
export SERVICE_NAME=RDBC_SRV
export NODE1=station5
export NODE2=station6
case $1 in
1)
#@@@run as oracle|root
srvctl status service -d $RAC_NAME
srvctl stop service   -d $RAC_NAME -s $SERVICE_NAME -i $NODE2
srvctl config service -d $RAC_NAME
srvctl modify service -d $RAC_NAME -s $SERVICE_NAME -n -i $NODE1
srvctl config service -d $RAC_NAME
;;

2)
#@@@run as oracle
dbca
#@@@run as oracle|root
srvctl config database -d $RAC_NAME
crs_relocate ora.$RAC_NAME.db
crs_stat -t
;;

3)
#@@@run as oracle|root
srvctl stop asm -n $NODE2
srvctl remove asm -n $NODE2
srvctl config asm -n $NODE2
srvctl config asm -n $NODE1
crs_stat -t
;;

4)
#@@@remove listener of node2
netca
;;

5)
#@@@run as oracle|root
srvctl stop nodeapps -n $NODE2
;;

6)
#@@@run as oracle on node2 => remove "db home directory"
export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
cd /u01/app/oracle/product/10.2.0/db_1/oui/bin
./runInstaller -ignoreSysPrereqs -updateNodeList ORACLE_HOME=$ORACLE_HOME CLUSTER_NODES="" -local
./runInstaller -ignoreSysPrereqs -deinstall -silent "REMOVE_HOMES={$ORACLE_HOME}" –local
;;

7)
#@@@run as oracle on node2 => remove "asm home directory"
export ORACLE_HOME=/u01/app/oracle/product/10.2.0/asm_1
cd /u01/app/oracle/product/10.2.0/asm_1/oui/bin
./runInstaller -ignoreSysPrereqs -updateNodeList ORACLE_HOME=$ORACLE_HOME CLUSTER_NODES="" -local
./runInstaller -ignoreSysPrereqs -deinstall -silent "REMOVE_HOMES={$ORACLE_HOME}" –local
;;

8)
#run as oracle|root
srvctl remove nodeapps -n $NODE2
;;

9)
export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
cd /u01/app/oracle/product/10.2.0/db_1
./runInstaller -ignoreSysPrereqs -updateNodeList ORACLE_HOME=$ORACLE_HOME CLUSTER_NODES=$NODE1
;;

10)
export ORACLE_HOME=/u01/app/oracle/product/10.2.0/asm_1
cd /u01/app/oracle/product/10.2.0/asm_1
./runInstaller -ignoreSysPrereqs -updateNodeList ORACLE_HOME=$ORACLE_HOME CLUSTER_NODES=$NODE1
;;

11)
#@@@logon node2 as root, CRS_HOME=/u01/crs1020
/u01/crs1020/install/rootdelete.sh local nosharedvar nosharedhome
#@@@logon node1 as root, CRS_HOME=/u01/crs1020
/u01/crs1020/install/rootdeletenode.sh station6,2
;;

12)
#@@@logon node1 as oracle
export ORACLE_HOME=/u01/crs1020
cd /u01/crs1020/oui/bin
./runInstaller -ignoreSysPrereqs -updateNodeList ORACLE_HOME=$ORACLE_HOME CLUSTER_NODES=$NODE1  CRS=TRUE
;;

*)
echo "General step to remove a node for RAC "
echo "assume the node2 is you want to remove"
echo "1) stop and remove the service of node2 using dbca"
echo "2) stop and remove the instance of node2 using dbca"
echo "3) stop and remove the asm of node2 using command-line"
echo "4) stop and remove the listener of node2 using netca"
echo "5) stop all the nodeapps on the node2 using command-line"
echo "6) remove both of the ORACLE_HOME(db) using command-line"
echo "7) remove both of the ORACLE_HOME(asm) using command-line"
echo "8) remove all the nodeapps on the node2 using command-line"
echo "9)  update node list in node1 for db_home"
echo "10) update node list in node1 for asm_home"
echo "11) remove the clusterware node2 as root"
echo "12) update the clusterware inventory of node1 as oracle"
;;
esac