Pular para o conteúdo

Fóruns Banco de dados Oracle Consultar DDL exec em sessão Consultar DDL exec em sessão

#92272
Ishii
Participante

    Olá,

    Eu uso uma trigger também alimentando numa tabela:

    table:
    MACHINE VARCHAR2(64)
    OSUSER VARCHAR2(30)
    USERNAME VARCHAR2(30)
    OBJECTNAME VARCHAR2(128)
    DATEUPDATE DATE
    COMMAND VARCHAR2(30)

    Corpo da Trigger


    create or replace trigger audit_objects
    before DDL on .SCHEMA

    declare

    -- Variaveis de Sessao

    vMachine v_$session.MACHINE%type;

    vOsUser v_$session.OSUSER%type;

    begin

    -- Capturando informacoes

    select machine, osuser
    into vMachine, vOsUser
    from v_$session

    where sid = SYS_CONTEXT ('USERENV', 'SID') ;

    insert into AUD_TAB_OBJECTS
    values

    (vMachine,vOsUser, user, ora_dict_obj_name, sysdate,ora_sysevent );

    end audit_objects;

    Troque o OWNER pelo usuário que você quer controlar…

    Com isso na tabela você terá:
    A máquina que efetuou a alteração, o usuário do SO, o Usuário do Oracle, o nome do Objeto alterado, sysdate, e o comando (alter, create, drop).
    Pode fazer as alterações que achar pertinente para esse controle.

    []s Ishii