LINUX.ORG.RU

ORA-27101: shared memory realm does not exist


0

1

Поставил oracle-xe-univ-10.2.0.1-1.0.i386.rpm с сайта ораклов, добавил ". /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/oracle_env.sh" в .bashrc себе и руту, и пытаюсь соединиться:

sqlplus

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

Вручную указываю имя пользователя — ругается на имя службы:

sqlplus sys@XE

Enter password: 
ERROR:
ORA-12514: TNS:listener does not currently know of service requested in connect descriptor

Настройки стоят по умолчанию:

cat $ORACLE_HOME/network/admin/tnsnames.ora

# tnsnames.ora Network Configuration File:

XE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )
  )

EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )

И ещё одна проблема — неработающий HTTP-сервер оракла, который должен быть доступен по адресу http://127.0.0.1:8080/apex. Даже порт не открыт, ss -lt | grep 8080 не выдаёт ничего. Хотя 1521-й порт оракла работает.
ЧЯДНТ?
Mandriva 2010.2 x64, Linux 2.6.36.4-desktop-69mib.

Ответ на: комментарий от mashina

tnsping XE

TNS Ping Utility for Linux: Version 10.2.0.1.0 - Production on 29-МАЙ-2011 17:48:39

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

Used parameter files:


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE)))
OK (0 msec)
Northsoft ★★
() автор топика

Переставляй заново. Инсталлируй из терминала:

# rpm -ivh oracle-xe-univ-10.2.0.1-1.0.i386.rpm

и внимательно читай, что пишет в конце. Напишет, как нужно запустить скрипт конфигурирования и поднимет тебе экземпляр БД (инстанс).

А так можно долго гадать, что ты там накосячил.

anonymous
()
Ответ на: комментарий от anonymous

/etc/init.d/oracle-xe запускал, вбил рутовый пароль к БД и назначил порт 8080 для HTTP-сервера, что-то ещё нужно?

Northsoft ★★
() автор топика
Ответ на: комментарий от no-dashi
[northsoft@localhost server]$ pwd
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
[northsoft@localhost server]$ find | grep dbca
./rdbms/admin/catxdbdbca.sql
[northsoft@localhost server]$ find | grep dbassist
[northsoft@localhost server]$ 
Northsoft ★★
() автор топика
Ответ на: комментарий от anonymous

/etc/init.d/oracle-xe start

Starting Oracle Database 10g Express Edition Instance.

И, что самое смешное печальное, так это то, что ничего не изменилось.

Northsoft ★★
() автор топика
Ответ на: комментарий от anonymous

Повторил пять раз, скрипт радостно сообщал «Starting Oracle Database 10g Express Edition Instance.»

Northsoft ★★
() автор топика
Ответ на: комментарий от anonymous

set | grep ORA

ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
ORACLE_SID=XE
Northsoft ★★
() автор топика
Ответ на: комментарий от Northsoft

> Это исправимо?)

Короче, суть твоей проблемы в том, что rman, который должен был клонировать из инсталляции тебе твою базу данных, не смог этого сделать.

Это могло быть потому, что у тебя уже были установлены ранее продукты Oracle и осталась информация о «стандартных путях», а OracleXE ставится нестандартно, но rman при клонировании цепляет «стандартные» пути. Нужно «вычистить» все предыдущие инсталляции.

Вторая причина может быть в IPv6 в /etc/hosts: закомментируй там все упоминания адресов IPv6. Далее,
# /etc/init.d/oracle-xe configure
и проверяй
# ls -lh /usr/lib/oracle/xe/oradata/XE/

anonymous
()
Ответ на: комментарий от anonymous

Странно как-то всё это. Убрал /etc/sysconfig/oracle-xe и после /etc/init.d/oracle-xe configure сделал /etc/init.d/oracle-xe status, получил вот что:

/etc/init.d/oracle-xe status

LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 29-МАЙ-2011 18:49:51

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

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 10.2.0.1.0 - Production
Start Date                29-МАЙ-2011 18:49:37
Uptime                    0 days 0 hr. 0 min. 14 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Default Service           XE
Listener Parameter File   /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/network/admin/listener.ora
Listener Log File         /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/network/log/listener.log
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_FOR_XE)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
  Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully

Инстанс есть, со статусом Unknown… %) изначально впрочем тоже так и было.

Northsoft ★★
() автор топика
Ответ на: комментарий от Northsoft

> У команды вывода нет.

Значит, нет инстанса — нет экземпляра БД — нет пары десятков процессов, обеспечивающих работу с базой данных

Есть процесс «/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/tnslsnr LISTENER -inherit».

LISTENER — это процесс, слушающий сеть на проту 1521 и если пришёл запрос — соединяющий клиента с БД, как сутенер :)

anonymous
()

Да снеси ты нахрен этот XE, все равно это ублюдок каких поискать - мало того что глючный как все оракловское, так из-за урезки еще и своих глюков добавилось

Скачай НОРМАЛЬНЫЙ релиз типа 11g или 10gR2 и ставь его в /opt.

no-dashi ★★★★★
()
Ответ на: комментарий от Northsoft

> Вручную этот rman запускается?

К сожалению, нет. Инсталлятор самостоятельно удаляет файлы, из которых rman должен извлечь файлы базы данных. Удаляй и ставь заново.

Не забудь подчистить переменные среды перед инсталляцией, убрать IPv6 адреса из /etc/hosts и всё должно получиться с одного пинка.

anonymous
()
Ответ на: комментарий от anonymous

А он вообще удаляется?
urpme ./oracle-xe-univ-10.2.0.1-1.0.i386.rpm: «неизвестный пакет: ./oracle-xe-univ-10.2.0.1-1.0.i386.rpm»
rpm -e ./oracle-xe-univ-10.2.0.1-1.0.i386.rpm: «ошибка: пакет oracle-xe-univ-10.2.0.1-1.0.i386.rpm не установлен»

