expertenaustausch > comp.* > comp.datenbanken.misc

Ahmed Harouri (24.06.2005, 12:03)
Hallo Zusammen,

wie kriege ich raus welche User ein Update auf eine Tabelle gemacht hat?

PS: update stätement ist mir bekannt

V$SESSION habe ich nichts gefunden

Danke im Voraus
A. Harouri
Kay (24.06.2005, 12:33)
versuch mal v_$open_cursor

hth
Kay
Bernd Eckenfels (24.06.2005, 13:07)
Ahmed Harouri <harouri> wrote:
> wie kriege ich raus welche User ein Update auf eine Tabelle gemacht hat?


Log Miner. Im aktuellen Ora Magazin is soger nen Tutorial drin.

Wenn es sehr kurzfristig ist geht auch flashback query.

Gruss
Bernd
Ahmed Harouri (24.06.2005, 13:20)
"Kay" <kay.kanekowski> wrote in message
news:1119609180.645073.199020

> versuch mal v_$open_cursor
> hth
> Kay


Hi Kay,

aber nicht, wenn eine Stätement abgeschlossen ist oder?.

SQL@MySID>desc v_$open_cursor
Name Null? Type
----------------------------------------------------- --------
------------------------------------
SADDR RAW(8)
SID NUMBER
USER_NAME
VARCHAR2(30)
ADDRESS RAW(8)
HASH_VALUE NUMBER
SQL_TEXT
VARCHAR2(60)

SQL@MySID>

Gruß
A.Ha
Ahmed Harouri (24.06.2005, 13:25)
"Bernd Eckenfels" <ecki> wrote in message
news:d9gpgk$so4$1

> Ahmed Harouri <harouri> wrote:
> > wie kriege ich raus welche User ein Update auf eine Tabelle gemacht hat?

> Log Miner. Im aktuellen Ora Magazin is soger nen Tutorial drin.
> Wenn es sehr kurzfristig ist geht auch flashback query.
> Gruss
> Bernd


Hi,

danke für die Antwort. Ich habe bis jetzt nicht mit Log Miner
auseinander gesetzt:(. kann man damit auch die abgeschlossen Statement
raus finden?
Wie z.B. Pricese.

A. Ha
Stefan Graf (24.06.2005, 22:00)
> wie kriege ich raus welche User ein Update auf eine Tabelle gemacht hat?
> PS: update stätement ist mir bekannt
> V$SESSION habe ich nichts gefunden


Ein Trigger for update und dann die den User mit USER abfragen.

z.B. so:

CREATE OR REPLACE TRIGGER TAU_UPDATE
BEFORE UPDATE
ON TABELLE_X
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN
:new.LAST_UPDATE := sysdate;
:new.UPDATE_USER:=USER;
:new.UPDATE_COUNT := NVL (:new.UPDATE_COUNT, 0) + 1;
END;
Marc Blum (25.06.2005, 13:17)
On Fri, 24 Jun 2005 10:03:12 +0000 (UTC), "Ahmed Harouri" <harouri>
wrote:

>wie kriege ich raus welche User ein Update auf eine Tabelle gemacht hat?


OS-User oder ORACLE-User?
Ahmed Harouri (27.06.2005, 12:21)
"Marc Blum" <blum> wrote in message
news:9afqb1d0c3d5cpno8loho2pnsu1dbtik7n

> On Fri, 24 Jun 2005 10:03:12 +0000 (UTC), "Ahmed Harouri" <harouri>
> wrote:
> OS-User oder ORACLE-User?
> --
> Marc Blum
> mailto:blumXXXSPAMXXX
>


DB user

Gruß
A.Ha
Ahmed Harouri (27.06.2005, 12:34)
"Stefan Graf" <s.graf2> wrote in message
news:3i38hdFjkkskU1
[..]
> :new.UPDATE_USER:=USER;
> :new.UPDATE_COUNT := NVL (:new.UPDATE_COUNT, 0) + 1;
> END;

Hi,
Ein Schema X hat eine Update auf die Tabelle TEMP abgesetzt und
ich als system raus krigen um welche user sich händelt, kann man mit dem
TRIGGER raus krigen ?

UPDATE TEMP
SET WERT = 100
WHERE NAME = 'TRS MODEL III';
commit;

PS : Die AUDIT ist ausgeschaltet.

Gruß
A. Ha
Stefan Graf (27.06.2005, 19:04)
> > Ein Trigger for update und dann die den User mit USER abfragen.
> Hi,
> Ein Schema X hat eine Update auf die Tabelle TEMP abgesetzt und
> ich als system raus krigen um welche user sich händelt, kann man mit dem
> TRIGGER raus krigen ?
> UPDATE TEMP
> SET WERT = 100
> WHERE NAME = 'TRS MODEL III';
> commit;


Müsste auch über USER gehen. Das Schema ist dabei egal, es ist nur von
Bedeutung welcher User angemeldet ist.
Man kann z.B. auch für jedes Update einen Eintrag in eine Logdatei machen,
dabei nur darauf achte, dass man sich nicht einen Deathlook einfängt. Kann
dabei schnell mal passieren ;-)
Urs Metzger (27.06.2005, 23:28)
Ahmed Harouri schrieb:
> wie kriege ich raus welche User ein Update auf eine Tabelle gemacht hat? Da musst du gar nichts neu erfinden.


