- Este tópico contém 7 respostas, 5 vozes e foi atualizado pela última vez 13 anos, 4 meses atrás por
David Siqueira.
-
AutorPosts
-
junho 24, 2010 às 8:12 pm #94790
Thiago Vilhena
ParticipantePessoa, como que eu faço pra saber todos os grants que meu usuario tem?
junho 24, 2010 às 9:09 pm #94791Regis Araujo
ParticipanteFala Thiago..!!!
Tenta isto mano..!!
SELECT * FROM ALL_TAB_PRIVS WHERE grantee = '';
Abraços..!
junho 24, 2010 às 9:33 pm #94795marlontk
ParticipanteOpa
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’)junho 25, 2010 às 3:29 am #94811Thiago 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 =|…
junho 25, 2010 às 3:31 am #94812Thiago 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ç
junho 25, 2010 às 3:50 am #94813burga
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 = '';junho 25, 2010 às 3:12 pm #94817marlontk
ParticipanteOpa,
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.julho 17, 2010 às 1:00 am #95095David Siqueira
ParticipanteThiagão meu brother..resolveu essa parada???
Abraço
-
AutorPosts
- Você deve fazer login para responder a este tópico.
Compartilhe ! Além de ajudar, é legal ! :)
- Clique para compartilhar no Twitter(abre em nova janela)
- Clique para compartilhar no Facebook(abre em nova janela)
- Clique para compartilhar no LinkedIn(abre em nova janela)
- Clique para compartilhar no Reddit(abre em nova janela)
- Clique para compartilhar no WhatsApp(abre em nova janela)
- Clique para compartilhar no Telegram(abre em nova janela)
- Clique para enviar um link por e-mail para um amigo(abre em nova janela)
- Clique para imprimir(abre em nova janela)