Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Как подключиться к второй БД ?  [new]
Tarabtsev
Member

Откуда:
Сообщений: 889
Установлен Oracle 9. Установил восьмерку. Настроил Listener восьмерки на 1522 порт. Создал нужный TNSNAME с портом 1522. TNSPING проходит нормально. Но, подсоединится из приложений не могу, ругается: "ORA-12514: TNS:listener could not resolve SERVICE_NAME given in connect descriptor".

Заметил, что в службах листенер 8 не появился, есть только листенер 9 "OracleOraHome92TNSListener".

Что может быть?

ЗЫ файлы listener.ora, tnsnames.ora
LISTENER1 =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = pc)(PORT = 1522))
      )
    )
  )

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = e:\ora8)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = strike)
      (ORACLE_HOME = e:\ora8)
      (SID_NAME = strike)
    )
  )



STRIKE =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1522))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = strike)
    )
  )
8 июл 08, 22:48    [5905619]     Ответить | Цитировать Сообщить модератору
 Re: Как подключиться к второй БД ?  [new]
Tarabtsev
Member

Откуда:
Сообщений: 889
Tarabtsev
Заметил, что в службах листенер 8 не появился, есть только листенер 9 "OracleOraHome92TNSListener".


В службах появился сервис OracleOraHome8TNSListenerLISTENER1 - скорее всего, не обновил службы
8 июл 08, 22:55    [5905638]     Ответить | Цитировать Сообщить модератору
 Re: Как подключиться к второй БД ?  [new]
PaulEr
Member

Откуда:
Сообщений: 3794
А почему Вы не хотите использовать listener от 9 для восьмёрки?
8 июл 08, 23:46    [5905788]     Ответить | Цитировать Сообщить модератору
 Re: Как подключиться к второй БД ?  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18482
Tarabtsev
LISTENER1 =
...
SID_LIST_LISTENER =
Ну и службу соответствующую создать (lsnrctl)
9 июл 08, 02:14    [5906135]     Ответить | Цитировать Сообщить модератору
 Re: Как подключиться к второй БД ?  [new]
Tarabtsev
Member

Откуда:
Сообщений: 889
PaulEr
А почему Вы не хотите использовать listener от 9 для восьмёрки?


Пытался в 9 добавлять листенер с портом 1522. Создавал TNSNAME в 9, но ошибка таже "ORA-12514: TNS:listener could not resolve SERVICE_NAME given in connect descriptor"
9 июл 08, 11:27    [5907383]     Ответить | Цитировать Сообщить модератору
 Re: Как подключиться к второй БД ?  [new]
Borland
Member

Откуда: $HOME
Сообщений: 15839
Tarabtsev
Пытался в 9 добавлять листенер с портом 1522. Создавал TNSNAME в 9, но ошибка таже "ORA-12514: TNS:listener could not resolve SERVICE_NAME given in connect descriptor"

А какой глубокий и тайный смысл вешать второй листенер? Используйте один, от девятки
-----
Все великие дела совершаются в командной строке
9 июл 08, 11:30    [5907410]     Ответить | Цитировать Сообщить модератору
 Re: Как подключиться к второй БД ?  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
Tarabtsev
PaulEr
А почему Вы не хотите использовать listener от 9 для восьмёрки?


Пытался в 9 добавлять листенер с портом 1522. Создавал TNSNAME в 9, но ошибка таже "ORA-12514: TNS:listener could not resolve SERVICE_NAME given in connect descriptor"


А почему не использовать стандартный 1521 ? Для того, чтобы один listener обслуживал 2 базы (имеется ввиду listener старшей версии из 2), надо всего лишь добавить запись в SID_LIST_LISTENER
9 июл 08, 11:30    [5907413]     Ответить | Цитировать Сообщить модератору
 Re: Как подключиться к второй БД ?  [new]
Tarabtsev
Member

Откуда:
Сообщений: 889
tru55
А почему не использовать стандартный 1521 ? Для того, чтобы один listener обслуживал 2 базы (имеется ввиду listener старшей версии из 2), надо всего лишь добавить запись в SID_LIST_LISTENER


На текущий момент листенер 9
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = pc)(PORT = 1521))
      )
    )
  )

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = D:\oracle\ora92)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = ORAT)
      (ORACLE_HOME = D:\oracle\ora92)
      (SID_NAME = ORAT)
    )
  )

