Oracle 各类连接超时相关参数学习
warning:
这篇文章距离上次修改已过432天,其中的内容可能已经有所变动。
Oracle数据库中涉及各类连接超时的参数主要有以下几个:
SQLNET.EXPIRE_TIME:这是一个在sqlnet.ora文件中的参数,用于设置服务器端的非活动连接的超时时间。CONNECT_TIMEOUT:这是一个在sqlnet.ora文件中的参数,用于设置客户端与服务器建立连接的超时时间。INBOUND_CONNECT_TIMEOUT:这是一个在监听器的配置文件(通常是listener.ora)中的参数,用于设置服务器监听器等待连接初始化的超时时间。SQLNET.AUTHENTICATION_SERVICES:这是一个在sqlnet.ora文件中的参数,用于设置Oracle的认证方式,如果设置为none,则会导致连接尝试失败,如果设置为all,则会导致连接尝试使用高级认证方式。GLOBAL_DBNAME:这是一个在tnsnames.ora文件中的参数,用于设置TNS名称的全局数据库名称,对应于数据库的全局名称。RECV_TIMEOUT:这是一个在sqlnet.ora文件中的参数,用于设置客户端读取服务器响应的超时时间。SEND_TIMEOUT:这是一个在sqlnet.ora文件中的参数,用于设置客户端发送请求到服务器的超时时间。CONNECTION_TIMEOUT:这是一个在JDBC连接字符串中的参数,用于设置Java应用程序与Oracle数据库建立连接的超时时间。
以下是设置这些参数的示例:
sqlnet.ora 文件中设置超时参数的例子:
SQLNET.EXPIRE_TIME = 10
CONNECT_TIMEOUT = 10
RECV_TIMEOUT = 10
SEND_TIMEOUT = 10listener.ora 文件中设置超时参数的例子:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(INBOUND_CONNECT_TIMEOUT = 3)
)
)JDBC 连接字符串中设置超时参数的例子:
String url = "jdbc:oracle:thin:@//hostname:port/serviceName?connectionTimeout=10";请注意,实际设置这些参数时,需要根据实际的Oracle数据库版本和环境来设置,因为不同版本的Oracle数据库支持的参数可能会有所不同。
评论已关闭