資料庫負載過高的處理

2021-04-18 00:20:49 字數 700 閱讀 7533

1. 使用system使用者登入oracle

2. 執行:select sid,event,p1,p1text from v$session_wait where event not like 'sql*net%';

3. 檢視結果中是否存在大量db file scattered read及db file sequential read等待.

4. 如果存在,使用 select sql_text from v$sqltext a where a.hash_value = (select sql_hash_value from v$session b where b.sid = '48') order by piece asc; (根據上面的查詢替換這裡的sid); 檢視對應的sql語句內容,拷貝出來,以便進行sql語句優化.

5. 如果這個sql語句不是很關鍵的,或者必須要先降低oracle負載,需要kill掉這個語句的執行。

6. 先執行: select a.username, a.sid, a.serial#, a.lockwait,a.status, a.last_call_et,a.program from v$session a where a.sid=48(根據上面的查詢替換這裡的sid); 找出對應的serial#,然後執行: alter system kill session 'sid,serial#'; 如:alter system kill session '21,1';

oracle資料庫的負載

資料庫作為資料持久化的倉庫,在整個應用程式架構中異常重要,傳統的應用程式構建 應用程式 資料庫,在程式執行期,應用程式與資料庫的互動,通過連線實現,如果應用程式高併發的連線資料庫,此時構成了資料庫的負載,負載的概念應該從量化計算的角度進行說明 活動連線數 秒 每秒的資料庫活動連線數 平均處理時長 連...

資料庫負載監控

當資料庫負載高時,你應該從下面四個方面入手 i ocpu 記憶體網路 同時很多時候你需要確定你的負載時那方面引起的,系統的還是使用者應用的 使用者的負載監控很簡單,你直接可以看到負載高的應用,跟蹤指標有 每秒查詢數 監控方式 磁碟使用率統計命令 iostat,裡面可以檢視 iowait cpu空閒,...

資料庫鏈結數過高引起的問題

某個業務有多台伺服器,同時連線資料庫a和資料庫b,當資料庫a出現了問題,導致連線資料庫或者資料庫操作變慢php執行程式的時間變長,而此時仍然有許多鏈結來訪問伺服器,造成等待執行的php程式佇列越來越多。php fastcgi程序數已經不夠用了,同伺服器上的其他php執行也會變得很慢,另外就是php程...