oracle池式連線請求超時問題排查步驟

2021-10-07 02:36:18 字數 1621 閱讀 3238

--1、根據資料庫、程序獲取當前oracle資料庫連線session,注意username

select *from v$session where username='ngsoft' and program='w3wp.exe' order by prev_exec_start

--2、列印當前連線數,檢視當前連線池是否超出,oracle連線池可設定1000,注意username

select count(*)from v$session where username='ngsoft' and program='w3wp.exe' order by prev_exec_start

--3、根據sql_id獲取sql語句

select * from v$sql where sql_id='gj82qu4h997uj'

其它常用命令

--查詢資料庫當前程序的連線數:

select count(*) from v$process;

--檢視資料庫當前會話的連線數:

select count(*) from v$session;

--檢視資料庫的併發連線數:

select count(*) from v$session where status='active';

--查詢資料庫允許的最大連線數:

select value from v$parameter where name = 'processes';

--修改資料庫允許的最大連線數:

alter system set processes = 300 scope = spfile;

--檢視當前有哪些使用者正在使用資料:

select osuser,a.username,cpu_time/executions/1000000||'s',sql_fulltext,machine

from v$session a,v$sqlarea b

where a.sql_address = b.address

order by cpu_time/executions desc;

--查詢資料庫當前程序的連線數:host_process_id--w3wp

select count(*),host_process_id from sys.dm_exec_sessions group by host_process_id

select 'dbcc inputbuffer(' +cast(session_id as varchar) +')',session_id,last_request_start_time,login_time,last_request_end_time

from sys.dm_exec_sessions where host_process_id='1360' order by last_request_start_time asc

select * from sys.dm_exec_sessions where host_process_id='5800'

dbcc inputbuffer(51)

連線池鏈結超時

資料庫連線池中的connection在八小時內沒有被用到,則會自動斷開連線,那麼怎麼處理資料庫連線超時的問題?我的 public class connectionfacory public static synchronized connectionfacorygetinstance string ...

CXF 連線超時與請求超時的設定

主要在客戶端呼叫時設定 在編譯 執行是沒問題的,但測試發現如果服務端沒有啟動或網路環境差,cxf會預設等待一定的時間 則有了客戶端呼叫超時的設定 方式 1 在 中設定超時 這是命令生成的類,該類的例項可當成工廠來使用 cxfetcvremindinfoserviceimpl factory new ...

springboot中JDBC連線超時問題

最近專案中有乙個問題,電子保卡資訊要寫入資料庫,但寫入失敗,報錯 息是這樣的 大體意思是上次成功接收報文的時間超過了資料庫超時時間的值,為了解決這個問題,應當增加資料庫的超時時間或者是啟用資料庫自動重連機制。所以我們可以用兩種方法 1 從db層解決問題 增大資料庫連線超時時間 2 從應用層解決問題 ...