Oracle 10g: проблема с командой запуска монтирования (ORA-24324, ORA-01041)
Я хочу отключить архив журналов в моем оракуле БД. Но когда я выключаюсь и пытаюсь смонтировать базу данных, я получаю следующую ошибку.
C:\>sqlplus scott/tiger@ORCL as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Tue Sep 18 10:44:17 2012
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount
ORA-12514: TNS:listener does not currently know of service requested in connect
descriptor
SQL> startup mount
ORA-24324: service handle not initialized
ORA-01041: internal error. hostdef extension doesn't exist
Может ли кто-нибудь, пожалуйста, помогите мне в решении этой проблемы.
Edit1: - Listener.ora
# listener.ora Network Configuration File: E:\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 = E:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = INHOS.dg.server.com)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
2 ответа
Не уверен, является ли это основной причиной, но после завершения работы и перед запуском попробуйте выйти и повторно ввести SQL*Plus.
Первое редактирование: Итак, две разные проблемы.Ошибка "Расширение hostdef не существует" возникает при попытке запуска из того же сеанса SQL * Plus, с которого вы отключились. Решение состоит в том, чтобы выйти и повторно ввести SQL * Plus между выключением и запуском.
ORA-12514 "Слушатель в настоящее время не знает об услуге, запрошенной в дескрипторе соединения", из-за попытки удаленного запуска (ваша строка соединения SQL * Plus scott/tiger@ORCL as sysdba
который указывает @ORCL
) экземпляр, и слушатель настроен только для динамической регистрации службы. Если ваш слушатель настроен только для динамической регистрации службы, то попытка удаленного запуска экземпляра даст вам ORA-12514. Это что-то вроде уловки-22. Проблема в том, что, пока экземпляр не запущен, он не может зарегистрироваться в слушателе. Если это не зарегистрировано слушателем, вы не можете запустить его. Есть два возможных решения:
- Вы можете добавить статическую конфигурацию слушателя в файл listener.ora и отослать слушателя.
- Вы можете напрямую войти в систему как владелец программного обеспечения Oracle, на сервер, на котором установлена база данных, и установить
ORACLE_HOME
а такжеORACLE_SID
затем подключите как/ as sysdba
,
Надеюсь, это поможет.
ORA-24324 может означать, что база данных просто не была запущена, и поэтому будет разрешено сначала запустить базу данных и прослушиватели (если есть)