Pular para o conteúdo

Fóruns Banco de dados Oracle Negar usuários a usar GRANT Negar usuários a usar GRANT

#108917
Alison Fernando Duarte Federico
Participante

    Coloquei 2 mil já no varchar2 e nada kkkkk
    Estranho ele dar esse erro, estou criando usuario rsrs, so se internamente ele da algum GRANT na hora de criar o usuario….
    E outra coisa que estou tentando é fazer ele gravar na tabela LOG e também mostrar um RAISE:

    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);
    nwho := ora_grantee(who);
    if (ora_sysevent = ‘GRANT’) and user ‘SYS’ then
    RAISE_APPLICATION_ERROR(-20001, ‘GRANTs são Proibidos!!!’);
    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;
    /

    Infelizmente não está funcionando, ele da a mensagem de erro mas não grava na tabela LOG:

    ORA-00604: ocorreu um erro no nφvel 1 SQL recursivo
    ORA-20001: GRANTs sao Proibidos!!!
    ORA-06512: em line 10