Bom Galera...
Estou entrando nesse mundo de Oracle agora estou com algumas duvidas...
umas Delas e sobre 'synonym'
Qual e o conseito dele??
Quando Vou usar....
e qual a Necessidade para uma aplicação???
Vlw galera!!!
Synonym -
-
- Rank: DBA Pleno
- Mensagens: 264
- Registrado em: Dom, 19 Ago 2007 8:18 pm
- Localização: Ribeirão Preto - SP
Lucas de Souza
OCA Developer
Analista de sistemas
OCA Developer
Analista de sistemas
bemm.....
ele serve para referenciar a outros objetos...
mais ele não é usado igual nas apostilas que falam que é para o diminuir o nome...
um exemplo de como eles são usados...:
Aqui na empresa onde eu trabalho, o usuário do programador não tem privilégio de criar tabelas, o unico usuário que faz isso é o usuário principal....
ou chamado o sono do SCHEMA, qui os unicos que tem a senha são os DBA´s...
mais quando esse usuário cria uma tabela, ela não fica visivel para os demais usuários...
para isso acontecer, é criado um SYNONYM PUBLIC (ou seja, todos podem ver) que direciona para este objeto novo, assim todo mundo pode ver este objeto.. =D
nem todos os synonyms são publicos, eles podem ser privados, ou seja, somente o usuário X inxerga esse synonym
tendeu ??
ele serve para referenciar a outros objetos...
mais ele não é usado igual nas apostilas que falam que é para o diminuir o nome...
um exemplo de como eles são usados...:
Aqui na empresa onde eu trabalho, o usuário do programador não tem privilégio de criar tabelas, o unico usuário que faz isso é o usuário principal....
ou chamado o sono do SCHEMA, qui os unicos que tem a senha são os DBA´s...
mais quando esse usuário cria uma tabela, ela não fica visivel para os demais usuários...
para isso acontecer, é criado um SYNONYM PUBLIC (ou seja, todos podem ver) que direciona para este objeto novo, assim todo mundo pode ver este objeto.. =D
CREATE TABLE teste (nome varchar2(100)) -- só o usuário que criou o objeto pode ver esat tabela
CREATE PUBLIC SYNONYM nome_do_synonym FOR nome_do_schema.nome_do_objeto -- agora qualquer usuário com privilégio de select pode ver este objeto
tendeu ??
-
- Rank: DBA Sênior
- Mensagens: 365
- Registrado em: Ter, 24 Mai 2005 2:24 pm
- Localização: Araraquara - SP
Cristiano (Tineks)
Araraquara - SP
Araraquara - SP
Com o synonym você consegue dar alias para outros objetos do seu banco de dados. você pode criar um alias pra uma procedure, function, table, package, etc...
Ele é bem útil em situações onde você tem que acessar tabelas de outro usuario ou outro banco de dados...
por exemplo, imagine uma situacao onde você cria um usuário com seu nome, porem você precisa fazer um select em uma tabela do usuário scott.
caso você tenha permissão pra isso você poderia fazer o select abaixo :
nesse caso você poderia criar um synonym no seu usuário apontando pra tabela SALES_HISTORY do usuario scott, por exemplo.
dessa forma você vai acessar a tabela (SALES_HISTORY) do usuário scoot através do nome que você definiu (MY_SALES_HISTORY).
isso é uma das possibilidades, nesse caso foi um exemplo de synonym de uma tabela, porem você pode utilizar pra outros objetos...
[]'s
Ele é bem útil em situações onde você tem que acessar tabelas de outro usuario ou outro banco de dados...
por exemplo, imagine uma situacao onde você cria um usuário com seu nome, porem você precisa fazer um select em uma tabela do usuário scott.
caso você tenha permissão pra isso você poderia fazer o select abaixo :
select * from scott.SALES_HISTORY
CREATE SYNONYM MY_SALES_HISTORY FOR scott.SALES_HISTORY
isso é uma das possibilidades, nesse caso foi um exemplo de synonym de uma tabela, porem você pode utilizar pra outros objetos...
[]'s
Hummm
Tendeu.....
Esse Previlegio e dado automatico..
EX.
Quando ele cria um SYNONYM Publico.. Todos já tem direito de Select, ou se esse e um previlegio que o DBA da ao seu usuario???
Tendeu.....
CREATE PUBLIC SYNONYM nome_do_synonym FOR nome_do_schema.nome_do_objeto -- agora qualquer usuário com privilégio de select pode ver este objeto
EX.
Quando ele cria um SYNONYM Publico.. Todos já tem direito de Select, ou se esse e um previlegio que o DBA da ao seu usuario???
-
- Rank: DBA Pleno
- Mensagens: 264
- Registrado em: Dom, 19 Ago 2007 8:18 pm
- Localização: Ribeirão Preto - SP
Lucas de Souza
OCA Developer
Analista de sistemas
OCA Developer
Analista de sistemas
o dba teria que dar esse privilégio....
no caso seria
o curioso, é que quando o synonym existe, mais você não tem privilegio de select no objeto...
ai você dá um desc nesse objeto, ele mostra o schema e o nome do objeto =D
no caso seria
GRANT select ON nome_schema.nome_objeto TO nome_usuario;
ai você dá um desc nesse objeto, ele mostra o schema e o nome do objeto =D
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 10 visitantes