Não, vc não está correto, mas deixe-me esclarecer rapidamente uns conceitos 
antes : primeiro, nós temos que para o RDBMS Oracle um DATABASE é um conjunto 
de arquivos (controlfiles, datafiles, initfiles, redo log files, etc), e os 
programas (binários) que controlam databases podem ser carregados para a RAM 
formando uma instância, e essa instância pode abrir o database, ativando-o, aí 
temos uma instância ativa, ok ? O comum é se ter apenas uma instância abrindo 
um database, mas com as opções de Clusterização (como o RAC) vc pode ter um 
único database (residindo num storage compartilhado) sendo aberto por N 
instâncias. Até aqui, blz ? Aí sim, temos : SID é o nome atribuído para uma 
dada instância ativa (*** não é *** do database em si), e o SERVICE NAME (nesse 
contexto de databases que estamos discutindo) é um APELIDO que é criado para o 
banco de dados em si, e vc pode ter N deles : absolutamente nada impede que vc 
(num RAC de dois nós, por exemplo) tenha uma instância com o sid de PROD1, 
outra instância com o SID de PROD2 , e que no database sendo aberto por essas 
duas instâncias tenham sido criados (através do parâmetro SERVICE_NAMES , veja 
o S indicnado que é Plural, vc pode ter Vários criados) dois serviços, PROD_SRV 
e PROD_OUTRO , nessa situação (uma vez o Listener respondendo ok por ambos) vc 
poderia informar no TNSNAMES tanto um SID específico, pra se conectar ao 
database através da instância cujo SID vc informou, quanto qquer um dos dois 
serviços, ok ?

 Então a resposta é : SID é o identificador da instância, SERVICE_NAME é um 
"meio de conexão" a um database, não são o mesmo : num ambiente sem cluster é 
de PRAXE vc ter o SID idêntico ao SERVICE_NAME (só com um domínio tipo .com.br 
anexado ao service_name, talvez)  e ter um service_name só, MAS NÃO 
OBRIGATORIAMENTE, confere ?
 
Quanto ao sqlplus, o próprio manual "SQL*Plus® User's Guide and Reference" no 
cap. 3 - Starting SQL*Plus explica, mas em poucas frases : quando vc não 
informa nada (ie, SQLPLUS [ENTER]  ) ele é programada para pedir usuário e 
senha, quando vc pede SQLPLUS /NOLOG ele inicia o sqlplus SEM se conectar no 
banco (útil para testar se o sqlplus em si está funcionando, por exemplo), se 
vc pedir SQLPLUS usuario/senha[ENTER] ele vai se iniciar conectando com o 
usuário e senha informados, e finalmente se vc informar apenas SQLPLUS /[ENTER] 
, a / sozinha indica que vc quer fazer autenticação externa, ie, se conectar no 
banco com o mesmo usuário que vc já está logado no sistema operacional : 
normalmente isso implica que vc tem que ter criado no banco um usuário idêntico 
ao do SO, só que sem senha (IDENTIFIED EXTERNALLY), mas no caso de conexão com 
privilégios de SYSDBA isso não é exigido se vc estiver conectado no SO com uma 
conta já presente no grupo de DBAs.

 []s
 
   Chiappa
   
   
--- Em oracle_br@yahoogrupos.com.br, Flavio <fq...@...> escreveu
>
> Olá pessoal, bom dia,
> 
> 
> pesquisei algumas coisas e tirei algumas conclusões, mas gostaria de saber se 
> está certo. Se estiver errado, por favor, alguem me corriga. Por exemplo, 
> nesse tnsnames.ora:
> 
> ONLINECONN =
>   (DESCRIPTION =
>     (ADDRESS_LIST =
>       (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.190.128)(PORT = 1521))
>     )
>     (CONNECT_DATA =
>       (SERVICE_NAME = orcl)
>     )
>   )
> 
> Nesse caso, o SID e o DBService é o orcl, e o alias do Service Name utilizado 
> pelo cliente para conexão com o database é ONLINECONN ?
> ------------------------------------------------
> Outra dúvida:
> qual a diferença de eu digitar esses comandos no Linux:
> sqlplus
> sqlplus /
> sqlplus /nolog
> 
> ??? Nao consegui entender direito, entao queria ter uma certeza.
> 
> Agradeço pela atenção de todos,
> abrs,
> Flávio.
> 
> 
> 
>       
> ____________________________________________________________________________________
> Veja quais são os assuntos do momento no Yahoo! +Buscados
> http://br.maisbuscados.yahoo.com
> 
> [As partes desta mensagem que não continham texto foram removidas]
>


Responder a