powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Ошибка ORA-12514 при попытке соединится с базой данных
10 сообщений из 10, страница 1 из 1
Ошибка ORA-12514 при попытке соединится с базой данных
    #39984087
SerdarN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Создал копию базы данных с помощью холодного копирования. База данных успешно поднялась на резервном сервере, где установлено такая же версия Oracle (11.2.0.4) и такой же версии OS (Oracle Linux). Продакшн и резервная серверная площадка работает на двух node в кластере RAC. Новую созданную базу данных создал для тестов т.е. тестовая база данных с именем test01 и он не в кластере. Регистрировал базу данных test01 как кластерный ресурс следующей командой для последующего соединения пользователей через listener и tnsnames:

srvctl add database -d test01 -o "/u01/app/oracle/product/11.2.0.4/dbhome_1" -p "/u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/spfiletest01.ora" -r primary -s open -c SINGLE -x oda1

-где oda1 наименование одного noda в резервной серверной площадке.
При попытке соединится с приложения на клиентской машине или когда тестируеш соединение через Net Configuration Assistant в клиенте Oracle выдается ошибка "ORA-12514:_TNS:прослушиватель в данный момент не имеет данных о службе, запрашиваемой в дескрипторе соединения", текст ошибки на английском "ORA-12514: TNS:listener does not currently know of service requested in connect descriptor".

Все настройки перепроверил, но ошибок не нашел. Помогите, пожалуйста, подскажите где, что не учел или неправильно настроил!
...
Рейтинг: 0 / 0
Ошибка ORA-12514 при попытке соединится с базой данных
    #39984106
проходил мимо...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SerdarN,

давайте уж всю информацию, чего скрывать?
- lsnrctl status - от нодового и кластерного лисненеров (на тестовой, разумеется)
- строку коннекта, в которой ORA-12514
- local_listener и remote_listener с _работающей_ базы test01

ЗЫ базу-то вы добавили, а инстансы?
...
Рейтинг: 0 / 0
Ошибка ORA-12514 при попытке соединится с базой данных
    #39984222
SerdarN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автор- lsnrctl status - от нодового и кластерного лисненеров (на тестовой, разумеется)
ниже привожу результат команды /lsnrctl status на тестовом ноде oda1 под ползователем oracle, но я еще не понимаю что такое и чем отличается нодовый листенер и кластерный листенер. Подскажите мне как их получит и я предоставлю Вам эту информацию.

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
[oracle@oda1 ~]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 27-JUL-2020 07:47:19

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 12.1.0.2.0 - Production
Start Date                26-JUL-2020 15:14:45
Uptime                    0 days 16 hr. 32 min. 34 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/12.1.0.2/grid/network/admin/listener.ora
Listener Log File         /u01/app/grid/diag/tnslsnr/oda1/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.11.5.244)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.11.5.245)(PORT=1521)))
Services Summary...
Service "+APX" has 1 instance(s).
  Instance "+APX2", status READY, has 1 handler(s) for this service...
Service "+ASM" has 1 instance(s).
  Instance "+ASM2", status READY, has 1 handler(s) for this service...
Service "-MGMTDBXDB" has 1 instance(s).
  Instance "-MGMTDB", status READY, has 1 handler(s) for this service...
Service "_mgmtdb" has 1 instance(s).
  Instance "-MGMTDB", status READY, has 1 handler(s) for this service...
Service "oda_c" has 1 instance(s).
  Instance "-MGMTDB", status READY, has 1 handler(s) for this service...
Service "stbydb" has 1 instance(s).
  Instance "stbydb2", status READY, has 1 handler(s) for this service...
Service "test01" has 1 instance(s).
  Instance "test01", status READY, has 1 handler(s) for this service...
Service "test02" has 1 instance(s).
  Instance "test02", status READY, has 1 handler(s) for this service...
The command completed successfully



автор- строку коннекта, в которой ORA-12514
Строка коннекта у меня нет, но я пытаюсь соединится через графический интерфейс, например через PL/SQL Developer, прилагаю скриншот, файл "PL-SQL-Dev1.JPG".

автор- local_listener и remote_listener с _работающей_ базы test01

про local_listener и remote_listener не совсем понимаю эти термины, но как знаю предоставляю следующую информацию. В качестве local_listener как клиентская част предоставляю со своего компьютера, следующие строки с tnsnames.ora:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
TEST01 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.11.5.247)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = TEST01)
    )
  )

TEST02 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.11.5.247)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = TEST02)
    )
  )


