ora 12170 tns connect timeout occurred что делать
Ora 12170 tns connect timeout occurred что делать
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(SID_NAME = orcl)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
(ADDRESS = (PROTOCOL = TCP)(HOST = Servername)(PORT = 1521))
)
)
| |
aig_s Guest | ��, ����������� XP |
4 ��� 08, 16:10����[5241718] �������� | ���������� �������� ���������� |
| ||||
tru55 Member ������: ��� | TNS-12170 TNS:Connect timeout occurred Cause: The server shut down because connection establishment with a client ORA-12170: TNS: истекло время ожидания подключенияЯ пытался подключиться к базе данных здесь, на моем ноутбуке, используя Oracle Toad, но у меня продолжала появляться эта ошибка:
Каковы возможные причины, почему я продолжал иметь эту ошибку? Я получил доступ к той же базе данных вчера и смог получить к ней доступ. [Сбор ответов в комментариях] Проблема заключается в том, что служба Oracle работает на IP-адресе, а хост настроен с другим IP-адресом. Чтобы увидеть IP-адрес службы Oracle, введите команду lsnrctl status и проверьте указанный адрес (в данном случае это 127.0.0.1, localhost): Чтобы увидеть IP-адрес хоста, введите команду ipconfig (под windows) или ifconfig (под linux). Однако в моей установке служба Oracle не работает если она указана для адреса localhost, я должен установить реальный IP-адрес узла (например, 192.168.10.X). Чтобы избежать этой проблемы в будущем, не используйте DHCP для назначения IP-адреса хоста, но используйте статический. Это из-за конфликтующего SID. Например, в вашем файле Oracle12cBase\app\product\12.1.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora описание соединения для ORCL выглядит так: И вы пытаетесь подключиться, используя строку подключения, используя тот же SID, но другой IP, имя пользователя/пароль, например: Чтобы решить эту проблему, внесите изменения в файл tnsnames.ora: Проблема, поскольку установление соединения или связь с клиентом не удалось завершить в течение выделенного интервала времени. Это может быть результатом сетевых или системных задержек. Я получал ту же ошибку при подключении моего «hr» пользователя ORCLPDB, который является подключаемой базой данных. Сначала получите имя хоста и номер порта, набрав команду lsnrctl status в командной строке Windows. В моем случае это был 127.0.0.1 с номером порта 1521 Во-вторых, введите команду ниже с вашим именем хоста и номером порта: УСТРАНЕНИЕ НЕИСПРАВНОСТЕЙ (Doc ID 730066.1) Ошибки тайм-аута соединения ORA-3135 и ORA-3136 Ошибка тайм-аута соединения может возникнуть, когда попытка соединения с базой данных не завершает свои фазы соединения и аутентификации в течение периода времени, разрешенного следующим: SQLNET.INBOUND_CONNECT_TIMEOUT и/или INBOUND_CONNECT_TIMEOUT_ параметры на стороне сервера. Начиная с Oracle 10.2, значение по умолчанию для этих параметров составляет 60 секунд, где в предыдущих выпусках оно было 0, что означает отсутствие времени ожидания. По таймауту клиентская программа получит ошибку ORA-3135 (или, возможно, TNS-3135):
и база данных зарегистрирует ошибку ORA-3136 в своем alert.log: Когда сеанс базы данных находится в фазе аутентификации, он выдаст последовательность операторов SQL. Аутентификация не завершена, пока все они не будут проанализированы, выполнены, извлечены полностью. Некоторые из операторов SQL в этом списке, например на 10.2 есть: ПРИМЕЧАНИЕ. Приведенный выше список SQL не является полным и не отражает порядок аутентификации SQL. Различия также могут существовать от выпуска к выпуску. Вышеуказанные операторы SQL должны быть проанализированы, выполнены и извлечены, как это происходит для всех SQL внутри базы данных Oracle. Из этого следует, что любая проблема, возникающая на этих этапах, которая выглядит как зависание или серьезное замедление работы, может привести к тайм-ауту. Признаки таких зависаний будут замечены сеансом аутентификации как ожидающий: • курсор: вывод S, ожидающий X • latch: объекты кэша строк • блокировка кэша строк Другие типы событий ожидания возможны; этот список может быть неполным. Проблема здесь в том, что сеанс аутентификации блокируется в ожидании получения общего ресурса, который удерживается другим сеансом внутри базы данных. Этот сеанс блокировщика сам по себе занят длительным действием (или его собственным зависанием), что препятствует своевременному освобождению общего ресурса, необходимого для сеанса аутентификации. Это приводит к тому, что время ожидания в конечном итоге сообщается сеансу аутентификации. В таких ситуациях нам нужно выяснить, какой процесс блокирования удерживает общий ресурс, необходимый для сеанса аутентификации, чтобы увидеть, что с ним происходит. Типичная диагностика, используемая в таких случаях: Примеры проблем, которые могут привести к зависанию аутентификации Параметр обхода неопубликованной ошибки 7039896_ enable_shared_pool_durations = false, см. Примечание 7039896.8 Другие подходы, чтобы избежать проблемы В некоторых случаях может быть возможно избежать проблем с проверкой подлинности SQL путем закрепления таких операторов в общем пуле вскоре после запуска экземпляра и их новой загрузки. Вы можете использовать следующий artcile, чтобы посоветовать это: Документ 726780.1 Как закрепить курсор в общем пуле, используя DBMS_SHARED_POOL.KEEP Пиннинг предотвратит их вымывание из-за неактивности и старения и, следовательно, предотвратит их повторную загрузку в будущем, т. Е. Необходимость повторной обработки и подверженности проблемам зависания аутентификации. ORA-12170: TNS: произошло время ожидания подключенияЯ пытался подключиться к базе данных здесь, в моем ноутбуке, используя Oracle Toad, но я продолжал иметь эту ошибку: каковы возможные причины, я продолжал иметь эту ошибку? вчера я получил доступ к той же базе данных и смог получить к ней доступ. 7 ответов[сбор ответов в комментариях] проблема в том, что Служба Oracle работает по IP-адресу, а хост настроен с другим IP-адресом. чтобы увидеть IP-адрес Службы Oracle, введите lsnrctl status команда и проверка указанного адреса (в данном случае это 127.0.0.1, localhost): чтобы увидеть IP-адрес хоста, введите ipconfig (под windows) или ifconfig (под linux) команда. Howewer, в моей установке, служба Oracle не работает если установлен на localhost адрес, я должен установить реальный IP-адрес хоста (например 192.168.10.X). чтобы избежать этой проблемы в будущем, не используйте DHCP для назначения IP-адреса хоста, а используйте статический. это из-за конфликтующего SID. Например, в Oracle12cBase\app\product\12.1.0\dbhome_1\NETWORK\ADMIN\tnsnames.описание файла-ora, соединение для ORCL это: и вы пытаетесь подключиться с помощью строки подключения, используя тот же SID, но другой IP, имя пользователя/пароль, например: чтобы решить эту проблему, внесите изменения в файл tnsnames.Ора файл: Проверьте брандмауэр, чтобы разрешить подключение на сервере от вашего клиента. Разрешив доменную сеть или создав правило. проблема, потому что установление соединения или связь с клиентом не удалось завершить в течение отведенного интервала времени. Это может быть результатом сетевых или системных задержек. я получал ту же ошибку при подключении моего пользователя «hr» ORCLPDB, который является подключаемой базой данных. во-первых, получить имя хоста и номер порта, введите команду lsnrctl status в командной строке Windows. В моем случае, это был 127.0.0.1 и номер порта, как 1521 во-вторых, введите команду ниже с именем хоста и номером порта: ШАГИ ПО УСТРАНЕНИЮ НЕПОЛАДОК (Doc ID 730066.1) ошибки тайм-аута соединения ORA-3135 и ORA-3136 Ошибка тайм-аута соединения может быть выдана, если попытка подключения к базе данных не завершает фазы подключения и проверки подлинности в течение периода времени, разрешенного следующими параметрами: заменить sqlnet.INBOUND_CONNECT_TIMEOUT и/или INBOUND_CONNECT_TIMEOUT_ серверные параметры. начиная с Oracle 10.2, по умолчанию для этих параметров 60 секунд, где в предыдущих выпусках это было 0, что означает отсутствие тайм-аута. в тайм-аут клиентская программа получит ошибку ORA-3135 (или, возможно, TNS-3135):
и база данных зарегистрирует ошибку ORA-3136 в своем предупреждении.log: когда сеанс базы данных находится на этапе проверки подлинности, он выдаст последовательность операторов SQL. Аутентификация не завершена, пока все они не будут проанализированы, выполнены, извлечены полностью. Некоторые из операторов SQL в этом списке, например, на 10.2: вышеуказанные операторы SQL должны быть проанализированы, выполнены и извлечены, как это происходит для всех SQL внутри базы данных Oracle. Из этого следует, что любая проблема, возникшая на этих этапах, которая выглядит как зависание или серьезная низкая производительность, может привести к таймауту. симптомы таких зависаний будут видны сеансом аутентификации как ожидания для: * курсор: pin s ждать на X * защелка: объекты кэша строк * блокировка кэша строк Возможны другие типы событий ожидания; этот список может быть неполным. проблема здесь в том, что сеанс аутентификации заблокирован, ожидая получения общего ресурса, который удерживается другим сеансом внутри базы данных. Этот сеанс блокатора сам занят длительным действием (или его собственным зависанием), которое не позволяет ему освободить общий ресурс, необходимый сеансу аутентификации в своевременная мода. В результате время ожидания в итоге сообщили аутентификации сессии. в таких ситуациях нам нужно выяснить процесс блокатора, содержащий общий ресурс, необходимый сеансу аутентификации, чтобы увидеть, что с ним происходит. типичные диагностики используемые в таких случаях следующие: примеры проблем, которые могут привести к зависанию аутентификации неопубликованная ошибка 7039896 обходной параметр _enable_shared_pool_durations=false см. Примечание 7039896.8 другие подходы, чтобы избежать проблем в некоторых случаях можно избежать проблем с аутентификацией SQL, закрепив такие операторы в общем пуле вскоре после экземпляра запускается и они свежеиспеченные. Вы можете использовать следующие статья для: Документ 726780.1 как закрепить Курсор в общем пуле с помощью DBMS_SHARED_POOL.KEEP закрепление предотвратит их вымывание из-за бездействия и старения и, следовательно, предотвратит их необходимость перезагрузки в будущем, т. е. необходимость повторного ремонта и подверженности проблемам с аутентификацией. fatal ni connect error 12170
Пользователи не могут подключиться к базе. Обычно при этом они получают ошибки: ORA-12547: TNS:lost contact или ORA-12637: Packet receive failed. В sqlnet.log на сервере сообщения об ошибке ORA-12170: TNS:Connect timeout. Еще для версий 10g и выше, в alert.log могут быть сообщения WARNING: inbound connection timed out (ORA-3136). VERSION INFORMATION: Для разных ОС, параметр ‘nt secondary err code‘ может быть разным For the Solaris system: nt secondary err code: 145: Выдержка из документации ORA-12170: TNS:Connect timeout occurred Смысл этой ошибки в том что соединение не может быть установлено в течение отведенного интервала времени. А вот причин по которым это происходит может быть великое множество. Как видно, основная рекомендация — увеличить параметры SQLNET.INBOUND_CONNECT_TIMEOUT, SQLNET.SEND_TIMEOUT и SQLNET.RECV_TIMEOUT. Можно попробовать сделать это, но это может не помочь. Поэтому лучше попробовать разобраться в корне проблемы. Несколько основных причин ошибки и способы их решения1) Серверные ресурсы перегружены. Проверить насколько загружен сервер (процессор, диски, сеть). Выявить причину утечки ресурсов и устранить её. Большая загрузка сети может косвенно указывать на DoS. Если вы обнаружили высокую нагрузку сервера, но она оказалась полезной — то это указывает на нехватку мощности сервера и пора задуматься об его обновлении или замене. 3) База данных и Listener не функционируют. Проверить что сама база данных и Listener запущены и работают нормально, что к ним можно подключиться локально или с других компьютеров сети. 5) Проблемы с DNS. Либо прописать соответствующие записи в файл host либо во всех конфигурационных файлах oracle net использовать вместо имен — ip-адреса. I am getting error ORA-12170 while connecting from C# application to Oracle database. I searched and found somewhere that the error description can be found in sqlnet.log file. What I am pasting is the sqlnet.log content. How can I overcome this problem? Fatal NI connect error 12170. VERSION INFORMATION: TNS for 32-bit Windows: Version 10.2.0.1.0 — Production Windows NT TCP/IP NT Protocol Adapter for 32-bit Windows: Version 10.2.0.1.0 — Production Time: 08-JUN-2016 18:49:09 Tracing not turned on. Tns error struct: ns main err code: 12535 TNS-12535: TNS:operation timed out ns secondary err code: 12560 nt main err code: 505 TNS-00505: Operation timed out nt secondary err code: 60 nt OS err code: 0 Client address: Question: Below error getting in alert log file every day, but database is working fine Fatal NI connect error 12170. VERSION INFORMATION: TNS-12535: TNS:operation timed out Answer: The fatal ni connect error 12170 is related to the ORA-12170 error: ORA-12170: TNS:Connect timeout occurred Cause: The client failed to establish a connection and complete authentication in the time specified by the SQLNET.INBOUND_CONNECT_TIMEOUT parameter in the sqlnet.ora file. This error may be a result of network or system delays, or it may indicate that a malicious client is trying to cause a denial-of-service attack on the database server. The server shut down because connection establishment or communication with a client failed to complete within the allotted time interval. This may be a result of network or system delays; or this may indicate that a malicious client is trying to cause a Denial of Service attack on the server. Action: If the error occurred because of a slow network or system, reconfigure one or all of the parameters SQLNET.INBOUND_CONNECT_TIMEOUT, SQLNET.SEND_TIMEOUT, SQLNET.RECV_TIMEOUT in sqlnet.ora to larger values. If a malicious client is suspected, use the address in sqlnet.log to identify the source and restrict access. Note that logged addresses may not be reliable as they can be forged (e.g. in TCP/IP). See Also: Action: If the error occurred due to system or network delays that are normal for the particular environment, then perform this steps: Turn on tracing to determine where clients are timing out. |