Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: LMT concurrency
Ricky,
I stand corrected - I'm sure I saw the ST lock being used in 8.1.5 during segment creation, but I've just run a couple of quick tests on 8.1.7 monitoring x$ksqst, and as you point out, it is the TS enqueue that is grabbed once per segment, not the ST.
Interesting point, though, the TT enqueue is also accessed. A quick PL/SQL to
alter table XXX allocate extent
five times in a row showed 20 TM gets,
15 TT gets, and 10 TX gets.
Waleed raises an interesting point too
about the file bitmap blocks - if you are
allocating extents at high speed, where
will most of the contention show up ?
Does this mean that it moves to buffer
busy waits on 'bitmap block' ?
-- Jonathan Lewis Host to The Co-operative Oracle Users' FAQ http://www.jlcomp.demon.co.uk/faq/ind_faq.html Author of: Practical Oracle 8i: Building Efficient Databases See http://www.jlcomp.demon.co.uk/book_rev.html Seminars on getting the best out of Oracle See http://www.jlcomp.demon.co.uk/seminar.html Screensave or Lifesaver - using spare CPU to hunt for a cure to cancer see: http://www.ud.com Ricky Sanchez wrote in message <3B3DD56A.E6AD64C_at_more.net>...Received on Sat Jun 30 2001 - 10:52:26 CDT
>Waleed-
>
>The main enqueue (lock) used during locally managed tablespace
>operations is the TS enqueue, particularly for segment create and drop
>operations. This is distinct from the ST enqueue, which serializes
>access to the uet$ and fet$ dictionary tables. The TS enqueue was
>originally created to implement temporary segment operations, but is
>used for LMT segment creation as well and allows concurrent processes to
>hold shared locks. The ST enqueue forced all extent and therefore
>segment operations to be serialized for the entire database (not just
>the instance!). With LMT and the TS enqueue, you can create multiple
>segments at the same time without enqueue contention.
>