Я установил 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
Прослушиватель должен быть запущен с использованием той же учетной записи, которую вы использовали для установки Oracle. Обычно эта учетная запись называется oracle.
Используя sudo, командная строка должна быть:
sudo -H -u oracle /u01/app/oracle/product/10.2.0/db_1/bin/lsnrctl start
(кстати, я не думаю, что использование Ubuntu для запуска базы данных Oracle поддерживается Oracle)
После мучительного процесса установки БД Oracle 11.2.0.1, Linux x86-64, на Lubuntu 11.10 x86_64, включающий множество исправлений make-файлов, несколько замечаний, чтобы заставить слушателя работать:
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
с .bashrc
файл.
Если статус слушателя по-прежнему не в порядке, убедитесь, что oracle
пользователь является членом группы с разрешенной сетью, в случае Lubuntu это группа netdev
. Вы можете установить это в Системные инструменты> Пользователи и группы> oracle> Расширенные настройки> Права пользователя> Подключение к беспроводным сетям и сетям Ethernet. Или, как вариант, просто выдайте sudo usermod -aG netdev oracle
используя административную учетную запись, в вашем случае tsegay
. Не забудьте запустить новую оболочку (или выйти + войти) для oracle
пользователь, чтобы увидеть изменения.
P.S .: Мой 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)
)
)
Ваш LD_LIBRARY_PATH настроен на включение каталогов библиотеки Oracle?
Вы запускали сценарий root.sh после завершения установки?
Вы могли бы попробовать sudo lsnrctl
, если у вас есть достаточные права.