first we will upgrade CRS clusterware.
second we will upgrade db sofware.
if you get
xlib
cant display 0.0 error
the easiest method is
do
xhost + from root user
then check xclock from oracle user.
Now
run the ./runinstaller from DISK1 of patch

first we will just upgrade clusterware...
so specify clusterware home and path.

specify all nodes , choose cluster installation..

check below pre-requisite for any major errors

follow the instruction at end of installation

you must watch successfully applied word at the end of running root102.sh


After running root102.sh on clusterware

lets query version of CRS has been upgrade to 10204 or not ??
crsctl query css activeversion
crs active version on the cluster is [10.2.0.4]
NOW ITS TIME TO UPGRADE DB SOFTWARE.
before we start upgrade our db software please make sure listener is shutdown
cs_stat -t has to be look like this one

select HOME name and path.




run root.sh by root user

Note: change database parameter cluster_database = false
open instance in upgrade mode and run catupg.sql

after that
NOTE: change database parameter cluster_database = true
startup database
select * from v$version;