листененр 8
LISTENER1 =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = pc)(PORT = 1522))
      )
    )
  )

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = e:\ora8)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = strike)
      (ORACLE_HOME = e:\ora8)
      (SID_NAME = strike)
    )
  )

Посоветуйте, как корректно дописать данные о 8 в листенер 9?
9 июл 08, 11:40    [5907507]     Ответить | Цитировать Сообщить модератору
 Re: Как подключиться к второй БД ?  [new]
Borland
Member

Откуда: $HOME
Сообщений: 15839
В девяточном листенере указываете:
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = pc)(PORT = 1521))
      )
    )
  )

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = D:\oracle\ora92)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = ORAT)
      (ORACLE_HOME = D:\oracle\ora92)
      (SID_NAME = ORAT)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = strike)
      (ORACLE_HOME = e:\ora8)
      (SID_NAME = strike)
    )

  )
-----
Все великие дела совершаются в командной строке
9 июл 08, 11:43    [5907541]     Ответить | Цитировать Сообщить модератору
 Re: Как подключиться к второй БД ?  [new]
Tarabtsev
Member

Откуда:
Сообщений: 889
Borland
А какой глубокий и тайный смысл вешать второй листенер? Используйте один, от девятки


С администрированием Oracle не сталкивался, думал, что для каждой базы нужен свой порт и, соответсвенно, свой листенер. Понял, что был неправ. Но, как дописать данные о 8 в листенер 9 пока не поинмаю
9 июл 08, 11:45    [5907570]     Ответить | Цитировать Сообщить модератору
 Re: Как подключиться к второй БД ?  [new]
Borland
Member

Откуда: $HOME
Сообщений: 15839
Tarabtsev
С администрированием Oracle не сталкивался, думал, что для каждой базы нужен свой порт и, соответсвенно, свой листенер. Понял, что был неправ. Но, как дописать данные о 8 в листенер 9 пока не поинмаю
см выше
-----
Все великие дела совершаются в командной строке
9 июл 08, 11:48    [5907600]     Ответить | Цитировать Сообщить модератору
 Re: Как подключиться к второй БД ?  [new]
Вячеслав Любомудров
Member

Откуда: Владивосток
Сообщений: 18482
Тока с extproc немного пошаманить еще надо (поменять имя сервиса в listener.ora и tnsnames.ora для 8-ки)
9 июл 08, 11:50    [5907622]     Ответить | Цитировать Сообщить модератору
 Re: Как подключиться к второй БД ?  [new]
Tarabtsev
Member

Откуда:
Сообщений: 889
Borland
В девяточном листенере указываете:


Большое Вам спасибо! Но, к сожалению, новая поблема.
Изменил листенер, перестартовал его, перенастроил тнснаме, но появилась новая ошибка: "ora-01034 Oracle not available"
9 июл 08, 11:52    [5907648]     Ответить | Цитировать Сообщить модератору
 Re: Как подключиться к второй БД ?  [new]
Borland
Member

Откуда: $HOME
Сообщений: 15839
Tarabtsev
Но, к сожалению, новая поблема.
Изменил листенер, перестартовал его, перенастроил тнснаме, но появилась новая ошибка: "ora-01034 Oracle not available"
Служба экземляра запущена? Переменные окружения куда смотрят? Как коннектитесь? Ну и напоследок, так сказать, контрольный выстрел - tnsping <sid> что возвращает?
-----
Все великие дела совершаются в командной строке
9 июл 08, 11:54    [5907677]     Ответить | Цитировать Сообщить модератору
 Re: Как подключиться к второй БД ?  [new]
Tarabtsev
Member

Откуда:
Сообщений: 889
Borland
Служба экземляра запущена?
Да, запущена


Borland
Переменные окружения куда смотрят?

Переменные окружения не определены. Какие нужно прописать?

Borland
Как коннектитесь?

Тест NetConfigurationAssistant возвращает ora-01034. А попытался соединится PlSQLDeveloper ошибка ora-12514. Странно както


Borland
Ну и напоследок, так сказать, контрольный выстрел - tnsping <sid> что возвращает?

После того, как удалил листенер для 8, tnsping не проходит
9 июл 08, 12:04    [5907765]     Ответить | Цитировать Сообщить модератору
 Re: Как подключиться к второй БД ?  [new]
Borland
Member

Откуда: $HOME
Сообщений: 15839
Вам нужно восьмёрочную базу прописать в девяточном tnsnames
-----
Все великие дела совершаются в командной строке
9 июл 08, 12:06    [5907782]     Ответить | Цитировать Сообщить модератору
 Re: Как подключиться к второй БД ?  [new]
