LOCK TABLE Statement

  Manually lock one or more tables. 

Syntax:

  LOCK TABLE [schema.] Table [options] IN lockmode MODE [NOWAIT] 

  LOCK TABLE [schema.] View [options] IN lockmode MODE [NOWAIT] 

Options:
  PARTITION (partition) 
  SUBPARTITION (subpartition) 
  @ Dblink 

  Lockmodes: 
EXCLUSIVE
SHARE
  ROW EXCLUSIVE 
  SHARE ROW EXCLUSIVE 
  ROW SHARE * | * SHARE UPDATE 

  If NOWAIT is omitted Oracle will wait until the table is available. 

  Several tables can be locked with a single command - separate with commas 

  Eg LOCK TABLE table1, table2, table3 IN ROW EXCLUSIVE MODE; 

  Default Locking Behaviour 

  A pure SELECT will not lock any rows. 

  INSERT, UPDATE or DELETE's - will place a ROW EXCLUSIVE lock. 

  SELECT … FROM … FOR UPDATE NOWAIT - will place a ROW EXCLUSIVE lock. 

  Multiple Locks on the same rows with LOCK TABLE 

  Even when a row is locked you can always perform a SELECT (because SELECT does not lock any rows) in addition to this, each type of lock will allow additional locks to be granted as follows. 

  ROW SHARE = Allow ROW EXCLUSIVE or ROW SHARE or SHARE locks to be granted to the locked rows. 

  ROW EXCLUSIVE = Allow ROW EXCLUSIVE or ROW SHARE locks to be granted to the locked rows. 

  SHARE ROW EXCLUSIVE = Allow ROW SHARE locks to be granted to the locked rows. 

  SHARE = Allow ROW SHARE or SHARE locks to be granted to the locked rows. 

  EXCLUSIVE = Allow SELECT queries only 

  Although it is valid to place more than one lock on a row, UPDATES and DELETE's may still cause a wait if a conflicting row lock is held by another transaction. 

  Oracle * = 6 option included for compatibility 

  Related Commands: 

  COMMIT 
  DELETE 
  INSERT 
  ROLLBACK 
  SELECT 
  UPDATE 
  DBMS_LOCK 

  Related Views: 

  DBA_ALL_TABLES ALL_ALL_TABLES USER_ALL_TABLES 
  DBA_TABLES ALL_TABLES USER_TABLES TAB 
  DICTIONARY 
  DICT_COLUMNS 
  V $ LOCK 
  V $ _LOCK 
  V $ LOCKED_OBJECT 
  V $ LOCKS_WITH_COLLISIONS 
  V $ LOCK_ACTIVITY 
  V $ LOCK_ELEMENT 

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • Facebook
  • DotNetKicks
  • DZone
  • Netvouz
  • Propeller

Tags:

Releated Java Articles

Comments

Leave a Reply