Oracle: How can I track the progress of an index rebuild?
You should Query the V$SESSION_LONGOPS

select ops.OPNAME, ops.TIME_REMAINING,ops.start_time
from v$session_longops ops
where ops.sid=&amp;your_sid
and ops.serial#=&amp;your_serial
and time_remaining&gt;0;


If the index rebuild is parallel, than you you must find the parallel slaves that do the work.
This can be done by querying the V$PX_SESSION. Your session that issued the 'alter index' statement is the query coordinator

select ops.OPNAME, ops.TIME_REMAINING,ops.start_time
from v$px_session par, v$session_longops ops
where par.qcsid=&amp;your_sid
and par.qcserial#=&amp;your_serial
and ops.sid=par.sid
and ops.serial#=par.serial#
and ops.time_remaining&gt;0;


But an index creation consists of more than one longops (scan the table, sort the data,...)