2015-09-17 7 views
3

Имея противоположную проблему как этот человек. TNSPING OK but sqlplus gives ORA-12154?sqlplus получает ORA-12504 при использовании синтаксиса EZCONNECT

Я пытаюсь установить Oracle на виртуальную машину на рабочей станции VMWare. Я попытался установить Oracle 11g и 12с на:

  • Windows Server 2008 R2
  • Windows Server 2012 R2
  • Windows Server 2016 Tech Preview 3 (от отчаяния)

В каждом случае я получаю диалог, в котором говорится, что «минимальные требования не выполняются». Когда я проверяю журнал установки в AppData, я получаю это.

Проверка IP-адрес локального хоста можно определить, является ли ... СИЛЬНАЯ: КИУ не поддерживает целевую среду

Я попытался установить мои виртуальные машины использовать NAT, а также с использованием Мостовое соединение. Согласно этой теме, ошибка CVU может быть проигнорирована. https://community.oracle.com/thread/2478769

Oracle устанавливается успешно каждый раз, и он автоматически вставляет запись в мой файл tnsnames.ora. Я могу подключиться как пользователь sys, выполнив [email protected]_ENTRY as sysdba

Но второй, я пытаюсь использовать синтаксис EZCONNECT, он не работает. Например:

>sqlplus /nolog 
>connect [email protected]:1521/service 

Затем я получаю ORA-12504: TNS: Слушатель не получил SERVICE_NAME в CONNECT_DATA. Это странно, потому что я даже не пытаюсь использовать запись из файла tnsnames.ora для подключения. Я пробовал продвигать EZCONNECT в конфигурационном менеджере sqlnet.ora в Net Manager.

Я проверил, что установщик Oracle облеклись слушателя на моей машине под названием «СЛУШАТЕЛЬ»

У меня есть другой сервер под управлением Windows Server 2012 R2 работает на голый металл. Я перекрестно проверил все настройки tns, listenener и sqlnet и все их идентичные (конфигурации по умолчанию, которые были созданы установщиком 11g)

Я знаю, что VMWare поддерживает базы данных Oracle на своих виртуальных машинах. Я пытался придерживаться этих лучших практик, перечисленных здесь. http://www.vmware.com/files/pdf/partners/oracle/Oracle_Databases_on_VMware_-_Best_Practices_Guide.pdf

Я установил (а) lsnrctl, чтобы убедиться, что он правильно загружает конфигурацию. я вижу свою конечную точку, когда я перезапустить слушателю

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=mymachinename)(PORT=1521)))

Брандмауэр выключен.

Вот результат tnsping:

C: \ Users \ Administrator> tnsping локальный

TNS Ping Утилита для 64-битных Windows: Версия 11.2.0.1.0 - Производство по 17-SEP-2015 11:36:02

Copyright (c) 1997, 2010, Oracle. Все права защищены.

используемые файлы параметров: C: \ приложение \ Администратор \ продукт \ 11.2.0 \ dbhome_1 \ сеть \ админ \ sqlnet.ora

Б адаптер EZCONNECT разрешить псевдоним Попытка связаться (DESCRIPTION = (CONNECT_DATA = (SERVICE_NAME =)) (ADDRESS = (ПРОТОКОЛ = TCP) (HOST = 127.0.0.1) (PORT = 1521))) OK (0 мс)

^выглядит точно так же, как tnsping от мой сервер R2 R2 с голыми металлами с 11g на нем, который работает.

Я пропустил что-то очень простое здесь? Я с этим согласен.

ответ

3

Это проблема с синтаксисом EZCONNECT, а не с конфигурацией базы данных, как описано here от Марка Уильямса. Передняя косая черта в соединительной веревке вводит в заблуждение EZCONNECT, она должна быть экранирована следующим образом:

C:\>sqlplus [email protected]\"localhost:1521/orcl12\" as sysdba 

SQL*Plus: Release 12.1.0.2.0 Production on Fri Sep 18 13:10:19 2015 

Copyright (c) 1982, 2014, Oracle. All rights reserved. 

Enter password: 

Connected to: 
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production 
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options 

SQL> 
+0

Спасибо! Я чувствую себя полным идиотом ... Я даже не мог соединиться с sqldeveloper, что странно. Но сейчас все хорошо. :) – matrixugly

+0

Постоянная ссылка на блог Марка Уильямса в случае, если он когда-либо опускается. http://web.archive.org/web/20120717020405/http://oradim.blogspot.com/2009/07/sqlplus-ezconnect-password-prompt-and.html – matrixugly

+0

Обратите внимание, что вы также должны использовать \ "имя_пользователя \ «в случае, если ваше имя пользователя Oracle также не все в верхнем регистре. Особенно, если у вас есть как пользователь _foo_, так и _FOO_. W/o the \ "вокруг имени пользователя, Oracle делает неявное преобразование в верхнем регистре, и это не тот же самый пользователь, как предполагалось, возможно! Да, такие неправильные имена пользователей не рекомендуются и даже больше _overloaded_ только для случая, но Oracle разрешает и поддерживает, поэтому лучше подготовиться. – ddevienne