Pular para o conteúdo
#108915
Avatar de Alison Fernando Duarte FedericoAlison Fernando Duarte Federico
Participante

    Poxa meu amigo agradeço muito pela ajuda.

    Estou tentando criar dessa maneira:

    create table log (
    Action_DaTe date
    , Pvs_name varchar2(15)
    , PRIVILEGE varchar2(30)
    , OWNER varchar(20)
    , OBJECT_NAME varchar2(30)
    , Username varchar2(30)
    , login_user varchar2(20)
    , IP_address varchar2(15)
    );

    create or replace trigger gr_trigger after grant or revoke on database
    declare
    priv dbms_standard.ora_name_list_t;
    who dbms_standard.ora_name_list_t;
    npriv pls_integer;
    nwho pls_integer;
    begin
    npriv := ora_privilege_list(priv);
    if (ora_sysevent = ‘GRANT’) and user ‘SYS’ then
    nwho := ora_grantee(who);
    else
    nwho := ora_revokee(who);
    end if;
    for i in 1..npriv
    loop
    for j in 1..nwho
    loop
    insert into log values
    (
    systimestamp,
    ora_sysevent,
    priv(i),
    ora_dict_obj_owner,
    ora_dict_obj_name,
    who(j),
    ora_login_user,
    (NVL(ora_client_ip_address, ‘N/A’))
    );
    end loop;
    end loop;
    end;
    /

    Ela funciona, porem eu não consigo criar usuários usando a conta SYS rsrsrs
    Ela me apresenta esse erro quando tento criar um usuário:
    ERROR at line 1:
    ORA-00604: ocorreu um erro no nφvel 2 SQL recursivo
    ORA-06502: PL/SQL: erro numΘrico ou de valor
    ORA-06512: em line 13

    Quando dropo a trigger eu consigo criar o usuário normalmente.

    Teria ideia de qual poderia ser o problema? rsrs

    plugins premium WordPress