-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Ao meu ver, a principal implicação é a administração. Você cria com
seu usuário Paulo uma table chamada tabela. Depois, com seu user
Paulo2 você cria uma table chamada table2. Aí, com o mesmo usuário
Paulo2, você cria um sinônimo público chamado tabela, apontando para
Paulo2.table2. Aí você sai de férias em dezembro (porque é clt e
antigo na empresa) e quando volta em janeiro têm um novo projeto
gigantesco. A próxima vez que você olhar esses objetos, lá por julho
do ano que vêm, você vai ter que ficar caçando os objetos porque não
se lembra mais que tabela é um sinônimo público apontando para um
objeto cujo nome não tem relação aparente com o nome do sinônimo.
Alguns sinônimos públicos, tudo bem... Mas como você já falou em
"equipe de desenvolvimento"... Eu iria devagar com isso e passaria a
pensar mais em sinônimos privados apenas.
De qualquer forma, é sua a decisão. Qualquer coisa, estamos por aí.


Ribeiro, Reginaldo
Administrador de Bancos de Dados
Oracle Certified Associate 10g
- ----------------------------------------------------
DBCom Brazil Consultoria em Tecnologia da Informação
skype: rflribeiro
mobile: 551192344290
fone: 551135225172
e-mail: [EMAIL PROTECTED]
site: http://www.dbcom.com.br
Chave Pública:
http://keyserver.noreply.org/pks/lookup?search=rflribeiro%40dbcom.com.br&fingerprint=on&op=index



