Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: How to get locked rows for a given table ?

Re: How to get locked rows for a given table ?

From: Thomas J. Kyte <tkyte_at_us.oracle.com>
Date: 1997/02/10
Message-ID: <32ff45d8.4692166@nntp.mediasoft.net>#1/1

On Mon, 10 Feb 1997 14:07:59 +0100, michael_at_isv-gmbh.de wrote:

>I like to determine the locked rows for a table. But I don't have enough
>info on the *$ (system) tables... I'd like to have a SQL-Statement or a
>PROCEDURE that accepts a table name and returns a vector (or a table).
>
>I don't want to use SELECT ... NOWAIT ! This requires a table scan. The
>table is too big to be scanned at least once in two minutes.
>
>replies via email preferred - thanks.

Oracle doesn't keep a list of locked rows anywhere. All we can tell you is that some rows are locked. To see exactly what rows are locked, you have to go to them (select for update).

This is one of the reasons our row locking is very efficient. Most other databases keep a single structure of all locks in the system (eg: point of serialization). We store the locks with the data itself; no memory overhead, no limit on the number of locks, no serialization around a structure of locks. When you commit the locks are implicity given up, you don't have to release them (eg: we don't have to visit each row and 'unlock' it)....

Thomas Kyte
Oracle Government
tkyte_at_us.oracle.com                          

http://govt.us.oracle.com


statements and opinions are mine and do not necessarily reflect the opinions of Oracle Corporation Received on Mon Feb 10 1997 - 00:00:00 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US