Ответ 1
Откройте командную строку и выполните следующие команды:
set oracle_sid=DATABASE NAME
sqlplus /nolog
conn sys/sys as sysdba
shutdown abort
startup
Я получаю вышеуказанную ошибку при попытке подключиться к базе данных сервера от клиента, используя имя службы orcl
. Он подключается, когда я использую другое имя службы, т.е. dms
Ниже мой listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = dms)
(SERVICE_NAME = dms)
(ORACLE_HOME = /home/oracle/app/oracle/product/11.2.0/dbhome_1)
# (PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = orcl)
(SERVICE_NAME = dms)
# (GLOBAL_DBANME = orcl)
(ORACLE_HOME = /home/oracle/app/oracle/product/11.2.0/dbhome_1)
# (PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.53)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /home/oracle/app/oracle
and tnsnames.ora
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.53)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
#(SERVICE_NAME = orcl.localdomain)
(ORACLE_SID = dms)
(SERVICE_NAME = orcl)
)
)
DMS =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.53)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = dms)
(ORACLE_SID = dms)
)
)
Скажите, пожалуйста, что делать?
Откройте командную строку и выполните следующие команды:
set oracle_sid=DATABASE NAME
sqlplus /nolog
conn sys/sys as sysdba
shutdown abort
startup
Когда-то. База данных не будет правильно подключена, поэтому нам нужно смонтировать ее вручную... Для этого выключите ее и запустите, а затем смонтируйте.... Выполните следующие команды
войдите как пользователь оракула, затем
sqlplus / as sysdba;
shutdown immediate;
startup nomount;
alter database mount;
alter database open;
Убедитесь, что ваши ORACLE_HOME и ORACLE_SID верны Чтобы увидеть текущие значения в окнах, введите в командной строке
echo %ORACLE_HOME%
Тогда
echo %ORACLE_SID%
Если значения не являются вашим текущим оракулом и SID, вам нужно их исправить. Это можно сделать в переменных среды Windows.
Зайдите эту страницу для получения дополнительной информации
ORA-01034 и ORA-27101 обычно указывают, что экземпляр базы данных, к которому вы пытаетесь подключиться, выключен и что вы не подключены как пользователь, у которого есть разрешение на его запуск. Войдите в систему на сервере 192.168.1.53 и запустите экземпляр orcl
или попросите своего администратора базы данных сделать это за вас.
Я столкнулся с той же проблемой при создании соединения в SQLDeveloper "ORA-01034: ORACLE недоступен ORA-27101: область общей памяти не существует"
Решение:
1. Обновите файл listene.ora, чтобы включить SID.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
(PROGRAM = extproc)
)
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
(PROGRAM = extproc)
)
(SID_DESC =
((GLOBAL_DBNAME = XE.DB)
((ORACLE_HOME = C:\oraclexe\app\oracle\product\11.2.0\server)
((SID_NAME = XE)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = USMUMTBALAKDAS2.us.deloitte.com)(PORT = 1521))
)
)
DEFAULT_SERVICE_LISTENER = (XE)
В каталоге Oraclexe может быть установлено разрешение "ReadOnly". Измените разрешение каталога/подкаталога на чтение/запись и перезапустите службы прослушивателя. Проблема решена.
Имела ту же проблему в Windows XP. Решено. Ошибка вызвана тем, что системный журнал заполнен. Панель управления → Администрирование → Просмотр событий Щелкните правой кнопкой мыши журнал приложений, очистите все события, необязательно сохраните журнал. Тот же процесс для системного журнала. Перезагрузитесь, и он должен работать.
SQL> sqlplus "/ as sysdba"
SQL> startup
Oracle instance started
------
Database mounted.
Database opened.
SQL> Quit
[[email protected] ~]$ lsnrctl start
Эта та же самая ошибка произошла со мной, хотя ORACLE_HOME
и ORACLE_SID
, казалось, были настроены правильно.
Проблема была в ORACLE_HOME
, который не должен заканчиваться символом косой черты. Когда я удалил завершающий слеш, он начал работать правильно.
# ❌ INCORRECT
export ORACLE_HOME=/usr/local/oracle/11gR2/
# ✔️ CORRECT
export ORACLE_HOME=/usr/local/oracle/11gR2
Итак, даже если кажется, что все настроено нормально, проверьте ваши переменные для этого.
Запустите в cmd:
sqlplus / as sysdba;
Затем:
SQL> create pfile='c:/init.ora' from spfile;
Удалить sga_target
строку в init.ora
файл, а затем:
SQL> create spfile from pfile='c:/init.ora';
SQL> startup;
Я попал в один и тот же симптом shared memory realm does not exist
(в Windows), но по другой причине. Я только что установил Oracle (XE) и после некоторого устранения неполадок установил, что моя установка была повреждена из-за наличия свойства среды ORACLE_HOME в момент его установки.
Если это TL;DR, перейдите к "Чтобы решить:"!
Мой первоначальный симптом был:
Message 850 not found; No message file for product=NETWORK, facility=NL
Очевидно, что установка Windows считывает ORACLE_HOME из реестра и не нуждается (и, конечно, в моем случае не должна иметь...) свойство среды.
Удалите его, как показано ниже:
После перезагрузки я смог получить сообщения об ошибках, отличные от "Нет файла сообщений...", и мог бы начать смотреть на то, что проблема была. Установка ORACLE_SID на XE и подключение @XE Я получил до ошибок на этой странице, а именно следующие симптомы:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Еще один признак: При запуске страницы "Начало работы" она не смогла соединиться, предоставив ошибку не найденную (если я правильно помню), несмотря на запуск слушателей Windows и служб XE. Как отмечено в другом ответе, это может быть связано с тем, что службы Windows не запускаются. В моем случае эти службы были запущены, поэтому что-то еще было неправильно сконфигурировано.
В этот момент я подумал, что, возможно, моя установка просто так плохо поступила из-за наличия моего плохого свойства среды ORACLE_HOME, которое я должен переустановить. (Предыдущие переустановки не помогли, но все это было до того, как я заметил свойство системной среды ORACLE_HOME (возможно, установленное мной год назад!).
Итак, чтобы решить:
Ваш listener.ora неправильно сконфигурирован. Нет службы orcl.
Надеюсь, вы решили свою проблему. Если у вас все еще есть проблема, повторите двойную проверку, если вы установите этот Oracle под учетной записью домена. Я нашел поток, который говорит, что Oracle XE дает ту же ошибку при установке под учетной записью домена. Вместо этого используйте локальную учетную запись.
Источник:
https://community.oracle.com/thread/2141735?start=0&tstart=0