Paulo wrote:
>
> Fantástico, era exatamente este meu problema:
>
> Para acessar a tabela de outro usuário eu preciso colocar o OWNER
> antes do nome da tabela como: OWNER.nometabela como assinalado.
>
> Mas posso também criar um "Sinonimo" como Reginaldo me indicou
> através do e-mail, solução fantástica que facilita para os
> desenvolvedores quando criarei usuários com permissões diferentes.
> Muito obrigado mesmo pela ajuda!
>
> Agora só por uma questão conceitual: Devo adotar então que esta é a
>  forma única ou a melhor forma para realizar a divisão de acesso de
> uma tabela dentre alguns usuários? É possível uma tabela possuir
> mais de um OWNER(tenho absoluta certeza que não, mas para checar)?
> O uso de sinônimos do tipo public é um recurso utilizado(penso em
> questões de segurança)? Enfim preciso de um argumento interessante
> para convencer a minha chefe que esta é a solução mais
> interessante.
>
> Um abração!
>
> --- Em oracle_br@yahoogrupos.com.br
> <mailto:oracle_br%40yahoogrupos.com.br>, Reginaldo Ribeiro
> <[EMAIL PROTECTED]> escreveu
>>
>> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
>>
>> Paulo, alguns amigos já tiveram oportunidade de orientá-lo. Eu,
>> inclusive, lhe enviei um exemplo imenso em pvt contendo,
>> inclusive, instruções para lidar com sinônimos de objetos e links
>> de referência. Seria interessante informar se sua dúvida está
>> sanada. Obrigado.
>>
>>
>> Ribeiro, Reginaldo Administrador de Bancos de Dados Oracle
>> Certified Associate 10g -
>> ---------------------------------------------------- DBCom Brazil
>> Consultoria em Tecnologia da Informação skype: rflribeiro mobile:
>> 551192344290 fone: 551135225172 e-mail: [EMAIL PROTECTED] site:
>> http://www.dbcom.com.br <http://www.dbcom.com.br> Chave Pública:
>>
> http://keyserver.noreply.org/pks/lookup?search=rflribeiro%40dbcom.com.br&fingerprint=on&op=index
> 
> <http://keyserver.noreply.org/pks/lookup?search=rflribeiro%40dbcom.com.br&fingerprint=on&op=index>
>
>>
>>
>>
>> Rafael Almeida Milanez wrote:
>>>
>>> Vamos la para simulação
>>>
>>> [EMAIL PROTECTED]>show user USER é "PAULO"
>>>
>>> [EMAIL PROTECTED]>create table T_TSE 2 ( cod number);
>>>
>>> Tabela criada.
>>>
>>> [EMAIL PROTECTED]>grant create session to paulo2 ;
>>>
>>> [EMAIL PROTECTED]>grant select on paulo.T_TSE to paulo2;
>>>
>>> Concessão bem-sucedida.
>>>
>>>
>>> Agora conecto com Paulo2
>>>
>>> [EMAIL PROTECTED]>show <mailto:[EMAIL PROTECTED]>show> user USER é "PAULO2"
>>>
>>> Ai esta a diferença, voce tem que colocar o OWNER.tabela
>>>
>>> [EMAIL PROTECTED]>select <mailto:[EMAIL PROTECTED]>select> * from T_TSE; 
>>> select *
>>> from T_TSE * ERRO na linha 1: ORA-00942: table or view does not
>>> exist
>>>
>>>
>>> [EMAIL PROTECTED]>select <mailto:[EMAIL PROTECTED]>select> * from 
>>> paulo.T_TSE;
>>>
>>> não há linhas selecionadas
>>>
>>> ________________________________
>>>
>>> De: oracle_br@yahoogrupos.com.br
> <mailto:oracle_br%40yahoogrupos.com.br>
>>> <mailto:oracle_br%40yahoogrupos.com.br>
>>> [mailto:oracle_br@yahoogrupos.com.br
> <mailto:oracle_br%40yahoogrupos.com.br>
>>> <mailto:oracle_br%40yahoogrupos.com.br>] Em nome de Paulo
>>> Enviada em: segunda-feira, 27 de outubro de 2008 10:24 Para:
>>> oracle_br@yahoogrupos.com.br
> <mailto:oracle_br%40yahoogrupos.com.br>
>>> <mailto:oracle_br%40yahoogrupos.com.br> Assunto: Re: RES:
>>> [oracle_br] Novo Usuário para Tablespace Existente
>>>
>>> O usuário que executou os comandos foi o OWNER que criou as
>>> tabelas. Ele pertence à rule DBA:
>>>
>>> SQL> select * from owner.T_TSE; select * from owner.T_TSE *
>>> ERROR at line 1: ORA-00942: table or view does not exist
>>>
>>> SQL> select * from T_TSE;
>>>
>>> ORDER_ID NAME ---------- ---------- 1 Joao 5 Paulo
>>>
>>> Quando eu faço:
>>>
>>> SQL> select OWNER from DBA_SEGMENTS where TABLESPACE_NAME =
>>> 'TSE';
>>>
>>> OWNER ------------------------------ PAULO
>>>
>>> O que eu quero é que o usuário PAULO2 tenha acesso a tabela
>>> T_TSE.
>>>
>>> SQL> GRANT SELECT ON T_TSE TO PAULO2;
>>>
>>> Grant succeeded.
>>>
>>> SQL> COMMIT;
>>>
>>> SQL> CONNECT PAULO2/PAULO2; Connected.
>>>
>>> Commit complete.
>>>
>>> SQL> SELECT * FROM T_TSE; SELECT * FROM T_TSE * ERROR at line
>>> 1: ORA-00942: table or view does not exist
>>>
>>> SQL>
>>>
>>> --- Em oracle_br@yahoogrupos.com.br
> <mailto:oracle_br%40yahoogrupos.com.br>
>>> <mailto:oracle_br%40yahoogrupos.com.br>
>>> <mailto:oracle_br%40yahoogrupos.com.br> , "Rafael Almeida
>>> Milanez" <rmilanez@> escreveu
>>>>
>>>> Voce necessita colocar o OWNER (dono da tabela) antes para
> visualizar
>>>>
>>>>
>>>> select * from owner.T_TSE
>>>>
>>>> ________________________________
>>>>
>>>> De: oracle_br@yahoogrupos.com.br
> <mailto:oracle_br%40yahoogrupos.com.br>
>>> <mailto:oracle_br%40yahoogrupos.com.br>
>>> <mailto:oracle_br%40yahoogrupos.com.br>
>>> [mailto:oracle_br@yahoogrupos.com.br
> <mailto:oracle_br%40yahoogrupos.com.br>
>>> <mailto:oracle_br%40yahoogrupos.com.br>
>>> <mailto:oracle_br%40yahoogrupos.com.br> ] Em nome de Paulo
>>> Andrade
>>>> Enviada em: segunda-feira, 27 de outubro de 2008 09:34 Para:
>>>> oracle_br@yahoogrupos.com.br
> <mailto:oracle_br%40yahoogrupos.com.br>
>>> <mailto:oracle_br%40yahoogrupos.com.br>
>>> <mailto:oracle_br%40yahoogrupos.com.br>
>>>> Assunto: [oracle_br] Novo Usuário para Tablespace Existente
>>>>
>>>>
>>>>
>>>> Pessoal tem uma dúvida que não consigo encontrar resposta:
>>>>
>>>> Possuo uma Base "SID = BASE3" com alguns tablespaces. Tenho
>>>> por exemplo um TABLESPACE de nome "TSE" e criei uma
> tabela de
>>> teste e inseri algum dado. Tenho também um usuário que está com
>>> a permissão de DBA e CONNECT definido na tablespace "TSE".
>>>>
>>>> Tudo certo até então. Agora não consigo fazer o seguinte:
>>>> Criar um
>>> novo usuário que consiga acessar a tabela que está na
>>> TABLESPACE
> "TSE".
>>>>
>>>> Criei o usuário novo com o comando:
>>>>
>>>> CREATE USER "NEWUSR" IDENTIFIED BY "NEWUSR" DEFAULT
>>>> TABLESPACE
> "TSE"
>>> TEMPORARY TABLESPACE "TEMP_TSE" PROFILE DEFAULT ACCOUNT UNLOCK;
>>>
>>>>
>>>> e defini as permissões:
>>>>
>>>> GRANT "CONNECT" TO "NEWUSR"
>>>>
>>>> e
>>>>
>>>> GRANT SELECT ON T_TSE TO "NEWUSR";
>>>>
>>>> Apesar de ser retornado que efetivou o GRANT, não consigo
> realizar o
>>> "SELECT" na tabela "T_TSE" com o "NEWUSR".
>>>>
>>>> O que devo fazer?
>>>>
>>>> Paulo Andrade
>
> <!-- #ygrp-mkp{ border: 1px solid #d8d8d8; font-family: Arial;
> margin: 14px 0px; padding: 0px 14px; } #ygrp-mkp hr{ border: 1px
> solid #d8d8d8; } #ygrp-mkp #hd{ color: #628c2a; font-size: 85%;
> font-weight: bold; line-height: 122%; margin: 10px 0px; } #ygrp-mkp
>  #ads{ margin-bottom: 10px; } #ygrp-mkp .ad{ padding: 0 0; }
> #ygrp-mkp .ad a{ color: #0000ff; text-decoration: none; } --> <!--
> #ygrp-sponsor #ygrp-lc{ font-family: Arial; } #ygrp-sponsor
> #ygrp-lc #hd{ margin: 10px 0px; font-weight: bold; font-size: 78%;
> line-height: 122%; } #ygrp-sponsor #ygrp-lc .ad{ margin-bottom:
> 10px; padding: 0 0; } --> <!-- #ygrp-mlmsg {font-size:13px;
> font-family:
> arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small;}
> #ygrp-mlmsg table {font-size:inherit;font:100%;} #ygrp-mlmsg
> select, input, textarea {font:99%
> arial,helvetica,clean,sans-serif;} #ygrp-mlmsg pre, code {font:115%
> monospace;*font-size:100%;} #ygrp-mlmsg * {line-height:1.22em;}
> #ygrp-text{ font-family: Georgia; } #ygrp-text p{ margin: 0 0 1em
> 0; } #ygrp-tpmsgs{ font-family: Arial; clear: both; } #ygrp-vitnav{
> padding-top: 10px; font-family: Verdana; font-size: 77%; margin: 0;
> } #ygrp-vitnav a{ padding: 0 1px; } #ygrp-actbar{ clear: both;
> margin: 25px 0; white-space:nowrap; color: #666; text-align: right;
> } #ygrp-actbar .left{ float: left; white-space:nowrap; }
> .bld{font-weight:bold;} #ygrp-grft{ font-family: Verdana;
> font-size: 77%; padding: 15px 0; } #ygrp-ft{ font-family: verdana;
> font-size: 77%; border-top: 1px solid #666; padding: 5px 0; }
> #ygrp-mlmsg #logo{ padding-bottom: 10px; } #ygrp-reco {
> margin-bottom: 20px; padding: 0px; } #ygrp-reco #reco-head {
> font-weight: bold; color: #ff7900; } #reco-grpname{ font-weight:
> bold; margin-top: 10px; } #reco-category{ font-size: 77%; }
> #reco-desc{ font-size: 77%; } #ygrp-vital{ background-color:
> #e0ecee; margin-bottom: 20px; padding: 2px 0 8px 8px; } #ygrp-vital
>  #vithd{ font-size: 77%; font-family: Verdana; font-weight: bold;
> color: #333; text-transform: uppercase; } #ygrp-vital ul{ padding:
> 0; margin: 2px 0; } #ygrp-vital ul li{ list-style-type: none;
> clear: both; border: 1px solid #e0ecee; } #ygrp-vital ul li .ct{
> font-weight: bold; color: #ff7900; float: right; width: 2em;
> text-align:right; padding-right: .5em; } #ygrp-vital ul li .cat{
> font-weight: bold; } #ygrp-vital a{ text-decoration: none; }
> #ygrp-vital a:hover{ text-decoration: underline; } #ygrp-sponsor
> #hd{ color: #999; font-size: 77%; } #ygrp-sponsor #ov{ padding: 6px
>  13px; background-color: #e0ecee; margin-bottom: 20px; }
> #ygrp-sponsor #ov ul{ padding: 0 0 0 8px; margin: 0; }
> #ygrp-sponsor #ov li{ list-style-type: square; padding: 6px 0;
> font-size: 77%; } #ygrp-sponsor #ov li a{ text-decoration: none;
> font-size: 130%; } #ygrp-sponsor #nc{ background-color: #eee;
> margin-bottom: 20px; padding: 0 8px; } #ygrp-sponsor .ad{ padding:
> 8px 0; } #ygrp-sponsor .ad #hd1{ font-family: Arial; font-weight:
> bold; color: #628c2a; font-size: 100%; line-height: 122%; }
> #ygrp-sponsor .ad a{ text-decoration: none; } #ygrp-sponsor .ad
> a:hover{ text-decoration: underline; } #ygrp-sponsor .ad p{ margin:
> 0; } o{font-size: 0; } .MsoNormal{ margin: 0 0 0 0; } #ygrp-text
> tt{ font-size: 120%; } blockquote{margin: 0 0 0 4px;}
> .replbq{margin:4} -->
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org

iJwEAQECAAYFAkkF8sAACgkQ9hsrz6ieG2gXUgP/S2wjKB/yUF1SfqmEbMaL/3d/
9YeVtKV4HhCqERSQeQvR7zFvoJ5618h9FixFwtSyvtp+YITy1Pe0J/X8Dve4JRBV
JQWROoS/ALWlMMAh63IxxGeaOpBTDtsZaAN1v4xEbqJhjwt9tU8pkUtpmJOLlr0Y
+FRKTEvIqtUN3fqU8do=
=24Ff
-----END PGP SIGNATURE-----

Responder a