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 stop ALL dbms_jobs from executing ?

Re: How to stop ALL dbms_jobs from executing ?

From: Howard J. Rogers <hjr_at_dizwell.com>
Date: Wed, 3 Nov 2004 08:54:57 +1100
Message-ID: <4188021e$0$22601$afc38c87@news.optusnet.com.au>

"G Dahler" <gordon.dahler_at_spamex.com> wrote in message news:WTShd.10891$dj2.591292_at_news20.bellglobal.com...
>
> "Howard J. Rogers" <hjr_at_dizwell.com> a écrit dans le message de
> news:4187ed3c$0$15913$afc38c87_at_news.optusnet.com.au...
>
> SNIP
>>
>> The actual answer to the original poster is that he has to do precisely
>> NOTHING to "minimise access to the tables during the [move]". Because
> moving
>> a table takes an exclusive table lock, and hence the table is protected
>> against all DML without further effort on his part.
>>
>
> OK. It's just that some of these tables are BIG and I taught that if any
> massive DML is trying to occur while (or juste before) I start moving
> these,
> I may end up with some problems but It looks like there is no problem.

If there is DML pending on the table at the time you begin to move it, then your move will fail with the " resource busy and acquired with NOWAIT specified" error message (ie, an ORA-00054).

If the move command therefore DOESN'T produce an error, it must have acquired the locks it needs. It then holds those locks for the duration of the move, and so no new DML can start on the table until the move completes. DML that attempts to start during that time will simply hang until it can acquire the shared table lock it needs, at which point all queued DML starts being processed in the order in which it was issued.

So it's really quite self-regulating.

Regards
HJR
> Thanks
>
>
Received on Tue Nov 02 2004 - 15:54:57 CST

Original text of this message

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