Tarabtsev
Member

Откуда:
Сообщений: 889
Вячеслав Любомудров
Тока с extproc немного пошаманить еще надо (поменять имя сервиса в listener.ora и tnsnames.ora для 8-ки)


А можно поподробней? Пожалуйста!
9 июл 08, 12:07    [5907787]     Ответить | Цитировать Сообщить модератору
 Re: Как подключиться к второй БД ?  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
Tarabtsev
Вячеслав Любомудров
Тока с extproc немного пошаманить еще надо (поменять имя сервиса в listener.ora и tnsnames.ora для 8-ки)


А можно поподробней? Пожалуйста!


Ты сначала определись, нужен ли тебе вообще exptproc (на всякий случай - этот процесс используется в случае вызова внеших процедур, написанных на других языках, например С, из DLL)
9 июл 08, 12:09    [5907814]     Ответить | Цитировать Сообщить модератору
 Re: Как подключиться к второй БД ?  [new]
Tarabtsev
Member

Откуда:
Сообщений: 889
Borland
Вам нужно восьмёрочную базу прописать в девяточном tnsnames
-----
Все великие дела совершаются в командной строке


Запись о восьмерочной базе в девяточном tnsnames
STRIKE =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = strike)
    )
  )
9 июл 08, 12:09    [5907815]     Ответить | Цитировать Сообщить модератору
 Re: Как подключиться к второй БД ?  [new]
Tarabtsev
Member

Откуда:
Сообщений: 889
tru55
Ты сначала определись, нужен ли тебе вообще exptproc (на всякий случай - этот процесс используется в случае вызова внеших процедур, написанных на других языках, например С, из DLL)


Для 9 не нужен, а для 8 скорее всего понадобится.
Хотя... главное, чтобы к базе достучаться, с внешними процедурами еще не скоро работать начну.
9 июл 08, 12:12    [5907841]     Ответить | Цитировать Сообщить модератору
 Re: Как подключиться к второй БД ?  [new]
PaulEr
Member

Откуда:
Сообщений: 3794
А к какой БД подключаетесь? Выложите окончательно tnsnames & listener от 9.
9 июл 08, 12:13    [5907851]     Ответить | Цитировать Сообщить модератору
 Re: Как подключиться к второй БД ?  [new]
Borland
Member

Откуда: $HOME
Сообщений: 15839
Tarabtsev
После того, как удалил листенер для 8, tnsping не проходит

Окружение должно смотреть на тот хоум, из-под которого пытаетесь работать с базой, но стартовать восьмёрочную базу нужно исключительно из восьмерочного хоума, и при работе с восьмёркой из девяточного хоума нужно установить переменную %ORACLE_SID%
-----
Все великие дела совершаются в командной строке[/quot]
9 июл 08, 12:16    [5907887]     Ответить | Цитировать Сообщить модератору
 Re: Как подключиться к второй БД ?  [new]
Tarabtsev
Member

Откуда:
Сообщений: 889
PaulEr
А к какой БД подключаетесь? Выложите окончательно tnsnames & listener от 9.


Выкладываю
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = pc)(PORT = 1521))
      )
    )
  )

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = D:\oracle\ora92)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = ORAT)
      (ORACLE_HOME = D:\oracle\ora92)
      (SID_NAME = ORAT)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = strike)
      (ORACLE_HOME = e:\ora8)
      (SID_NAME = strike)
    )
  )

STRIKE =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = strike)
    )
  )

ORALIK =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ORAT)
    )
  )

INST1_HTTP =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = pc)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = SHARED)
      (SERVICE_NAME = MODOSE)
      (PRESENTATION = http://HRService)
    )
  )

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

9 июл 08, 12:16    [5907891]     Ответить | Цитировать Сообщить модератору
 Re: Как подключиться к второй БД ?  [new]
tru55
Member

Откуда: СПб
Сообщений: 19790
Маленький вопрос - после изменения listener.ora процесс listener-а перезапускал?
9 июл 08, 12:18    [5907907]     Ответить | Цитировать Сообщить модератору
 Re: Как подключиться к второй БД ?  [new]
PaulEr
Member

Откуда:
Сообщений: 3794
tnsping идёт к обоим базам?
9 июл 08, 12:20    [5907932]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Oracle Ответить