Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá.
Como posso com o mesmo owner para usuários diferentes?
Exemplo: OWNER ABC para criação dos objetos (tabela) e ter 2 usuários (usuário 1 e usuário 2). Sendo que o usuário1 terá seus objetos e o usuário 2 terá seus objetos independentes um do outro.
Obrigado
Obrigado pela resposta Motta, mas vou tentar explicar minha dúvida de uma outra forma.
Tenho o modelo de dados com os objetos (tabelas, constraints, index, sequence) e estes objetos estão com o owner "secretaria" (exemplo) já determinados.
A intenção é criar 2 usuários (secretaria_desenvolvimento e secretaria_testes) no mesmo banco de dados e que cada usuário tenha seu conjunto de objetos, embora os script DDL seja o mesmo. Ou seja, a equipe de desenvolvimento irá concetar com secretaria_desenvolvimento e a equipe de teste irá conectar com o usuário secretaria_testes. Cada equipe irá trabalhar em separado, porém no mesmo banco (mesma SID ORCL). Quando estou logado com secretaria_desenvolvimento as tabelas deste usuário não podem ser compartilhadas com as do usuário secretaria_testes, embora o script DDL seja o mesmo.
Ambas as equipes (desenvolvimento e testes) irão trabalhar no mesmo projeto, porém não compartilham da mesma estrutura. Cada equipe irá enxergar seus dados.
O problema começa quando tenho que executar o script DDL logado com o usuário secretaria_desenvolvimento ou secretaria_testes. Isso porque o modelo de dados está configurado com o owner "secretaria".
Não adianta eu criar os objetos (executar o script DDL) com o usuário "secretaria" e depois dar grant nos objetos para os usuários "secretaria_desenvolvimento" e "secretaria_testes" porque não queremos que a equipe de teste altere os dados que a equipe de desenvolvimento está trabalhando.
Como no Oracle schema = user = owner não sei como resolver esta situação.
Tem alguma sugestão?
O ideal é ter produção e testes separados, se possível até em servidores diferentes, segurança é o aspecto mais importante nisto.
Como você quer trabalhar bastaria se logar ora com um user , ora com outro.
Não tendo outro servidor, instale outra instância.
A conexão ao BD pode ser feita de diversas formas, no Front-end você configura a instãncia a ser utilizada.
Não basta ora conectar com um usuário ora com outro. Não consigo nem executar o script da forma como descrevi.
Concordo que a melhor situação é ter ambientes diferentes. Estou de acordo com você.
O que preciso saber neste momento é: Com uma única instância é possível fazer o que mencionei ou um caso imposível de se fazer?
O usuário Joao pode ter uma tabela Xpto, e a usuária Maria também.
Cada um que faça SELECT * FROM xpto terá seus dados separados.
Pelo que entendi cada script vai gerar os objetos para cada User/Owner.
Não Motta.
Eu terei um único script DDL onde os objetos estarão pre-fixados já com o owner "secretaria".
Então, gostaria de executar este script DDL logado tanto com os usuários "secretaria_dese" e depois executar logado com o usuário "secretaria_teste". Só que dá erro porque estou logado com um usuário e o owner no script DDL é outro.
Creio que a única solução para este caso é retirar o owner dos objetos que estão no script e quando executar logado com os usuários (secretaria_dese e secretaria_teste) cada um será o dono dos objetos em separado.
Creio que a única solução para este caso é retirar o owner dos objetos que estão no script e quando executar logado com os usuários (secretaria_dese e secretaria_teste) cada um será o dono dos objetos em separado.
Sim, dentro da forma que pretende fazer.
Basta o User ter os privilégios de criar os objetos passa a ser um Owner.
Veja o manual para maiores detalhes.