From: "Howard J. Rogers" <howardjr@www.com>
Newsgroups: comp.databases.oracle.server
References: <20201A6239BE020B.C9CA7D8D0CC1CA36.7FB8251FE25EB81E@lp.airnews.net> <B6C6CEC4.476F%markbtownsend@home.com>
Subject: Re: a general 'Transactions in a database' question
Lines: 76
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 5.50.4133.2400
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400
X-Original-NNTP-Posting-Host: 203.134.154.219
Message-ID: <3aa19285@news.iprimus.com.au>
X-Original-Trace: 4 Mar 2001 11:55:33 +1100, 203.134.154.219
Date: Sun, 4 Mar 2001 11:56:04 +1100
NNTP-Posting-Host: 203.134.64.67
X-Trace: news0.optus.net.au 983667333 203.134.64.67 (Sun, 04 Mar 2001 11:55:33 EST)
NNTP-Posting-Date: Sun, 04 Mar 2001 11:55:33 EST
Organization: CWO Customer - reports relating to abuse should be sent to abuse@cwo.net.au



"Mark Townsend" <markbtownsend@home.com> wrote in message
news:B6C6CEC4.476F%markbtownsend@home.com...
> You didn't mention what version of Oracle, but
>
> 1) In all versions of Oracle, you could use auditing to capture and audit
> trail. This will add some overvhead, and you may find it difficult to
 track
> a particular row. See
>
 http://otn.oracle.com/docs/products/oracle8i/doc_library/817_doc/server.817/
> a76965/c27audit.htm


If you just use the auditing provisions supplied by Oracle, then you
definitely *won't* see the rows involved.  That merely tracks the usage of
privileges.


>
> 2) In Oracle8i, Logminer gives you another offline capability you may
> suffice for what you are looking for. You can track who did 'what' to what
> rows - however, you won't actually see the what (i.e DML statments), just
> the affect they had. See


Log miner most definitely does show you the SQL statements involved in
DML -the the column SQL_REDO in v$logmnr_contents shows you the SQL
statement issued.  And SQL_UNDO shows you the logical reverse of that
statement.

Now it's true that what is shown is not precisely the SQL statement AS
ISSUED (ie, 'update emp set sal=10000' when issued turns into a row-by-row
'update emp set sal=10000 where rowid=x.x.x) -but it's easy to work out what
statement gave rise to 3 million updates when all 3 million follow the same
form and format.

Regards
HJR




>
 http://otn.oracle.com/docs/products/oracle8i/doc_library/817_doc/server.817/
> a76956/archredo.htm#12680
>
>
> > From: "sdenney" <sdenney@healthetech.com>
> > Organization: TSCNET, Inc. (using Airnews.net!)
> > Newsgroups: comp.databases.oracle.server
> > Date: Fri, 2 Mar 2001 09:51:57 -0800
> > Subject: a general 'Transactions in a database' question
> >
> > HI all,
> >
> > How does one keep track of all transactions made in a database?  In
 other
> > words, if I want to take a certain record and be able to browse back
 through
> > what has been done with it and by whom, should I create transaction
 tables
> > and triggers, or let Oracle handle it?  I am looking for historical
 data,
> > rather than just the ability to recover a database.
> >
> > Does anyone have experience?  Does the question make sense?
> >
> > Thanks in advance,
> >
> > SD
> >
> >
>



