連接資料庫超時
1. 資料庫連接超時的問題
超時設置增加
Connect
Timeout=30
30的單位是秒
2. 資料庫等待連接超時問題
用連接池,超過最大空閑時間,會自動收回到池子里,等待調用
3. 如何修改資料庫連接超時設置
在你的oracle伺服器的
$ORACLE_HOME/network/admin
中的
sqlnet.ora中設置參數SQLNET.EXPIRE_TIME=
n
n為一個指定的分鍾數
當客戶端中斷,在
n
分鍾內就可以自動斷開連接。
4. thinkpphp3.1.3 rabbitmq 消費時 長時間不用 資料庫連接超時2006:MySQL server has gone away 咋怎
1.由於資料庫設計問題造成SQL資料庫新增數據時超時
症狀:
Microsoft OLE DB Provider for SQL Server 錯誤 '80040e31' ([ODBC SQL Server Driver]超時已過期);
伺服器上看CPU、內存佔用率很低;
事件日誌中提示: 資料庫 '*********' 中文件 '***********' 的自動增長在 453 毫秒後已取消或出現超時。使用 ALTER DATABASE 設置更小的 FILEGROWTH 或設置新的大小。
原因:
資料庫設置時,[文件增長]按百分比來增長,當資料庫文件很大時(1G以上),新增操作都會報超時,而這時候其實CPU、內存佔用率都非常非常的低。
解決方法:
把上述的文件增長這里設置為一個更低的百分比或者直接指定增加多少兆位元組。
2.SQL Server資料庫超時設置
修改客戶端的連接超時設置。默認情況下,通過企業管理器注冊另外一台SQL Server的超時設置是 4 秒,而查詢分析器是 15 秒。
企業管理器中的設置:
在企業管理器中,選擇菜單上的"工具",再選擇"選項";
在彈出的"SQL Server企業管理器屬性"窗口中,點擊"高級"選項卡;
在"連接設置"下的"登錄超時(秒)"右邊的框中輸入一個比較大的數字,如 30。
查詢分析器中的設置:
單擊「工具」->"選項"->"連接"; 將登錄超時設置為一個較大的數字,連接超時改為0。
3.查詢語句時超時
原因分析:
查詢超時一般來說首先要從sql語句和數據表的結構上找原因,優化sql語句和為資料庫的查詢欄位建索引是最常用的辦法。
另外,資料庫的查詢超時設置一般是sqlserver自己維護的(在你沒有修改query wait配置前),只有當你的實際查詢時間超過估計查詢時間的25倍時,才會超時。
而造成超出估計值那麼多的原因有兩種可能:
估計時間不準確;
sql語句涉及到大量佔用內存的查詢(如排序和哈希操作),內存不夠,需要排隊等待資源造成的。
解決辦法:
優化語句,創建\使用合適的索引;
解決第一個問題的方法,更新要查詢表的索引分發統計,保證估計時間的正確性,UPDATE STATISTICS 表名;
增加內存
如果想手動設置查詢超時,可以使用以下語句:
sp_configure 'show advanced options', 1 GO RECONFIGURE GO sp_configure 'query wait', 2147483647 GO RECONFIGURE GO
4.應用程序連接失敗
故障:
在應用程序中我們也會遇到類似的錯誤信息,例如:
Microsoft OLE DB Provider for ODBC Drivers 錯誤 '80004005'. [Microsoft][ODBC SQL Server Driver]超時已過期.
解決方法:
A.如果遇到連接超時的錯誤,我們可以在程序中修改 Connection 對象的超時設置,再打開該連接。例如:
<%Set Conn = Server.CreateObject("ADODB.Connection")DSNtest="DRIVER={SQL Server};SERVER=ServerName;UID=USER;PWD=password;DATABASE=mydatabase"Conn. Properties("Connect Timeout") = 15 '以秒為單位Conn.open DSNtest%>
B. 如果遇到查詢超時的錯誤,我們可以在程序中修改 Recordset 對象的超時設置,再打開結果集。例如:
Dim cn As New ADODB.ConnectionDim rs As ADODB.Recordset. . . cmd1 = txtQuery.TextSet rs = New ADODB.Recordsetrs.Properties("Command Time Out") = 300'同樣以秒為單位,如果設置為 0 表示無限制rs.Open cmd1, cnrs.MoveFirst. . .
另外,一些硬體及網路方面的原因也可能造成SQL資料庫連接超時.
5. druid 連接資料庫超時怎麼配置
Druid連接池及監控在Spring配置如下:
[html] view plain
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<!-- 基本屬性 url、user、password -->
<property name="url" value="${jdbc_url}" />
<property name="username" value="${jdbc_user}" />
<property name="password" value="${jdbc_password}" />
<!-- 配置初始化大小、最小、最大 -->
<property name="initialSize" value="1" />
<property name="minIdle" value="1" />
<property name="maxActive" value="20" />
<!-- 配置獲取連接等待超時的時間 -->
<property name="maxWait" value="60000" />
<!-- 配置間隔多久才進行一次檢測,檢測需要關閉的空閑連接,單位是毫秒 -->
<property name="timeBetweenEvictionRunsMillis" value="60000" />
<!-- 配置一個連接在池中最小生存的時間,單位是毫秒 -->
<property name="minEvictableIdleTimeMillis" value="300000" />
<property name="validationQuery" value="SELECT 'x'" />
<property name="testWhileIdle" value="true" />
<property name="testOnBorrow" value="false" />
<property name="testOnReturn" value="false" />
<!-- 打開PSCache,並且指定每個連接上PSCache的大小 -->
<property name="poolPreparedStatements" value="true" />
<property name="" value="20" />
<!-- 配置監控統計攔截的filters,去掉後監控界面sql無法統計 -->
<property name="filters" value="stat" />
</bean>
2. 只要配置initialSize,maxActive就可以,目前這樣的配置已經能夠使用連接池,加入其實配置性能不好,官方文檔里也不沒加其它屬性,連接池jar包免費下載。
6. 為什麼資料庫連接超時
老大.你那數據量太大了...這個要是想不超時的話.得從系統結構上重新考慮...盡可能重新有效的規劃你要查的表的PK.並在查詢中利用PK做查詢的條件開頭~~~否則你的數據量太大....IO要花很久的.有可能的話盡量要把磁碟的性能提升上來.RAID5...表內一行的數據量盡可能控制在比較小的尺寸..不行的話就考慮水平(分區表)或是垂直對表進行劃分.用PK關聯
7. oracle鏈接超時問題,應該怎麼設置
設置ORACLE的會話連接超時:
1、profile的idle_time限制
oracle用戶的配置文件的密碼策略是實時生效的,所見即所得。但是用戶配置文件的資源限制是由resource_limit參數決定的。
單位是分鍾,默認沒記錯的話應該是10分鍾
要是修改的資源生效,需要設置resource_limit設置為true
alter system set resource_limit=true ;
如果在idle的時間內用戶沒有執行任何操作,會提示ORA-02396:exceeded maximum idle time, please connect again
2、profile的connect_time限制
默認是UNLIMITED,單位是分鍾
用戶在到達設置的時候後,不可以在繼續操作,會提示ORA-02399: exceeded maximum connect time, you are being logged off
如果是設置1分鍾,他會在將近2分鍾的時候提醒你重新登錄。
3、sqlnet的expire_time限制:
expire_time主要是在指定的時間去探測客戶端是否可以連通,如果可以的話重新計時,否則就會斷開
在執行rman的時候遇見:ORA-03135: connection lost contact,可以嘗試將此值設置大些。(ID 729811.1)
4、sqlnet的inbound_connect_timieout_listener_name限制
單位是秒,默認值是60
8. mysql連接超時可能會有哪些原因
原因分析:
(1)大量數據訪問情況下,mysql connection連接有可能失效
(2)長時間不妨問,connection會失效
關於MySQL的wait_timeout連接超時問題報錯解決方案
Mysql伺服器默認的「wait_timeout」是8小時【也就是默認的值默認是28800秒】,也就是說一個connection空閑超過8個小時,Mysql將自動斷開該connection,通俗的講就是一個連接在8小時內沒有活動,就會自動斷開該連接。 wait timeout的值可以設定,但最多隻能是2147483,不能再大了。也就是約24.85天
所以即使你MySQL通過my.ini 在
# The TCP/IP Port the MySQL Server will listen on port=3306下面添加
# this is myown dinifition for mysql connection timeout wait_timeout=31536000
interactive_timeout=31536000
無論超過最大限度多大的數值,只能被MySQL解析為2147483,2147483天後你的程序該出什麼錯還是什麼錯,避免不了
9. sql 資料庫連接超時
原因分析:
查詢超時一般來說首先要從sql語句和數據表的結構上找原因,優化sql語句和為資料庫的查詢欄位建索引是最常用的辦法。
另外,資料庫的查詢超時設置一般是sqlserver自己維護的(在你沒有修改query wait配置前),只有當你的實際查詢時間超過估計查詢時間的25倍時,才會超時。
而造成超出估計值那麼多的原因有兩種可能:
一是估計時間不準確;
二是sql語句涉及到大量佔用內存的查詢(如排序和哈希操作),內存不夠,需要排隊等待資源造成的。
解決辦法:
A.優化語句,創建/使用合適的索引;
B.解決第一個問題的方法,更新要查詢表的索引分發統計,保證估計時間的正確性,UPDATE STATISTICS 表名;
C.增加內存
如果想手動設置查詢超時,可以使用以下語句:
sp_configure 'show advanced options', 1 GO RECONFIGURE GO sp_configure 'query wait', 2147483647 GO RECONFIGURE GO
10. java連接mysql資料庫超時的問題誰遇到過
推測你指的是mysql伺服器的超時吧。默認情況8小時無訪問mysql會斷開連接。通過改配置文件可以改變這個值,但是實際測試效果不好。
mysql方面不好解決就在client端想辦法,大多數鏈接池可以配置在取得鏈接時檢測可用性(據說c3p0連接池可以自動解決,我用的dbcp需要配置),比如ibatis可以在datasource配置加上<property
name="validationQuery"
value="select
1
from
al"/>
<property
name="testOnBorrow"
value="true"/>