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. Проблема в том, что, пока экземпляр не запущен, он не может зарегистрироваться в слушателе. Если это не зарегистрировано слушателем, вы не можете запустить его. Есть два возможных решения:

  1. Вы можете добавить статическую конфигурацию слушателя в файл listener.ora и отослать слушателя.
  2. Вы можете напрямую войти в систему как владелец программного обеспечения Oracle, на сервер, на котором установлена ​​база данных, и установить ORACLE_HOME а также ORACLE_SIDзатем подключите как / as sysdba,

Надеюсь, это поможет.

ORA-24324 может означать, что база данных просто не была запущена, и поэтому будет разрешено сначала запустить базу данных и прослушиватели (если есть)

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