powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Oracle 11.2.0.3 и 12.1.0.2 на одном севрере
15 сообщений из 15, страница 1 из 1
Oracle 11.2.0.3 и 12.1.0.2 на одном севрере
    #39260966
ekzarh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго дня.
Вышла такая ситуация, что на сервере должны быть два экземпляра Oracle.
На 11 крутится одна база base1, на 12 другая база. Сервер W2012R2.
Проблема с доступом к базе на 11 Oracle.
Дело обстоит так.
Если на самом сервере из командной строки попытаться плюсом присоединиться, то выдается следующее:

C:\Users\Администратор>sqlplus user/password@base1

SQL*Plus: Release 12.1.0.2.0 Production on Thu Jun 23 12:40:10 2016

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

ERROR:
ORA-12154: TNS:could not resolve the connect identifier specified


Enter user-name: user
Enter password:

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining,
Oracle Database Vault and Real Application Testing options

SQL>

То есть подключается, но со второго раза. Снаружи не подключается вообще (видимо там второго раза не предлагается). Причем, при обоих включенных листнерах ошибка для каждого разная: для 1521 это ora-12518, для 1527 - ora-12514.
Если запустить на сервере sqlplus из папки 11 оракла, то ситуация не меняется.
Были созданы два листнера. Один для 12 оракла на порту 1521, другой для 11 на 1527 порту. Попытка соединиться выдает тот же ora-12154. В tnsnames.ora менял порт для проверки на 1527 и на 1521 - ничего не меняется, ошибка та же.
Для эксперимента отключал листнеры по очереди - ничего не меняется, что по одному, что по другому коннект со второго раза.
Единственое, что нашел на форуме это http://www.sql.ru/forum/16795/dva-ekzemplyara-na-odnom-servere но оно древнее и не совсем про то, что надо.
Прошу помочь, кто знает как это все починить.
...
Рейтинг: 0 / 0
Oracle 11.2.0.3 и 12.1.0.2 на одном севрере
    #39260979
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Переменные окружения смешались/попутались напрочь.
В том числе - path.

Изучать oraenv ну или руками все аккуратно разводить по домам (oracle_homes).
И да - листенер таки можно оставить один.
...
Рейтинг: 0 / 0
Oracle 11.2.0.3 и 12.1.0.2 на одном севрере
    #39260983
Casper_ora
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ekzarh,

А $ORACLE_HOME один или для каждой базы свой?
...
Рейтинг: 0 / 0
Oracle 11.2.0.3 и 12.1.0.2 на одном севрере
    #39260997
Q.Tarantino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ekzarhБыли созданы два листнера. Один для 12 оракла на порту 1521, другой для 11 на 1527 порту.
а зачем?
...
Рейтинг: 0 / 0
Oracle 11.2.0.3 и 12.1.0.2 на одном севрере
    #39261223
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ekzarh...
Были созданы два листнера. Один для 12 оракла на порту 1521, другой для 11 на 1527 порту. Попытка соединиться выдает тот же ora-12154. В tnsnames.ora менял порт для проверки на 1527 и на 1521 - ничего не меняется, ошибка та же.
...

А на 11 параметр
local_listener
тоже менял?
Код: plsql
1.
2.
lsnrctl status <LISTENER NAME1>
lsnrctl status <LISTENER NAME2>


Ну или настроить статическую регистрацию

p.s. 11.2.0.3 не сертифицирована для W2012R2
Как создавал для нее службу?
...
Рейтинг: 0 / 0
Oracle 11.2.0.3 и 12.1.0.2 на одном севрере
    #39261590
ekzarh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторА $ORACLE_HOME один или для каждой базы свой?

Да. В реестре две ветки. В переменных такой нет вообще. Но для винды это, вроде бы, нормально. У нас много серверов на винде и нигде в переменных среды она не указана.

авторПеременные окружения смешались/попутались напрочь.
В том числе - path.

Изучать oraenv ну или руками все аккуратно разводить по домам (oracle_homes).
И да - листенер таки можно оставить один.

В path прописано так: C:\app\orcl12\product\12.1.0\dbhome_1\bin;C:\app\orcl\product\12.1.0\dbhome_1\bin;c:\oracle\product\11.2.0\dbhome_1\OPatch;c:\oracle\product\11.2.0\dbhome_1\bin;

Что отсюда надо убрать?

авторekzarh
Были созданы два листнера. Один для 12 оракла на порту 1521, другой для 11 на 1527 порту.

а зачем?

Мы никогда не ставили два экземпляра оракла на один сервер. Это казалось логично, однако я сейчас понимаю, что это не так. Как правильно сделать?

авторА на 11 параметр
local_listener
тоже менял?

lsnrctl status <LISTENER NAME1>
lsnrctl status <LISTENER NAME2>


Ну или настроить статическую регистрацию

p.s. 11.2.0.3 не сертифицирована для W2012R2
Как создавал для нее службу

Параметр, вроде, такой не трогал.
Ответ на команды приложил.
Со службой все было просто.
Установили оба оракла. Через NetConfigurationAssistant оракла 11 создали листнер и службу для инстанции. А потом просто перетащили файлы базы на этот сервер и прицепили к инстанции.
Наверное это все пляски с бубном и шаманство, но оно всегда работало до этого случая.
...
Рейтинг: 0 / 0
Oracle 11.2.0.3 и 12.1.0.2 на одном севрере
    #39261755
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ekzarhЧто отсюда надо убрать?
Не убрать. Разделить.
По переменным дело такое: в win они также работают, как и в nix. Но в win есть доп. вариант указания необходимых значений - реестр.
Но тут есть ньюанс.
Экземпляру, чтобы правильно работать, надо знать свой oracle_home и еще несколько параметров.
Клиенту, кстати, тоже.
В реестре win есть ключик, определяющий активный oracle_home.
Пока на сервере один home - вопросов нет.
Когда homes становится много - возникает вопрос...

