conexões de banco de dados Oracle - que são todos os campos que eu preciso para preencher?

StackOverflow https://stackoverflow.com/questions/970253

  •  13-09-2019
  •  | 
  •  

Pergunta

Eu estou acostumado a usar SQL Server e eu estou agora confrontados com a conexão com Oracle. Posso obter algumas descrições completamente inequívocas para que todos os campos que eu preciso para preencher são?

Especificamente, eu quero entender o que são:

Home of hostname
porto
SID
Nome do serviço

Rede de Alias ??
Ligue identificador

O meu entendimento básico é que hostname é o pooter-lo de se sentou no, mas isso é diferente de casa? Port é a porta TCP e o padrão é 1521 - que parece bastante claro.

Eu só precisará fornecer qualquer nome SID ou serviço? E qual é a diferença - por que um ou outro

Se eu tiver um arquivo TNS, o que é o alias de rede e identificador de conexão? São estes de qualquer maneira o mesmo que os outros campos que eu tenho, se eu não usar um arquivo TNS?

Desculpa ser tal noob, mas minha busca preliminar para obter respostas ainda tem me muito confuso.

Obrigado!

Foi útil?

Solução

Home:     ORACLE_HOME, an environment variable that points to the location 
of the Oracle binaries (either location Instance runs from on server or client
runs from on client)
Hostname: name of the server
Port:     Port on which the Listener is listening for Oracle connections
SID:      **S**ervice **ID**entifier.  The name of the the Database.  This is
one of the identifiers that the Listener will expose
Service name: An alternate identifier that may be exposed by the Listener

Em um site configurado existente a maneira mais fácil de encontrar esses detalhes é de um arquivo tnsnames.ora em um cliente (ou servidor) a partir do qual as ligações podem ser feitas ao banco de dados. Olhe abaixo de US $ ORACLE (sublinhado) HOME / network / admin. Encontrar a casa ORACLE (sublinhado) com um conjunto (Windows) ou comando env (Unix). O tnsnames.ora também pode estar em um local apontado pelo $ TNS_ADMIN variável.

Se um tnsnames.ora não pode ser encontrado e você tem acesso ao servidor tente o seguinte comando, em geral, como usuário do Oracle

lsnrctl status

lsnrctl é o Ouvinte. Status mostrará SID, e nomes de serviços que ele conhece de (e um par de outros detalhes)

ou encontrar o listener.ora arquivos e sqlnet.ora sob $ ORACLE_HOME / network / admin ou no local apontado pela variável de env $ TNS_ADMIN

Geralmente, haverá um ouvinte por host, portanto, uma porta por host (poderia haver mais, mas não é comum)

Para ligar a Oracle você tem que apontar o cliente para o ouvinte em um local especificado por uma combinação Hostname / Porto e dizer-lhe que SID ou serviços para conexão também.

O comentário de DCookie sobre SID contra Nome do serviço é essencialmente correta.

O SID pode ser encontrado com (dependendo da versão)

select db_unique_name from v$database
   or
select db_name from v$database

Ou olhando no ORACLE_HOME / dbs / init (SID NAME) .ora arquivo $ ou fazendo

ps -ef | grep pmon

e observando a última parte do nome do processo, por exemplo, ora (sublinhado) pmon (sublinhado) SID

Outras dicas

Se você estiver usando Oracle 10g ou acima, o uso de sintaxe Easy Connect:

//servername/dbname

, como em:

sqlplus scott/tiger@//servername/dbname

Se você precisa usar TNS, aqui está o exemplo de TNSNAMES.ORA:

XE = 
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = XE)
    )
  )

Em CONNECT_DATA, você pode usar qualquer SERVICE_NAME (que é um identificador para uma instância registrado com um ouvinte), ou SID (que é um identificador de banco de dados).

Em um par de palavras:

  • SERVICE_NAME é um identificador de uma instância: um executável Oracle correndo o qual você vai conectar a
  • SID é um identificador de um banco de dados:. Um conjunto de arquivos de seus dados são armazenados em

Um banco de dados pode ser usado por várias instâncias Oracle.

Quando em uso dúvida SERVICE_NAME.

Neste caso, ligue como a seguir:

sqlplus scott/tiger@XE
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top