Listener

DBA Geral (instalação, configuração do banco, scripts do Sql*Plus, shell scripts, batch scripts, etc...)
Responder
mjr
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 5
Registrado em: Qui, 04 Out 2007 9:47 am
Localização: Brasilia - DF

Bom dia pra todos

Gostaria de fazer uma consulta para melhorar a configuração do meu banco. Estou usando Windows 2003 e Oracle10g versão 10.2.0.

Meu banco não tem patches porque e uma versão free e uso na minha casa pra fazer as praticas da certificação.

Gostaria de aprender como configurar o Listener porque parece que no momento de instalação o Listener não adicionar o Banco na lista, mas a gente tem que adicionar depois ta certo isso?

Não sei porque funciona igualmente, acredito que localmente funciona bem mas quando queira fazer alguma operação em rede ai não vai funcionar.

Bom aqui tem o arquivo do listener.ora

Selecionar tudo

# listener.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = C:\oracle\product\10.2.0\db_1)
      (PROGRAM = extproc)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = oracle10.STAR-WAR)(PORT = 1521))
    )
  )
E aqui o TNSNAMES.ora

Selecionar tudo

# tnsnames.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = oracle10.STAR-WAR)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )
O nome do meu computador e oracle10
Dominio: star-war
Nome do banco: orcl

Gostaria de saber como adicionar meu ORCL no listener.ora porque não esta ai. tambem não comprendo o que e EXTPROC.

Desculpem minha ignorância e se a pergunta já foi respondida por favor me sinalem o link

Muito Obrigado,

Marcos
gilbertoca
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 372
Registrado em: Ter, 24 Jan 2006 3:33 pm
Localização: Palmas - TO
Contato:

Com a versão 10, o Oracle possui uma característica chamada service registration: http://download.oracle.com/docs/cd/B193 ... tm#i434241.
Para ser mais exato, ele automaticamente registra suas instâncias criadas, sem a necessidade de editar o arquivo listener.ora.

Isso traz algumas vantagens: http://download.oracle.com/docs/cd/B193 ... tm#i454523

É claro, isso não lhe impede de criar um ou mais listener, por exemplo, para uma equipe de construtores de relatórios, ouvindo em outra porta.
Para isso, na mais fácil que utilizar o enterprise manager.

Gilberto
mjr
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 5
Registrado em: Qui, 04 Out 2007 9:47 am
Localização: Brasilia - DF

Obrigado Gilberto pela Ajuda e a documentação.

Na verdade minha pergunta ia encaminhada por um erro que teve no passado e de volta, aconteceu.

O erro e este:

Selecionar tudo

ORA-12505: TNS: listener could not resolve SID given in connection description
Tentei resolver mas não consegui.
Segui as sugestões deste link:
http://www.dbmotive.com/oracle_error_co ... code=12505

E o comando TNSPING orcl funciona bem, mas
Quando faço o comando

Selecionar tudo

LSNRCTL SERVICES LISTENER
ai já não aparece o nome do banco, diz :

Selecionar tudo

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) e que serviço  PLSExtProc tem uma instancia com estado desconhecido.
Como posso resolver isto?

Muito Obrigado,
deki41
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 2
Registrado em: Seg, 15 Out 2007 2:40 pm
Localização: São Paulo SP

tente configurar o listener desta maneira, trocando pelo seu host
e o caminho do seu ORACLE_HOME:

Selecionar tudo

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = SEUHOST)(PORT = 1521))
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC2))
    )
  )

SID_LIST_LISTENER =
  (SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = E:\oracle\ora92)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = ORCL)
      (ORACLE_HOME = E:\oracle\ora92)
      (SID_NAME = ORCL)

     )
  )
mjr
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 5
Registrado em: Qui, 04 Out 2007 9:47 am
Localização: Brasilia - DF

ola deki41

Desculpe, não entendi,
olhe que eu so tenho oracle 10g, e o listener e o tnsnames esta mais acima exacto como tenho no computador.

Desculpe a confusao, o link que passei não e porque tenho oracle10 e 9 no computador, so coloquei esse porque tem um problema parecido.

o que voces recomendam?

brigado
deki41
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 2
Registrado em: Seg, 15 Out 2007 2:40 pm
Localização: São Paulo SP

mjr,
copiei o seu código (listener) e acrescentei o que provavelmente
estava faltando para instância ORCL, ok ,acho que é isso:

Selecionar tudo

# listener.ora Network Configuration File: C:\oracle\product\10.2.0\db_1\network\admin\listener.ora 
# Generated by Oracle configuration tools. 

SID_LIST_LISTENER = 
  (SID_LIST = 
    (SID_DESC = 
      (SID_NAME = PLSExtProc) 
      (ORACLE_HOME = C:\oracle\product\10.2.0\db_1) 
      (PROGRAM = extproc)

  )
  (SID_DESC = 
    (GLOBAL_DBNAME = ORCL) 
    (ORACLE_HOME = C:\oracle\product\10.2.0\db_1) 
    (SID_NAME = ORCL) 
    ) 
  ) 

LISTENER = 
  (DESCRIPTION_LIST = 
    (DESCRIPTION = 
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) 
      (ADDRESS = (PROTOCOL = TCP)(HOST = oracle10.STAR-WAR)(PORT = 1521)) 
    ) 
  ) 
