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] >