Короче, что надо:
1. убедиться, что каждый из экземпляров стартует со своим oracle_home.
2. убедиться, что каждый из экземпляров стартует со своим path.
3. Порешать вопрос с tnsnames.ora, проще всего - положив в каталог, указанный переменной TNS_ADMIN.
Иначе придется вести два файла, что неудобно.
4. Клиента сделать дефолтным home (утилитка была вроде - Oracle Home Selector, но можно и руками в реестре), путь к бинарникам клиента - первый или единственный в path, иначе будут нежданчики.
5. Листенер оставить от 12, 11 база в нем зарегистрируется если, как, полагаю, раньше работали по дефолту - имя листенера LISTENER, порт tcp:1251
Либо придется править local_listener

Ну дальше - по фактической погоде, есть еще ньюансы с dbname/dbid
...
Рейтинг: 0 / 0
Oracle 11.2.0.3 и 12.1.0.2 на одном севрере
    #39261760
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ekzarhC:\Users\Администратор>sqlplus user/password@base1
ERROR
:
ORA-12154: TNS:could not resolve the connect identifier specified


Enter user-name: user
Enter password:

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
То есть подключается, но со второго раза.

И, кстати, не "со второго раза" он подключается.
Попытка подцепить по tnsnames проваливается - скорее всего по той причине, что в tnsnames активного home просто нет записи о base1
Вторая попытка - это локальное подключение мимо листенера, чтобы подключиться "с первой попытки" - попробуйте:
sqlplus user/password

То, что при этом попадаете в 11 версию, а не в 12 - определяется переменной окружения (или аналогом в реестре) oracle_sid
...
Рейтинг: 0 / 0
Oracle 11.2.0.3 и 12.1.0.2 на одном севрере
    #39261785
sinitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ekzarh,

зря ты это затеял, на linuxe несколько home - обычное дело, и все работает,
а на винде обязательно нежданчик какой-нибудь будет, лучше разнеси по серверам,
или мигрируй 11 в 12.
...
Рейтинг: 0 / 0
Oracle 11.2.0.3 и 12.1.0.2 на одном севрере
    #39261815
ekzarh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andrey_anonymous,

авторНе убрать. Разделить.

Это в каждой ветке реестра нужно сделать что-то типа переменной PATH ? Или в самой винде прописать PATH1 и PATH2 ?

авторВ реестре win есть ключик, определяющий активный oracle_home.

Это в ветке реестра, я так понимаю? Как он должен называться?

автор1. убедиться, что каждый из экземпляров стартует со своим oracle_home.
2. убедиться, что каждый из экземпляров стартует со своим path.

Это где-то в логах надо смотреть?

Я вот думаю - наверное есть какие-то мануалы на такой случай? Или это вообще не рекомендуется делать и каждый на свой страх и риск получает такой сказочный геморрой?
...
Рейтинг: 0 / 0
Oracle 11.2.0.3 и 12.1.0.2 на одном севрере
    #39261823
ekzarh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторИ, кстати, не "со второго раза" он подключается.
Попытка подцепить по tnsnames проваливается - скорее всего по той причине, что в tnsnames активного home просто нет записи о base1
Вторая попытка - это локальное подключение мимо листенера, чтобы подключиться "с первой попытки" - попробуйте:
sqlplus user/password

То, что при этом попадаете в 11 версию, а не в 12 - определяется переменной окружения (или аналогом в реестре) oracle_sid

Чистая правда. sqlplus user/password сразу подключился. SQLPlus выдал, что это 12 версия, но инстанция точно правильная. Однако в tnsnames база прописана. Даже в обоих tnsnames. Сам лично через NetConfigurationAssistant прописал.
BASE1 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = CDW)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = BASE1)
)
)
Что ему не хватает? Надо что-то добавить?
...
Рейтинг: 0 / 0
Oracle 11.2.0.3 и 12.1.0.2 на одном севрере
    #39261824
ekzarh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sinitsaekzarh,

зря ты это затеял, на linuxe несколько home - обычное дело, и все работает,
а на винде обязательно нежданчик какой-нибудь будет, лучше разнеси по серверам,
или мигрируй 11 в 12.

Если б это от меня зависело. Партия сказала надо, комсомол ответил есть. По своей воле я б никогда такой гимор не разводил.
...
Рейтинг: 0 / 0
Oracle 11.2.0.3 и 12.1.0.2 на одном севрере
    #39261860
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sinitsaekzarh,

зря ты это затеял, на linuxe несколько home - обычное дело, и все работает,
а на винде обязательно нежданчик какой-нибудь будет, лучше разнеси по серверам,
или мигрируй 11 в 12.

Не говорите ерунды
Все прекрасно работает если понимать что и как
...
Рейтинг: 0 / 0
Oracle 11.2.0.3 и 12.1.0.2 на одном севрере
    #39261864
Q.Tarantino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ekzarhЧто ему не хватает? Надо что-то добавить?
а что говорит tnsping BASE1?
...
Рейтинг: 0 / 0
Oracle 11.2.0.3 и 12.1.0.2 на одном севрере
    #39262053
ekzarh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Q.Tarantinoа что говорит tnsping BASE1?

C:\Users\Администратор>tnsping base1

TNS Ping Utility for 64-bit Windows: Version 12.1.0.2.0 - Production on 24-JUN-2
016 17:39:22

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

Used parameter files:
C:\app\orcl12\product\12.1.0\dbhome_1\network\admin\sqlnet.ora


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = CDW)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = base1)))
OK (0 msec)
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Oracle 11.2.0.3 и 12.1.0.2 на одном севрере
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]