gilbertoca
Rank: DBA Sênior
Rank: DBA Sênior
Mensagens: 372
Registrado em: Ter, 24 Jan 2006 3:33 pm
Localização: Palmas - TO
Contato:

Veja:

Selecionar tudo

gilberto@ti-des05:~> echo $TNS_ADMIN
/opt/oracle/product/10.1.0.2.0/db_1/network/admin

gilberto@ti-des05:~> ll /opt/oracle/product/10.1.0.2.0/db_1/network/admin
total 28
drwxrwxr-x  3 oracle oinstall 4096 2007-10-15 14:01 .
drwxrwxr-x 11 oracle oinstall 4096 2007-10-15 13:56 ..
-rwxrwxr-x  1 oracle oinstall   92 2006-08-09 10:07 protocol.obs
-rwxrwxr-x  1 oracle oinstall   87 2006-08-09 10:01 protocol.ora
drwxrwxr-x  2 oracle oinstall 4096 2006-01-24 14:28 samples
-rwxrwxr-x  1 oracle oinstall  287 2006-08-09 10:33 sqlnet.ora
-rwxrwxr-x  1 oracle oinstall 1460 2007-10-15 14:01 tnsnames.ora
gilberto@ti-des05:~>
Não há listener estático!

Também não há entrada alguma de minha instância (MEU) no arquivo tnsnames.ora:

Selecionar tudo

gilberto@ti-des05:~> cat /opt/oracle/oracleDevSuite/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /opt/oracle/oracleDevSuite/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

gilberto@ti-des05:~>    
Mas eu consigo ver que o listener dinâmico está funcionando:

Selecionar tudo

oracle@ti-des05:~> lsnrctl status

LSNRCTL for Linux: Version 10.1.0.2.0 - Production on 15-OUT-2007 16:07:30

Copyright (c) 1991, 2004, Oracle.  All rights reserved.

Connecting to (ADDRESS=(PROTOCOL=tcp)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 10.1.0.2.0 - Production
Start Date                15-OUT-2007 16:07:11
Uptime                    0 days 0 hr. 0 min. 19 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Log File         /opt/oracle/product/10.1.0.2.0/db_1/network/log/listener.log
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ti-des05.local.secad)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ti-des05.local.secad)(PORT=8081))(Presentation=HTTP)(Session=RAW))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ti-des05.local.secad)(PORT=2111))(Presentation=FTP)(Session=RAW))
Services Summary...
Service "meu" has 1 instance(s).
  Instance "meu", status READY, has 1 handler(s) for this service...
Service "meuXDB" has 1 instance(s).
  Instance "meu", status READY, has 1 handler(s) for this service...
The command completed successfully
oracle@ti-des05:~>       
Mas se abro outra sessão no cliente e tento conectar:
(No cliente)

Selecionar tudo

gilberto@ti-des05:~> sqlplus scott/tiger@meu

SQL*Plus: Release 10.1.0.2.0 - Production on Seg Out 15 16:08:17 2007

Copyright (c) 1982, 2004, Oracle.  All rights reserved.

ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified


Enter user-name: scott
Enter password:
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux Error: 2: No such file or directory

gilberto@ti-des05:~> tnsping meu

TNS Ping Utility for Linux: Version 10.1.0.2.0 - Production on 15-OUT-2007 16:13:31

Copyright (c) 1997, 2003, Oracle.  All rights reserved.

Used parameter files:
/opt/oracle/oracleDevSuite/network/admin/admin/sqlnet.ora

TNS-03505: Failed to resolve name

Isso acontece porque no cliente precisamos configurar o arquivo tnsnames.ora, para acessar aquela instância (SID) que está escutando no servidor remoto:
(No cliente)

Selecionar tudo

oracle@ti-des05:~> vi /opt/oracle/oracleDevSuite/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /opt/oracle/oracleDevSuite/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.

MEU =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.121.1.42)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = meu)
    )
  )
Agora podemos conectar:
(No cliente)

Selecionar tudo

gilberto@ti-des05:~> tnsping meu

TNS Ping Utility for Linux: Version 10.1.0.2.0 - Production on 15-OUT-2007 16:15:24

Copyright (c) 1997, 2003, Oracle.  All rights reserved.

Used parameter files:
/opt/oracle/oracleDevSuite/network/admin/sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.121.1.42)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = meu)))
OK (0 msec)
gilberto@ti-des05:~> sqlplus scott/tiger@meu

SQL*Plus: Release 10.1.0.2.0 - Production on Seg Out 15 16:15:29 2007

Copyright (c) 1982, 2004, Oracle.  All rights reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options

scott@MEU>                
Gilberto
carlynhos77
Rank: Analista Sênior
Rank: Analista Sênior
Mensagens: 172
Registrado em: Seg, 24 Out 2016 7:20 pm

Ola, boa noite... alguém poderia me ajudar numa conexão de fonte de dados, não consigo fazer funcionar, vejam meu post

viewtopic.php?f=6&t=10962


se caso algum de vocês puder me ajudar, agradeço muito

carlynhos77@hotmail.com
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 14 visitantes