Pular para o conteúdo

Fóruns Banco de dados Oracle Saber qual usuário executou uma procedure Saber qual usuário executou uma procedure

#101134
vieri
Participante

    Os comandos abaixo falam por mim.

    ============================

    LOGMINER

    alter session set nls_date_format=’yyyy-mm-dd hh24:mi:ss’;

    begin
    dbms_logmnr.start_logmnr(
    startTime => ‘2007-04-16 00:00:00’,
    endTime => ‘2007-04-20 00:00:00′,
    options => dbms_logmnr.DICT_FROM_ONLINE_CATALOG + dbms_logmnr.CONTINUOUS_MINE);
    end;
    /

    select timestamp, username, session_info, sql_redo, info
    from v$logmnr_contents
    where operation=’DDL’;

    select xid, substr(sql_redo,1,100)
    from v$logmnr_contents
    where operation=’DDL’ and lower(sql_redo) like ‘create%procedure%’;

    select sql_undo from v$logmnr_contents where xid=’ 07002100D8850600′ and table_name=’SOURCE$’ and operation=’DELETE’;

    set pagesize 1000 linesize 150 heading off feedback off verify off trimspool on trimout on
    undef xid
    select timestamp from v$logmnr_contents where xid=’&&xid’ and operation=’DDL’;
    column txt format a150
    select REGEXP_REPLACE(
    REGEXP_REPLACE(sql_undo,
    ‘insert into “SYS”.”SOURCE$”(“OBJ#”,”LINE”,”SOURCE”) values (”[0-9]+”,”[0-9]+”,”’,”
    ),”’);$’,”
    ) txt
    from v$logmnr_contents where xid=’&&xid’ and table_name=’SOURCE$’ and operation=’DELETE’;

    adapte pro seu problema.