When two or more different sessions compete for the same row simultaneously, Oracle will immediately raise the lock enqueue mechanism, which lets one process at a time modify the row. The lock will be released once the transaction is finished (after a commit or rollback command is issued). The first process that takes the row locks it, meanwhile the other processes will have to wait. If this wait time is visible to the user then it can be misinterpreted as a slow performance problem.
Blocking sessions are issues that should be solved at the program level, but in the mean time it is the DBA's responsibility to detect them and fix them. A blocking session may be normal during production time, this is not the real problem. Oracle is prepared to queue sessions, the real problem begins when a session hangs and leaves the other session indefinitely waiting for the row lock to be released.
Blocking sessions can easily be detected with Enterprise Manager. Besides the intermittent...