Hi Ashish,
Maybe is will give some answers:

update my_table
set my_column = my_value
where mod(my_row_number,2) = 0;
Using the rownum is a very dangerous way, it is assigned dynamicly, so it is not always the same number for the same row

Increasing performance can be achieved by:
1 Partitioning and parallel processing
2 When updating some rows, use a proper index (function, bitmap, ...)