May be one procedure is doing a DML (updating) on the column in one session and a different procedure is trying do a DDL (create Index) in a different session which is causing the "ORA-00054: resource busy and acquire with NOWAIT specified or timeout expired" error.
Try to commit the DML on the table before attempting a DDL to avoid this issue.
This is appears very common when you are doing parallel operations/parallel processes.
Wait for sometime and re-try your operation. OR unlock the db-object which was locked. lmk ur ans.
Please check if any user activity is going on the database as you should the DDL activity in the data base where there is no user activity.
Check in the dba_ddl_locks, if your session is captured.
Thanks everyone for your inputs. I was updating the subpartitions and rebuilding the bitmap index on each of the partitions parallely.
I removed the rebuilding of index parallely. I made only the updates to run in parallel and then after all updates are done, then rebuild each of the subpartitioned index sequentially. This helped me resolving the issue and no more locks.