Pular para o conteúdo
  • Este tópico contém 1 resposta, 2 vozes e foi atualizado pela última vez 8 anos, 6 meses atrás por Avatar photoJosé Laurindo Chiappa.
Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #108065
    Avatar de Roni CésarRoni César
    Participante

      Pessoal, como conceder privilegio de visualização apenas para um usuário em todas as triggers na base de produção?

      #108068
      Avatar photoJosé Laurindo Chiappa
      Moderador

        Bom, eu ** realmente ** não sei o que vc quer quando vc diz “visualizar” triggers, mas seja acesso ao código-fonte das triggers, seja acesso às propriedades das triggers , isso tudo fica na view interna/de sistema DBA_TRIGGERS, basta vc dar GRANT de pesquisa para o usuário em questão, exemplo :

        ==> usuário SCOTT não tem acesso :

        SCOTT:@orcl:SQL>select * from dba_triggers where rownum < 3;
        select * from dba_triggers where rownum conecto como DBA :
        SCOTT:@orcl:SQL>conn sys/oracle as sysdba
        Connected.

        ==> e dou o acesso pro SCOTT :

        SYS:AS SYSDBA@orcl:SQL>grant select on DBA_TRIGGERS to scott;

        Grant succeeded.

        ==> pronto, SCOTT vai poder consultar (apenas Consultar) ** todas ** as Propriedades e ** todos ** os “fontes”/códigos de ** todas ** as triggers :

        SYS:AS SYSDBA@orcl:SQL>conn scott/tiger
        Connected.
        SCOTT:@orcl:SQL>select * from dba_triggers where rownum 0) THEN
        — Raise duplicate propagator error
        sys.dbms_sys_error.raise_system_error(-23394);
        END IF;
        END;

        XDB XDB$ACL$xd AFTER EACH ROW
        UPDATE OR DELETE
        XDB TABLE XDB$ACL
        REFERENCING NEW AS NEW OLD AS OLD

        ENABLED
        “XDB”.”XDB$ACL$xd” after delete or update on “XDB”.”XDB$ACL” for each row
        PL/SQL BEGIN IF (deleting) THEN xdb.xdb_pitrig_pkg.pitrig_del(‘XDB’,’XDB$ACL’, :old.sy NO NO NO NO NO NO YES NO
        s_nc_oid$, ‘7113E7BB25DE3A99E040E40ADCDE1F15’ ); END IF; IF (updating) THEN xd
        b.xdb_pitrig_pkg.pitrig_upd(‘XDB’,’XDB$ACL’, :old.sys_nc_oid$, ‘7113E7BB25DE3A99
        E040E40ADCDE1F15’, user ); END IF; END;

        SCOTT:@orcl:SQL>

        ===> NEM PRECISO DIZER que eu não sou fã de dar um acesso tão geral e genérico pra alguém que não é DBA, mas é possível…

        []s

        Chiappa

      Visualizando 2 posts - 1 até 2 (de 2 do total)
      • Você deve fazer login para responder a este tópico.
      plugins premium WordPress