Проблемы с Oracle TNS? - PullRequest
       45

Проблемы с Oracle TNS?

6 голосов
/ 29 апреля 2010

У меня ошибка? Мой разработчик pl / Sql говорит, что моей базе данных Oracle не удается найти дескриптор службы, но когда я проверяю слушателя, я получаю эту ошибку.

LSNRCTL> start
Starting tnslsnr: please wait...

Service OracleOraDb10g_home1TNSListener already running.
TNS-12560: TNS:protocol adapter error
 TNS-00530: Protocol adapter error



LSNRCTL> status
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP
TNS-12541: TNS:no listener
 TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   32-bit Windows Error: 61: Unknown error

содержание моего слушателя.

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = Oracle10g)
      (ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
      (SID_NAME = ORCL)
    )
  )

LISTENER =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
  )

и содержание tnsnames.ora это

# tnsnames.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.

VMOBILE =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )

VMOBILEMASTER =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ORCL)
    )
  )

ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = SHARED)
      (SERVICE_NAME = ORCL)
    )
  )

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

Пожалуйста, у меня есть крайний срок для этого вечера. Пожалуйста, помогите.

Ответы [ 5 ]

2 голосов
/ 29 апреля 2010

Вероятно, это проблема конфигурации, поэтому нам трудно решить ее удаленно. Вам нужно проверить две вещи:

  1. Записи в вашем LISTENER.ORA файле соответствуют вашему TNSNAMES.ORA файлу
  2. Информация в вашем файле hosts верна.

Это локальная или удаленная база данных, к которой вы пытаетесь подключиться?

редактировать

Файл hosts (в среде Windows) находится где-то как

C:\WINDOWS\system32\drivers\etc

Очевидно, это зависит от того, как настроена ваша среда (разные буквы диска или что-то еще).

1024 * редактировать *

Вам нужно GLOBAL_DBNAME в файле слушателя, чтобы соответствовать SERVICE_NAME в файле tnsnsames, т.е. ORCL

0 голосов
/ 24 мая 2016

Сегодня я решил это сообщение об ошибке, запустив LSNRCTL start из cmd.exe, запущенный «от имени администратора».

У меня есть сервер 'localhost' в listener.ora и tnsnames.ora. Также у меня есть SQLNET.AUTHENTICATION_SERVICES = (NONE) в sql.ini

Прежде чем я попытаюсь использовать LSNRCTL.EXE, у меня нет службы прослушивания в списке служб Windows. LSNRCTL start Команда от cmd администратора сделает это для меня.

0 голосов
/ 30 августа 2014

К сожалению, эта ошибка может возникать в разных случаях.

  1. Служба базы данных Oracle (OracleServiceXE или любой другой используемый вами выпуск) на самом деле не работает.
  2. Пользователь пытался запустить службу TNSListener под учетной записью без прав администратора, не позволяя ему зарегистрировать связанную службу Windows.
  3. Возник конфликт из-за более чем одного ORACLE_HOME на машине.
  4. Нет ничего плохого в настройках службы или конфигурации, но служба TNSListener не запустится успешно, пока сервер Windows не будет перезапущен.
0 голосов
/ 30 апреля 2010

Я бы заменил localhost на то, что ipconfig говорит вам, что вы используете IP-адрес.

0 голосов
/ 29 апреля 2010

Ошибка, вероятно, в файле listener.ora. Попробуйте заменить localhost в строке, читающей (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)), именем ИЛИ номером ip сервера, на котором работает прослушиватель.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...