Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Oracle 11.2.0.3 и 12.1.0.2 на одном севрере / 15 сообщений из 15, страница 1 из 1
23.06.2016, 13:12:55
    #39260966
ekzarh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle 11.2.0.3 и 12.1.0.2 на одном севрере
Всем доброго дня.
Вышла такая ситуация, что на сервере должны быть два экземпляра 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
23.06.2016, 13:29:26
    #39260979
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle 11.2.0.3 и 12.1.0.2 на одном севрере
Переменные окружения смешались/попутались напрочь.
В том числе - path.

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

А $ORACLE_HOME один или для каждой базы свой?
...
Рейтинг: 0 / 0
23.06.2016, 13:59:05
    #39260997
Q.Tarantino
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle 11.2.0.3 и 12.1.0.2 на одном севрере
ekzarhБыли созданы два листнера. Один для 12 оракла на порту 1521, другой для 11 на 1527 порту.
а зачем?
...
Рейтинг: 0 / 0
23.06.2016, 17:24:06
    #39261223
Vadim Lejnin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle 11.2.0.3 и 12.1.0.2 на одном севрере
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
24.06.2016, 10:28:00
    #39261590
ekzarh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle 11.2.0.3 и 12.1.0.2 на одном севрере
авторА $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
24.06.2016, 13:11:46
    #39261755
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle 11.2.0.3 и 12.1.0.2 на одном севрере
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
24.06.2016, 13:18:36
    #39261760
andrey_anonymous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle 11.2.0.3 и 12.1.0.2 на одном севрере
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
24.06.2016, 13:40:45
    #39261785
sinitsa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle 11.2.0.3 и 12.1.0.2 на одном севрере
ekzarh,

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

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

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

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

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

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

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

Я вот думаю - наверное есть какие-то мануалы на такой случай? Или это вообще не рекомендуется делать и каждый на свой страх и риск получает такой сказочный геморрой?
...
Рейтинг: 0 / 0
24.06.2016, 14:27:27
    #39261823
ekzarh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle 11.2.0.3 и 12.1.0.2 на одном севрере
авторИ, кстати, не "со второго раза" он подключается.
Попытка подцепить по 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
24.06.2016, 14:28:47
    #39261824
ekzarh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle 11.2.0.3 и 12.1.0.2 на одном севрере
sinitsaekzarh,

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

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

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

Не говорите ерунды
Все прекрасно работает если понимать что и как
...
Рейтинг: 0 / 0
24.06.2016, 14:58:28
    #39261864
Q.Tarantino
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle 11.2.0.3 и 12.1.0.2 на одном севрере
ekzarhЧто ему не хватает? Надо что-то добавить?
а что говорит tnsping BASE1?
...
Рейтинг: 0 / 0
24.06.2016, 17:43:00
    #39262053
ekzarh
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Oracle 11.2.0.3 и 12.1.0.2 на одном севрере
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
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Oracle 11.2.0.3 и 12.1.0.2 на одном севрере / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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