Для сравнения привел базу данных TEST02, которая нормально коннектится с сервером базы данных!
В качестве remote_listener предоставляю содержимое listener, полученный пользователем grid:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
[grid@oda1 ~]$ su - grid
[grid@oda1 ~]$ cat /u01/app/12.1.0.2/grid/network/admin/listener.ora
MGMTLSNR=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=MGMTLSNR))))            # line added by Agent
ASMNET1LSNR_ASM=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=ASMNET1LSNR_ASM))))  # line added by Agent
LISTENER=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER))))            # line added by Agent
LISTENER_SCAN2=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN2))))    # line added by Agent
LISTENER_SCAN1=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1))))    # line added by Agent
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER_SCAN1=ON                # line added by Agent
VALID_NODE_CHECKING_REGISTRATION_LISTENER_SCAN1=OFF             # line added by Agent
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER_SCAN2=ON                # line added by Agent
VALID_NODE_CHECKING_REGISTRATION_LISTENER_SCAN2=OFF             # line added by Agent
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_LISTENER=ON              # line added by Agent
VALID_NODE_CHECKING_REGISTRATION_LISTENER=SUBNET                # line added by Agent
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_ASMNET1LSNR_ASM=ON               # line added by Agent
VALID_NODE_CHECKING_REGISTRATION_ASMNET1LSNR_ASM=SUBNET         # line added by Agent
ENABLE_GLOBAL_DYNAMIC_ENDPOINT_MGMTLSNR=ON              # line added by Agent
VALID_NODE_CHECKING_REGISTRATION_MGMTLSNR=SUBNET                # line added by Agent
[grid@oda1 ~]$



авторЗЫ базу-то вы добавили, а инстансы?
База и инстанс называется одинаково test01, поэтому я не знаю куда надо добавит инстансы? Вот результат следующей команды полученный пользователем oracle:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
[oracle@oda1 ~]$ srvctl config database -d test01 -a
Database unique name: test01
Database name:
Oracle home: /u01/app/oracle/product/11.2.0.4/dbhome_1
Oracle user: oracle
Spfile: /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/spfiletest01.ora
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: test01
Database instance: test01
Disk Groups:
Mount point paths:
Services:
Type: SINGLE
Database is enabled
Database is administrator managed
[oracle@oda1 ~]$
...
Рейтинг: 0 / 0
Ошибка ORA-12514 при попытке соединится с базой данных
    #39984247
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Oracle, на чистом ангельском Тебе говорит, что не знает той службы, что ты запросил

p.s. Мы тоже, так как connect string ты не предоставил

ты вообще куда подключаешься?
...
Рейтинг: 0 / 0
Ошибка ORA-12514 при попытке соединится с базой данных
    #39984248
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотрим внимательно
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
lsnrctl status
...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.11.5.244)(PORT=1521)))
   (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=10.11.5.245)(PORT=1521)))
...
Service "test01" has 1 instance(s).
  Instance "test01", status READY, has 1 handler(s) for this service...
Service "test02" has 1 instance(s).
  Instance "test02", status READY, has 1 handler(s) for this service...
The command completed successfully
...
tnsnames.ora 
...
TEST01 =
...
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.11.5.247)(PORT = 1521))
...
      (SERVICE_NAME = TEST01)
...



p.s. tnsnames.ora откуда? с клиента, или с сервера?
...
Рейтинг: 0 / 0
Ошибка ORA-12514 при попытке соединится с базой данных
    #39984257
проходил мимо...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SerdarN
автор- строку коннекта, в которой ORA-12514

Строка коннекта у меня нет, но я пытаюсь соединится через графический интерфейс, например через PL/SQL Developer
, прилагаю скриншот, файл "PL-SQL-Dev1.JPG".
вот прямо в plsql developer заходишь и сразу без имени базы, пользователя и пароля - скриншот?

SerdarN
автор- local_listener и remote_listener с _работающей_ базы test01


про local_listener и remote_listener не совсем понимаю эти термины,
https://lmgtfy.com/?q=remote_listener

SerdarN
кластерный листенер

у вас находится тут

SerdarN
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
TEST01 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.11.5.247)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = TEST01)
    )
  )

TEST02 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.11.5.247)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = TEST02)
    )
  )


Для сравнения привел базу данных TEST02, которая нормально коннектится с сервером базы данных!


а test01 и test02 - это именно разные БАЗЫ? на одном кластере? а как же резервный?..



прочитал ещё раз исходное сообщение. переосмыслил относительно предоставленной информации.

