iniciando o oracle 10g no Ubuntu, o Listener falhou ao iniciar

4

Instalei o oracle 10g em um ubuntu 10.x, esta é minha primeira instalação. Após a instalação, tentei iniciá-lo com o comando abaixo.

tsegay@server-name:/u01/app/oracle/product/10.2.0/db_1/bin$ lsnrctl

LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 29-DEC-2010 22:46:51

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

Welcome to LSNRCTL, type "help" for information.

LSNRCTL> start
Starting /u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 10.2.0.1.0 - Production
System parameter file is /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/product/10.2.0/db_1/network/log/listener.log
Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
TNS-12555: TNS:permission denied
 TNS-12560: TNS:protocol adapter error
  TNS-00525: Insufficient privilege for operation
   Linux Error: 1: Operation not permitted

Listener failed to start. See the error message(s) above...

meu arquivo listener.ora é assim:

# listener.ora Network Configuration File: /u01/app/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 = /u01/app/oracle/product/10.2.0/db_1)
      (PROGRAM = extproc)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
      (ADDRESS = (PROTOCOL = TCP)(HOST = acct-vmserver)(PORT = 1521))
    )
  )

Eu posso adivinhar que o problema está com problema de permissão, mas eu não sei onde eu tenho que fazer a mudança na permissão.

Qualquer ajuda é apreciada ...

EDIT ##

Quando eu corro com o comando sudo, eu tenho isso

tsegay@server-name:/u01/app/oracle/product/10.2.0/db_1$ sudo ./bin/lsnrctl start

LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 30-DEC-2010 01:01:03

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

Starting ./bin/tnslsnr: please wait...

./bin/tnslsnr: error while loading shared libraries: libclntsh.so.10.1: cannot open shared object file: No such file or directory
TNS-12547: TNS:lost contact
 TNS-12560: TNS:protocol adapter error
  TNS-00517: Lost contact
   Linux Error: 32: Broken pipe
    
por tkt986 30.12.2010 / 04:50

4 respostas

2

O ouvinte deve ser iniciado usando a mesma conta usada para instalar o Oracle. Normalmente, essa conta é chamada de 'oracle'.

Usando o sudo, a linha de comando deve ser:

sudo -H -u oracle /u01/app/oracle/product/10.2.0/db_1/bin/lsnrctl start

(btw, eu não acho que o uso do Ubuntu para rodar um banco de dados Oracle seja suportado pelo Oracle)

    
por 30.12.2010 / 11:18
1

O seu LD_LIBRARY_PATH está definido para incluir os diretórios da biblioteca do Oracle?

Você executou o script root.sh depois de concluir a instalação?

    
por 30.12.2010 / 16:37
1

Após um doloroso processo de instalação do Oracle DB 11.2.0.1 , Linux x86-64, em um Lubuntu 11.10 x86_64 , envolvendo muitas correções de makefiles, algumas observações para fazer o ouvinte funcionar:

  • use sempre o proprietário da instalação do DB do Oracle, por exemplo: su - oracle
  • export ORACLE_HOME="/u01/app/oracle/product/10.2.0/db_1"
  • export LD_LIBRARY_PATH="${ORACLE_HOME}/lib"
  • export PATH="${ORACLE_HOME}/bin:${PATH}"
  • dbstart para inicializar o banco de dados, o ouvinte deve iniciar automaticamente
  • lsnrctl status para verificar se está realmente ouvindo

É melhor manter permanentemente essas três exportações no arquivo oracle .bashrc .

Se o status do ouvinte ainda não estiver OK, verifique se o usuário oracle é membro de um grupo permitido pela rede. No caso de Lubuntu, é o grupo netdev Você pode definir isso em Ferramentas do sistema > Usuários e grupos > oracle > Configurações avançadas > Privilégios do usuário > Conecte-se a redes sem fio e ethernet . Ou, alternativamente, apenas emita sudo usermod -aG netdev oracle usando uma conta administrativa, no seu caso, tsegay . Lembre-se de iniciar um novo shell (ou logout + login) para o usuário do oracle para ver as alterações.

P.S .: Meu listener.ora é como:

LISTENER =
    (ADDRESS_LIST =
        (ADDRESS =
            (PROTOCOL = tcp)
            (HOST = localhost)
            (PORT = 1521)
        )
    )

SID_LIST_LISTENER =
    (SID_LIST =
        (SID_DESC =
            (GLOBAL_DBNAME = PLSExtProc)
            (SID_NAME = PLSExtProc)
            (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
        )
    )
    
por 16.02.2012 / 12:40
0

Você pode tentar sudo lsnrctl , supondo que você tenha direitos suficientes.

    
por 30.12.2010 / 05:22