Oracle uses different lock modes to maintain data concurrency and integrity. Row-level locks are acquired during DML statements to prevent other sessions from modifying the same rows. Table locks are also acquired to prevent DDL operations from conflicting with transactions. Deadlocks can occur when two sessions block each other by locking resources the other needs. Oracle automatically detects and resolves deadlocks by rolling back one of the sessions.