вариантов два:
1. либо используйте параметр remote_listener
2. либо (и когда инстанс не кластерный - это правильнее) в tnsnames.ora используйте адрес локального листенера ноды, на которой запущен некластерный инстанс
...
Рейтинг: 0 / 0
Ошибка ORA-12514 при попытке соединится с базой данных
    #39984277
SerdarN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SerdarNавтор- строку коннекта, в которой ORA-12514Строка коннекта у меня нет, но я пытаюсь соединится через графический интерфейс, например через PL/SQL Developer
, прилагаю скриншот, файл "PL-SQL-Dev1.JPG".
Прилагаю скриншот строку коннекта
...
Рейтинг: 0 / 0
Ошибка ORA-12514 при попытке соединится с базой данных
    #39984302
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здесь нет строки коннекта. Они, считанные из tnsnames.ora текущего ORACLE_HOME, появятся при нажатии стрелочки "вниз" в окошке "Database".

Либо можно ввести ее прямо в окошко в формате EZCONNECT .
...
Рейтинг: 0 / 0
Ошибка ORA-12514 при попытке соединится с базой данных
    #39984436
SerdarN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем, особенно "проходил мимо..."!!! С Вашими советами разобрался с соединением!

авторвариантов два:
1. либо используйте параметр remote_listener
2. либо (и когда инстанс не кластерный - это правильнее) в tnsnames.ora используйте адрес локального листенера ноды, на которой запущен некластерный инстанс
Ознакомился понятиями local_listener и remote_listener. Запустил на первом ноде и на втором ноде SQL запрос и получил следующий резултат.

RAC-1
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SQL> show parameter local_listener
ORA-01034: ORACLE not available
Process ID: 0
Session ID: 0 Serial number: 0
SQL>

SQL>
SQL> show parameter remote_listener
ORA-01034: ORACLE not available
Process ID: 0
Session ID: 0 Serial number: 0
SQL>


RAC-2
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SQL> show parameter local_listener
NAME                   TYPE          VALUE
----------------------   --------------   ---------------------------------------------------------------------------------------------
local_listener         string           (ADDRESS=(PROTOCOL=TCP)(HOST=10.11.5.245)(PORT=1521))
SQL>

SQL> show parameter remote_listener
NAME                   TYPE          VALUE
----------------------   --------------   ---------------------------------------------------------------------------------------------
remote_listener      string           exa-scan:1521
SQL>


Прописал на своем компьютере в tnsnamese IP local_listener и соединение прошло. remote_listener тоже проверял, но она неработает.
Хотя вопрос с соединением решился, но все равно мне ненравится настройка local_listener и remote_listener!!!
автора test01 и test02 - это именно разные БАЗЫ? на одном кластере? а как же резервный?..

test01 и test02 - это именно разные базы и обе на одном кластере. Для тестовой базы мне не нужен что бы они работали в RAC. Самое интересное test02 и другие ранее тестовые базы работали по IP который заканчивается на 247. База test02 до сих пор работает так.
Еще раз ВСЕМ УЧАСТНИКАМ СПАСИБО!!!
...
Рейтинг: 0 / 0
Ошибка ORA-12514 при попытке соединится с базой данных
    #39984530
проходил мимо...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SerdarN
авторвариантов два:
1. либо используйте параметр remote_listener
2. либо (и когда инстанс не кластерный - это правильнее) в tnsnames.ora используйте адрес локального листенера ноды, на которой запущен некластерный инстанс

Ознакомился понятиями local_listener и remote_listener. Запустил на первом ноде и на втором ноде SQL запрос и получил следующий резултат.это потому, что тестовая база работает только на одной ноде.

SerdarN
Прописал на своем компьютере в tnsnamese IP local_listener и соединение прошло. remote_listener тоже проверял, но она неработает.
Хотя вопрос с соединением решился, но все равно мне ненравится настройка local_listener и remote_listener!!!
дык, не настраивайте. если коннектиться к локалу, ничего и настраивать не нужно...

SerdarN
Самое интересное test02 и другие ранее тестовые базы работали по IP который заканчивается на 247. База test02 до сих пор работает так.
это потому, что они кластерные и регистрируются на кластерном листенере, и кластерный агент конфигурит в них remote_listener именно в адрес кластерного листенера. listener_scan1 и listener_scan2 в гридовском listener.ora - это (должно быть) самое оно. прикольно, правда, что "оно" там у вас только через IPC, без адресов...
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Ошибка ORA-12514 при попытке соединится с базой данных
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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