1. <legend id='ONOG5'><style id='ONOG5'><dir id='ONOG5'><q id='ONOG5'></q></dir></style></legend>
      • <bdo id='ONOG5'></bdo><ul id='ONOG5'></ul>

      <small id='ONOG5'></small><noframes id='ONOG5'>

      <tfoot id='ONOG5'></tfoot>

        <i id='ONOG5'><tr id='ONOG5'><dt id='ONOG5'><q id='ONOG5'><span id='ONOG5'><b id='ONOG5'><form id='ONOG5'><ins id='ONOG5'></ins><ul id='ONOG5'></ul><sub id='ONOG5'></sub></form><legend id='ONOG5'></legend><bdo id='ONOG5'><pre id='ONOG5'><center id='ONOG5'></center></pre></bdo></b><th id='ONOG5'></th></span></q></dt></tr></i><div id='ONOG5'><tfoot id='ONOG5'></tfoot><dl id='ONOG5'><fieldset id='ONOG5'></fieldset></dl></div>

        解决ORA-12170:TNS connect timeout occurred问题

        时间:2023-12-07
              <bdo id='Zzf8x'></bdo><ul id='Zzf8x'></ul>
              <tfoot id='Zzf8x'></tfoot>

              <i id='Zzf8x'><tr id='Zzf8x'><dt id='Zzf8x'><q id='Zzf8x'><span id='Zzf8x'><b id='Zzf8x'><form id='Zzf8x'><ins id='Zzf8x'></ins><ul id='Zzf8x'></ul><sub id='Zzf8x'></sub></form><legend id='Zzf8x'></legend><bdo id='Zzf8x'><pre id='Zzf8x'><center id='Zzf8x'></center></pre></bdo></b><th id='Zzf8x'></th></span></q></dt></tr></i><div id='Zzf8x'><tfoot id='Zzf8x'></tfoot><dl id='Zzf8x'><fieldset id='Zzf8x'></fieldset></dl></div>

              <small id='Zzf8x'></small><noframes id='Zzf8x'>

                <tbody id='Zzf8x'></tbody>

              1. <legend id='Zzf8x'><style id='Zzf8x'><dir id='Zzf8x'><q id='Zzf8x'></q></dir></style></legend>
                • 解决ORACLE数据库连接时出现“ORA-12170:TNS connect timeout occurred”问题的方法如下:

                  问题分析

                  此问题通常是由于连接超时或者网络故障所引起。解决方法如下:

                  解决方案

                  1. 确认环境配置

                  首先需要核实环境的配置是否正确。比如确认防火墙是否阻止了连接,确认listener是否启动,以及确认网络是否正常等。

                  在Linux系统中,可以使用lsnrctl status命令来查看监听器启动状态。如果没有启动,请使用lsnrctl start来启动。如果已经启动了,可以考虑重启listener试试,使用lsnrctl stop停止监听器,然后使用lsnrctl start启动监听器。

                  1. 增加超时时间

                  可以通过在tnsnames.ora文件中增加一个CONNECT_TIMEOUT参数来解决该问题。该参数用于控制连接超时时间的长度。

                  例如,假设已经添加了以下tns连接:

                  ORACLE_DB =
                    (DESCRIPTION =
                      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
                      (CONNECT_DATA =
                        (SERVER = DEDICATED)
                        (SERVICE_NAME = orcl)
                      )
                    )
                  

                  可以在该连接的最后添加CONNECT_TIMEOUT参数:

                  ORACLE_DB =
                    (DESCRIPTION =
                      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
                      (CONNECT_DATA =
                        (SERVER = DEDICATED)
                        (SERVICE_NAME = orcl)
                      )
                      (CONNECT_TIMEOUT = 120)
                    )
                  

                  其中,CONNECT_TIMEOUT的值为秒数。

                  1. 使用sqlnet.ora文件

                  在sqlnet.ora文件中,可以添加以下参数:

                  SQLNET.INBOUND_CONNECT_TIMEOUT = 120
                  

                  这将控制才到服务器的连接所需的最长时间(以秒为单位)。请注意,在默认情况下,此参数被禁用。

                  实例:

                  sqlnet.inbound_connect_timeout = 120
                  

                  有了以上的解决方法,就可以顺利解决ORA-12170:TNS connect timeout occurred问题了。

                  示例说明

                  1.使用CONNECT_TIMEOUT参数

                  (1)在tnsnames.ora文件中添加了CONNECT_TIMEOUT参数

                  ORACLE_DB =
                    (DESCRIPTION =
                      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.100)(PORT = 1521))
                      (CONNECT_DATA =
                        (SERVER = DEDICATED)
                        (SERVICE_NAME = orcl)
                      )
                      (CONNECT_TIMEOUT = 120)
                    )
                  

                  如果用户在连接时经常出现ORA-12170错误,则可以尝试将CONNECT_TIMEOUT值增加到更大的值,如240或300。

                  (2)用户进行连接测试

                  CMD窗口中连接测试:

                  C:\Users\Administrator>sqlplus test/test@ORACLE_DB
                  
                  SQL*Plus: Release 11.2.0.1.0 Production on Fri Aug 23 16:40:04 2019
                  
                  Copyright (c) 1982, 2010
                  Oracle.  All rights reserved.
                  
                  ERROR:
                  ORA-12170: TNS:connect timeout occurred
                  
                  
                  SP2-0751: Unable to connect to Oracle.  Exiting SQL*Plus
                  

                  从结果来看,虽然仍然存在ORA-12170错误,但是时间已经从连接的默认时间减少到120秒。

                  1. 使用sqlnet.ora文件

                  (1)修改sqlnet.ora文件

                  SQLNET.INBOUND_CONNECT_TIMEOUT = 120
                  

                  (2)进行连接测试

                  在终端中进行连接测试:

                  C:\Users\Administrator>sqlplus test/test@ORACLE_DB
                  
                  SQL*Plus: Release 11.2.0.1.0 Production on Fri Aug 23 16:40:04 2019
                  
                  Copyright (c) 1982, 2010
                  Oracle.  All rights reserved.
                  
                  ERROR:
                  ORA-12170: TNS:connect timeout occurred
                  
                  
                  SP2-0751: Unable to connect to Oracle.  Exiting SQL*Plus
                  

                  从结果来看,虽然未能解决ORA-12170错误,但sqlnet.ora中设置了SQLNET.INBOUND_CONNECT_TIMEOUT实际上也是增加了连接超时时间。

                  上一篇:基于@Table注解无法使用及报红的解决 下一篇:Java SSH 秘钥连接mysql数据库的方法

                  相关文章

                    <legend id='v4U8f'><style id='v4U8f'><dir id='v4U8f'><q id='v4U8f'></q></dir></style></legend>
                      <bdo id='v4U8f'></bdo><ul id='v4U8f'></ul>

                    <tfoot id='v4U8f'></tfoot>

                  1. <small id='v4U8f'></small><noframes id='v4U8f'>

                    <i id='v4U8f'><tr id='v4U8f'><dt id='v4U8f'><q id='v4U8f'><span id='v4U8f'><b id='v4U8f'><form id='v4U8f'><ins id='v4U8f'></ins><ul id='v4U8f'></ul><sub id='v4U8f'></sub></form><legend id='v4U8f'></legend><bdo id='v4U8f'><pre id='v4U8f'><center id='v4U8f'></center></pre></bdo></b><th id='v4U8f'></th></span></q></dt></tr></i><div id='v4U8f'><tfoot id='v4U8f'></tfoot><dl id='v4U8f'><fieldset id='v4U8f'></fieldset></dl></div>