Overriding Default Locking
By default, the Oracle locks the data structures for you automatically. Though, you can request exact data locks on rows or tables when it is to your benefits to override the default locking. The Explicit locking share or deny access to the table for the period of a transaction.
With the LOCK TABLE statement, you can explicitly lock the whole table. With the SELECT FOR UPDATE statement, you can explicitly lock the specific rows of a table to make sure that they do not change before an update or delete is executed. Though, the Oracle automatically obtains the row-level locks at update or deletes time. Therefore, use the FOR UPDATE clause only if you want to lock the rows before the update or delete.