Northsoft ★★
() автор топика
Ответ на: комментарий от Northsoft

И он денежку не затребует?

Нет. Оно вообще полагается на твое честное слово, а для девелоперских задач и «поковырять для поддержания формы» даже совести не требуте, так разрешают использовать

no-dashi ★★★★★
()
Ответ на: комментарий от anonymous

rpm -ivh ./oracle-xe-univ-10.2.0.1-1.0.i386.rpm

Подготовка...     ########################################### [100%]
error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
error: "net.bridge.bridge-nf-call-iptables" is an unknown key
error: "net.bridge.bridge-nf-call-arptables" is an unknown key
ошибка: %pre(oracle-xe-univ-10.2.0.1-1.0.i386) scriptlet failed, exit status 255
ошибка:   install: %pre ошибка сценария (2), пропускается oracle-xe-univ-10.2.0.1-1.0
Northsoft ★★
() автор топика
Ответ на: комментарий от Northsoft

> А он вообще удаляется?

да, это пакет.

rpm -e ./oracle-xe-univ-10.2.0.1-1.0.i386.rpm: «ошибка: пакет oracle-xe-univ-10.2.0.1-1.0.i386.rpm не установлен»

oracle-xe-univ-10.2.0.1-1.0.i386.rpm — это имя файла. Имя пакета будет короче:

# rpm -e oracle-xe-univ-10.2.0.1

# rpm -e oracle-xe-univ

# rpm -e oracle-xe

что-то типа того, не помню точно. :)

anonymous
()
Ответ на: комментарий от anonymous

В хостсах вообще нет ничего про IPv6 o_O только забиты localhost и localhost.localdomain

Northsoft ★★
() автор топика
Ответ на: комментарий от anonymous

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

Northsoft ★★
() автор топика
Ответ на: комментарий от Northsoft

> Вырубил. То же самое.

Похоже, где-то оно осталось... Можешь попробовать деинсталлировать oracle-xe-univ, погасить внешний интерфейс eth0 и оставить только lo, установить oracle-xe-univ-10.2.0.1-1.0.i386.rpm, поднять интерфейс eth0

# rpm -e ./oracle-xe-univ
# ifconfig
# ifconfig eth0 down
# ifconfig
должен остаться только lo (loopback) интерфейс, долее инсталлируй
# rpm -ivh ./oracle-xe-univ-10.2.0.1-1.0.i386.rpm
# /etc/init.d/oracle-xe configure
# ifconfig eth0 up

Оказывается, с OpenSuSe или даже Ubuntu проще, чем с Mandriva. :)

anonymous
()
Ответ на: комментарий от anonymous

У меня есть предположение, что всё это из-за отсутствия у меня утилиты bc. Сейчас попробую всё правельно зделать.

Northsoft ★★
() автор топика
Ответ на: комментарий от Northsoft

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

Правильно будет, когда получишь что-то типа этого:

# ls -lh /usr/lib/oracle/xe/oradata/XE/
total 1,1G
-rw-r----- 1 oracle dba 6,8M 2011-05-29 16:56 control.dbf
-rw-r----- 1 oracle dba 431M 2011-05-29 16:53 sysaux.dbf
-rw-r----- 1 oracle dba 341M 2011-05-29 16:50 system.dbf
-rw-r----- 1 oracle dba  21M 2011-05-29 16:22 temp.dbf
-rw-r----- 1 oracle dba 176M 2011-05-29 16:50 undo.dbf
-rw-r----- 1 oracle dba 101M 2011-05-29 15:22 users.dbf
# ps ax | grep XE
13130 ?        Ss     0:01 xe_pmon_XE
13132 ?        Ss     0:00 xe_psp0_XE
13134 ?        Ss     0:00 xe_mman_XE
13136 ?        Ss     0:00 xe_dbw0_XE
13138 ?        Ss     0:00 xe_lgwr_XE
13140 ?        Ss     0:01 xe_ckpt_XE
13142 ?        Ss     0:02 xe_smon_XE
13144 ?        Ss     0:00 xe_reco_XE
13146 ?        Ss     0:02 xe_cjq0_XE
13148 ?        Ss     0:03 xe_mmon_XE
13150 ?        Ss     0:02 xe_mmnl_XE
13152 ?        Ss     0:00 xe_d000_XE
13154 ?        Ss     0:14 xe_s000_XE
13156 ?        Ss     0:01 xe_s001_XE
13158 ?        Ss     0:00 xe_s002_XE
13160 ?        Ss     0:00 xe_s003_XE
13164 ?        Ss     0:00 xe_qmnc_XE
13228 ?        Ss     0:00 xe_q000_XE
13230 ?        Ss     0:00 xe_q001_XE

anonymous
()
Ответ на: комментарий от anonymous

It works! ©

Ну что, уважаемые коллеги, спасибо огромное вам всем за поддержку и оказание посильной помощи. anonymous, ты, как всегда, неотразим и бесподобен. Славься, Анонимус, и да пребудет с тобою Легион. Таки да, сработало всё после установки пакета bc. Ну и вполне возможно, что даун сети тоже сыграл свою роль. Мораль: внимательно читаем консоль. Как я в прошлый раз проворонил 10 строк «bc: command not found» — ума не приложу.
Всем спасибо.

Northsoft ★★
() автор топика
Ответ на: It works! © от Northsoft

> Ну что, уважаемые коллеги, спасибо огромное вам всем за поддержку и оказание посильной помощи. anonymous, ты, как всегда, неотразим и бесподобен. Славься, Анонимус, и да пребудет с тобою Легион.

Аминь. :)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.