select de Grants

Visualizando 8 posts - 1 até 8 (de 8 do total)
  • Autor
    Posts
  • #94790
    Avatar de Thiago VilhenaThiago Vilhena
    Participante

    Pessoa, como que eu faço pra saber todos os grants que meu usuario tem?

    #94791
    Avatar de Regis AraujoRegis Araujo
    Participante

    Fala Thiago..!!!

    Tenta isto mano..!!

    SELECT * FROM ALL_TAB_PRIVS WHERE grantee = '';

    Abraços..!

    #94795
    Avatar de marlontkmarlontk
    Participante

    Opa
    Segue scripts que uso para isso porque pode ser que teu usuario tenha roles atribuidas a ele logo temos que saber o que estas roles nos permitem fazer no banco.

    — ROLES QUE ESTAO ATRIBUIDAS AO USUARIO
    SELECT ‘GRANT ‘ ||A.GRANTED_ROLE||’ TO ‘||A.GRANTEE||’;’ FROM DBA_ROLE_PRIVS A
    WHERE GRANTEE IN (‘user’)
    ORDER BY A.GRANTEE

    — DIREITOS DAS ROLES NOS OBJETOS
    SELECT ‘GRANT ‘||P.privilege || ‘ TO ‘|| GRANTEE|| ‘ ON ‘ ||OWNER||’.’||TABLE_NAME||’;’
    FROM DBA_TAB_PRIVS P
    WHERE P.GRANTEE IN (‘ROLE’)

    — OUTROS DIREITOS
    SELECT ‘GRANT ‘|| Y.privilege || ‘ TO ‘ ||GRANTEE
    || CASE WHEN ADMIN_OPTION = ‘YES’ THEN ‘ WITH ADMIN OPTION’
    ELSE ‘ ‘
    END
    ||’;’
    FROM DBA_SYS_PRIVS Y
    WHERE GRANTEE IN (‘user’)

    #94811
    Avatar de Thiago VilhenaThiago Vilhena
    Participante

    [quote=”marlontk”:1fj253nk]Opa
    Segue scripts que uso para isso porque pode ser que teu usuario tenha roles atribuidas a ele logo temos que saber o que estas roles nos permitem fazer no banco.

    — ROLES QUE ESTAO ATRIBUIDAS AO USUARIO
    SELECT ‘GRANT ‘ ||A.GRANTED_ROLE||’ TO ‘||A.GRANTEE||’;’ FROM DBA_ROLE_PRIVS A
    WHERE GRANTEE IN (‘user’)
    ORDER BY A.GRANTEE

    — DIREITOS DAS ROLES NOS OBJETOS
    SELECT ‘GRANT ‘||P.privilege || ‘ TO ‘|| GRANTEE|| ‘ ON ‘ ||OWNER||’.’||TABLE_NAME||’;’
    FROM DBA_TAB_PRIVS P
    WHERE P.GRANTEE IN (‘ROLE’)

    — OUTROS DIREITOS
    SELECT ‘GRANT ‘|| Y.privilege || ‘ TO ‘ ||GRANTEE
    || CASE WHEN ADMIN_OPTION = ‘YES’ THEN ‘ WITH ADMIN OPTION’
    ELSE ‘ ‘
    END
    ||’;’
    FROM DBA_SYS_PRIVS Y
    WHERE GRANTEE IN (‘user’)[/quote]

    I veio, meu usuario nao tem privilelgios para essas views =|…

    #94812
    Avatar de Thiago VilhenaThiago Vilhena
    Participante

    [quote=”Thunder_Catz”:30z0ujge]Fala Thiago..!!!

    Tenta isto mano..!!

    SELECT * FROM ALL_TAB_PRIVS WHERE grantee = '';

    Abraços..![/quote]

    Regis meu veio, eu tentei fazer isso se nao me falha a memoria deu que nao existia linhas selecionadas…. amanha tento novamente e posto. abç

    #94813
    Avatar de burgaburga
    Participante

    [quote=”Thiago_est”:3cjecar4][quote=”Thunder_Catz”:3cjecar4]Fala Thiago..!!!

    Tenta isto mano..!!

    SELECT * FROM ALL_TAB_PRIVS WHERE grantee = '';

    Abraços..![/quote]

    Regis meu veio, eu tentei fazer isso se nao me falha a memoria deu que nao existia linhas selecionadas…. amanha tento novamente e posto. abç[/quote]

    A consulta acima só enxerga privilegios dados diretamente ao usuário, se o teu usuário só tem priviégios de roles vc não vai enxergar nada mesmo…

    Você pode tentar o seguinte (conectado com o usuário que você quer saber dos privilégios):

    SELECT *
    FROM ALL_TAB_PRIVS
    WHERE grantee IN (
    SELECT GRANTED_ROLE
    FROM USER_ROLE_PRIVS);
    UNION
    SELECT *
    FROM ALL_TAB_PRIVS
    WHERE grantee = '';

    #94817
    Avatar de marlontkmarlontk
    Participante

    Opa,
    Para executar os selects que havia enviado antes o bom é logar como system porque dependendo do user que voce esta logado realmente não tera acesso a essas views.

    #95095
    Avatar de David SiqueiraDavid Siqueira
    Participante

    Thiagão meu brother..resolveu essa parada???

    Abraço

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