Запуск оракула 10g на Ubuntu, не удалось запустить прослушиватель

Я установил Oracle 10g на Ubuntu 10.x, это моя первая установка. После установки я попытался запустить его с помощью команды ниже.

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

мой файл listener.ora выглядит так:

# 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))
    )
  )

Я могу догадаться, что проблема в разрешении, но я не знаю, где мне нужно внести изменения в разрешении.

Любая помощь приветствуется...

РЕДАКТИРОВАТЬ##

Когда я бегу с командой sudo, я получил это

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

4 ответа

Слушатель должен быть запущен с использованием той же учетной записи, которую вы использовали для установки Oracle. Как правило, эта учетная запись называется "оракул".

Используя sudo, командная строка должна быть:

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

(кстати, я не думаю, что использование Ubuntu для запуска базы данных Oracle поддерживается Oracle)

Ваш LD_LIBRARY_PATH настроен на включение каталогов библиотеки Oracle?

Запустили ли вы скрипт root.sh после завершения установки?

После болезненного процесса установки Oracle DB 11.2.0.1, Linux x86-64 на Lubuntu 11.10 x86_64, включающего множество исправлений make-файлов, несколько замечаний, чтобы заставить слушателя работать:

  • всегда используйте владельца установки БД Oracle, например: 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 для запуска БД слушатель должен запуститься автоматически
  • lsnrctl status чтобы убедиться, что это действительно слушает

Лучше постоянно держать эти 3 экспорта в oracle "s .bashrc файл.

Если состояние слушателя все еще не в порядке, убедитесь, что oracle пользователь является участником разрешенной сети, в случае Lubuntu это группа netdev, Вы можете установить это в Системные инструменты> Пользователи и группы> Oracle> Расширенные настройки> Права пользователя> Подключиться к беспроводным сетям и сетям Ethernet. Или альтернативно просто выпустить sudo usermod -aG netdev oracle используя административную учетную запись, в вашем случае tsegay, Не забудьте запустить новую оболочку (или выйти + войти) для oracle Пользователь, чтобы увидеть изменения.

PS: мой listener.ora как:

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

Вы могли бы попробовать sudo lsnrctlпри условии, что у вас достаточно прав.

Другие вопросы по тегам