❶ 資料庫宕機怎麼解決
a、是否是應用程序導致內存溢出或者泄露,out of memory導致
b、是否是進程過多或者不斷創建,耗盡資源導致
c、是否是資料庫程序死鎖,連接數過多導致
d、是否是應用程序異常導致
e、是否是流量負載過大導致
f、 是否是遭受黑客入侵攻擊導致
g、是否是誤操作導致
❷ oracle資料庫服務宕機可能是什麼原因造成的
原因很多,內部原因外部原因都有可能。
外部原因:比如伺服器宕機,系統錯誤,溫度過高宕機(比如機房空調壞了),臨時斷電,內存錯誤等等這些都有可能,電壓不足等等。
內部原因:比較常見的有undo文件損壞,數據文件錯誤(遇到過一次,最後用補0的方法擴大了數據文件才好,不過現在用asm存儲,這個應該不怎麼可能了),時間調整錯誤(向後調,改動時間過長,比如00:00改為01:00,那麼就兩個情況都占,未必一定宕機,不過可能性很大),核心進程錯誤(這個比較少見,不過真的有,有時是有人誤殺了),程序錯誤導致(見過一個因為某程序錯誤,導致鎖表,而後鎖表導致某進程一直佔用內存,後來的進程根本進不了該表,然後越滾越大最後宕機,還是後來查出來的,相當於蝴蝶扇翅膀變成颶風,所以有錯誤要及時發現才行),存儲錯誤,io爭用(持續時間長)等等。
這么說吧,很多的ora錯誤都可能引起宕機(並不是全部ora錯誤都會引起宕機),真要說的話要很長時間,如果想不宕機那麼就要有監測檢查制度,早發現早解決,也就不會有什麼問題了。
❸ 什麼樣的情況下資料庫會宕機
如果獲得連接的方式中包含"自動嘗試連接"屬性,就會出現這種情況.因為查找資料庫連接的消耗是除網路IO外的最大誘因,包括連接串或者程序中的程序設置連接次數,都會造成線程的堵塞.
另,也與異常的處理方式有很大關系,不論是driverManager獲取或者數據源獲取連接,在未能獲取連接時的異常處理將會影響後面的進程.
在was中,若使用數據源,那還有一個原因就是應用伺服器的連接池機制本身.因為用戶應用的連接實際上取的是連接池中的連接而非物理連接,連接池有自身的一套處理機制,在獲得緩沖的同時,也會在資料庫和用戶應用之間造成一定的時間差和狀態差.因此,可能的情況是資料庫實際上已經拒絕服務(含堵塞/停止等),而應用伺服器連接池中的某些連接仍可用,這時候,pool的處理和應用的處理的消耗就造成了應用伺服器的堵塞.對於這種情況的處理,只有依據實際情況對數據源和資料庫的參數進行調整.
❹ 如何解決或降低緩存服務的單點故障導致資料庫的流量井噴
像Facebook、開心001、人人網、優酷、豆瓣、淘寶等高流量、高並發的網站,單點資料庫很難支撐得住,WEB2.0類型的網站中使用MySQL的居多,要麼用MySQL自帶的MySQL NDB Cluster(MySQL5.0及以上版本支持MySQL NDB Cluster功能),或者用MySQL自帶的分區功能(MySQL5.1及以上版本支持分區功能),我所知道的使用這兩種方案的很少,一般使用主從復制,再加上MySQL Proxy實現負載均衡、讀寫分離等功能,在使用主從復制的基礎上,再使用垂直切分及水平切分;或者不使用主從復制,完全使用垂直切分加上水平切分再加上類似Memcached的系統也可以解決問題。
❺ Java中怎麼把資料庫中的表做成定時任務,存入緩存,減輕頻繁直查資料庫時,資料庫的壓力
根據你的想法,建議將兩種方式整合下,建議如下設置:
接根據業務層的需要,把頻繁使用的多個表數據進行整合,並利用視圖的方式進行訪問,這樣既能減少數據表的壓力,也能保持數據的准確性;
根據向系統設定場景,將經常使用到的數據存放在緩存中,緩存建議使用radis等非關系型資料庫;
根據數據量確定,數據量比較大的,可以使用中間表等方式,如果數據量小而多的,放在緩存中最好,提高命中率。
❻ 怎麼減輕網站資料庫的壓力
fikker 讓網站響應加速 10 倍以上, 減少資料庫壓力 90% 以上:
頁面緩存:目前網上的大部分頁面都是由網站程序動態生成的,例如 ASP,PHP,JSP等頁面都是網站動態生成的,這種頁面在被生成的時候,大部分都會讀取資料庫,在訪問量比較小的時候,資料庫尚可勝任,在訪問量較大的時候,資料庫就會嚴重延遲甚至不堪重負。因為資料庫的大部分數據存放在硬碟上的,並且硬碟數據交換的能力相對於內存來說是極低的(相差10倍以上),所以當資料庫頻繁讀取硬碟數據的時候,網站系統的負載能力便會大大降低,硬碟IO就成為了網站響應速度的瓶頸。Fikker 提供了動態頁面緩存能力,對於頻繁讀取的動態頁面,可以將其緩存在 Fikker 頁面緩存中,當瀏覽器訪問的時候,就不再需要網站程序重新讀取資料庫和重新編譯頁面,系統的吞吐能力大大的提高,極大的抵消了頻繁讀取資料庫帶來的瓶頸,網站的響應速度會有 10 倍以上的提升。加速舉例:一個熱門商品或熱點新聞頁面,1分鍾內有1萬次的訪問量,如果這些頁面都由網站生成,就會讀取1萬次資料庫並重復生成1萬個的頁面;如果 Fikker 將這個頁面緩存1分鍾,一分鍾內只會讀取1次資料庫並生成1次頁面,網站和資料庫的負荷就會大大的降低(10倍以上),所以越是負荷較大的網站,加速效果感覺上越明顯。
壓縮傳輸:絕大部分基於文本的頁面(asp, php, jsp, html, js, css, txt等)進行 gzip/compress/deflate 壓縮以後,相對於非壓縮頁面會減少大約75%的尺寸。例如:一個100K位元組的頁面,壓縮以後大約在20K - 25K位元組左右,如果這種壓縮過的頁面被緩存後再傳輸,會顯著的提升傳輸效率,加快網頁傳輸載入的速度,而且還很經濟(減少了帶寬支出)。Fikker 內置了 gzip 頁面壓縮功能,既減少了內存的佔用,提升了傳輸效率,又降低了帶寬的佔用。
❼ 宕機的原因有哪幾種 資料庫的長連接
在項目中嘗試使用了幾種開源的資料庫連接池實現。一種是dbcp,一種是c3p0,還有一種是proxool,這幾種資料庫連接池都可以很容易的在Spring配置起來。性能總體上上感覺dbcp為最優,因為穩定性和並發性都是我的項目需要的。