Such mal in der Oracle-Dokumentation nach dem AUDIT-Statement.

Gruß, Urs
Andreas Mosmann (28.06.2005, 09:38)
Urs Metzger schrieb am 27.06.2005 in <d9pqnu$5b5$1>:

> Ahmed Harouri schrieb:
>> wie kriege ich raus welche User ein Update auf eine Tabelle gemacht hat?

> Da musst du gar nichts neu erfinden.


> Such mal in der Oracle-Dokumentation nach dem AUDIT-Statement.


Die Frage wurde zwar so nicht gestellt, aber ich glaube, das nützt ihm
nichts, denn er will die Erkenntnis nachträglich gewinnen, ohnen
Auditing eingeschaltet zu haben.
Gehe ich recht in der Annahme, daß er in diesem Fall einfach keine
Chance hat?
Ahmed Harouri (28.06.2005, 10:19)
"Urs Metzger" <urs> wrote in message
news:d9pqnu$5b5$1

> Ahmed Harouri schrieb:
> > wie kriege ich raus welche User ein Update auf eine Tabelle gemacht hat?

> Da musst du gar nichts neu erfinden.
> Such mal in der Oracle-Dokumentation nach dem AUDIT-Statement.
> Gruß, Urs


Hi,

keine Chance AUDIT bei uns ist ausgeschaltet:(

Gruß
A. Ha
Ahmed Harouri (28.06.2005, 10:21)
"Urs Metzger" <urs> wrote in message
news:d9pqnu$5b5$1

> Ahmed Harouri schrieb:
> > wie kriege ich raus welche User ein Update auf eine Tabelle gemacht hat?

> Da musst du gar nichts neu erfinden.
> Such mal in der Oracle-Dokumentation nach dem AUDIT-Statement.
> Gruß, Urs


Hi,

keine Chance AUDIT ist bei uns ausgeschaltet:(

Gruß
A. Ha
Ahmed Harouri (28.06.2005, 10:23)
> Die Frage wurde zwar so nicht gestellt, aber ich glaube, das nützt ihm
> nichts, denn er will die Erkenntnis nachträglich gewinnen, ohnen
> Auditing eingeschaltet zu haben.
> Gehe ich recht in der Annahme, daß er in diesem Fall einfach keine
> Chance hat?
> > Gruß, Urs

> Andreas


Hi,

richtig keine Chance. AUDIT ist aus Rechtlichem Grund ausgeschaltet.

Gruß
A.HA

Ähnliche Themen