Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: Hot and Cold backups
Randy Harris wrote:
> "Sybrand Bakker" <postbus_at_sybrandb.demon.nl> wrote in message
> news:p1idd193h6kf8a29fa4mokfspedf6effr8_at_4ax.com...
>> On Thu, 14 Jul 2005 19:29:41 GMT, "Randy Harris"
>> <randy_at_SpamFree.com> wrote:
>>
>>> Thanks for the explanation. As I posted earlier, I was under the
>>> impression that shutdown immediate was safe, no transactions
>>> could be lost. I understand now that is not the case. If I want
>>> to be certain that no data is lost, I need to use shutdown
>>> transactional.
>>
>> Obviously you still don't understand what is going on. You won't
>> loose transactions. An uncommitted transaction is simply not a
>> transaction. And of course, using shutdown transactional, will
>> make sure you can't shut down the database, ever.
>>
>>
>> --
>> Sybrand Bakker, Senior Oracle DBA
>
> Well then I sure wish someone would explain it so that I can
> understand.
>
> 1 - server receives a DML statement from a client application, it
> begins processing it, it will be committed when completed
> 2 - before the statement is finished processing a shutdown
> immediate is issued
> 3 - Oracle halts processing of the DML statement and rolls back the
> data 4 - Oracle server discards that DML statement and shuts down
> the database 5 - the data in that DML statement is lost
>
> Please, please explain which part of this is wrong.
> Are you saying that it is the responsibility of the client
> application to know that the transaction was never committed?
Your statement 1 is incorrect.
A DML statement will NOT be committed when it completes.
It is the applications responsibility to define what it wants to see as a
Transaction, Logical Unit of Work, or whatever name you want to give to the
SET of DML statements you want to be either committed together or
roll-backed together.
Sure, the SET can be just 1 statement, but not necessaraly so.
Consider a banking application, where you want to subtract an amount from
one account and, within the SAME Logical Transaction, add this amount to
another account.
So yes, the application (developer) decides when to commit/rollback.
HTH,
-- JeroenReceived on Thu Jul 14 2005 - 16:48:30 CDT
![]() |
![]() |