› Fóruns › Banco de dados Oracle › Acesso a tabelas de outros usuarios
- Este tópico contém 4 respostas, 2 vozes e foi atualizado pela última vez 17 anos, 7 meses atrás por
Ishii.
-
AutorPosts
-
26 de setembro de 2008 às 7:36 pm #82923
Naga
ParticipanteOla pessoal,
tenho um sistema que foi criado para trabalhar com o .net
como o sistema foi criado a um bom tempo, passou por varias maos.
o problema e que em partes do codigo, as query estao escritas com o owner explicitas e em outras, sem. pior, nem sempre esta como string, e sim como variavel, ou seja, esta tudo misturado.
pergunta: tenho dois usuarios no oracle, um e o owner e o outro nao. tem como o que nao e owner acessar as tabelas do outro (owner) sem ter que explicita-lo (select * from OWNER.tabela)?
obrigado desde ja
26 de setembro de 2008 às 8:28 pm #82926Ishii
ParticipanteOlá,
Utilize o GRANT
Exemplo: Owner SCOTT
Tabela: employeeAcesso via usuario NAGA
Conectado como SCOTT digite:
grant select on employee to NAGA;
Ai o usuario NAGA pode fazer
select * from employee
[]s 🙂
26 de setembro de 2008 às 10:46 pm #82929Naga
ParticipanteObrigado pela resposta.
Tem como fazer isso em unico grant, pois como e um sistema, tem varias tabelas, views, procedures, ….
26 de setembro de 2008 às 10:58 pm #82930Ishii
ParticipanteOlá,
Sim, mas tem uns passos antes:
1- Crie uma ROLE (create role naga_role;)
2- Conceda os grants de todos os objetos para a role;
2a- Para tabelas o ideal é select, insert, delete, update
2b- Para views somente select
2c- Para procedures, packages e function grant execute
3- Conceda o grant da role para o User do Oracle e refaça somente isso para cada user que vc precisar.[]s Ishii
26 de setembro de 2008 às 11:03 pm #82931Ishii
ParticipanteOlá,
Segue aqui um script para te ajudar…
spool xgrants.sql;select statement
from
( select 'GRANT '||
decode(object_type,
'VIEW','SELECT',
'FUNCTION','EXECUTE',
'PROCEDURE','EXECUTE',
'PACKAGE','EXECUTE',
'ALL')||
' ON '||object_name||
' TO ;' statement
from user_objects
where user = AND
object_type in ('TABLE',
'VIEW',
'PROCEDURE',
'FUNCTION',
'PACKAGE',
'SEQUENCE')
)
/spool off;
@xgrants.sql;
[]s Ishii
-
AutorPosts
- Você deve fazer login para responder a este tópico.
› Fóruns › Banco de dados Oracle › Acesso a tabelas de outros usuarios