官术网_书友最值得收藏!

2.4.2 優化設置讓RAC數據庫高效運行

下面提供一些方法、提示和技巧,來更優化地配置Exadata和RAC,讓數據庫更高效運行。將Oracle數據庫和模式(schema)中相似的問題分類分組,以相同主題的形式來討論。

●當前版本

確保Exadata一體機軟件的當前使用版本,跟Oracle最新發布的版本和補丁集保持一致。對Exadata/RAC安全或穩定性存在威脅的潛在bug所謂潛在bug,是指別的用戶已經遇到了,你運氣好暫時還沒遇到。——譯者注,在最新的補丁、補丁集和版本中都會被解決掉。

Oracle技術支持文檔(ID 888828.1)中包含了Exadata所有層面:數據庫、存儲器、網絡等的版本和補丁的完整列表。

●ORAchk和Exachk

應定期運行Exachk(Oracle公司推薦的健康檢查工具),檢查你所有的Exadata一體機的健康狀況。Exachk可以從Oracle技術支持文檔(ID 1070954.1)上去下載。ORAchk(技術支持文檔(ID 1268927.2))是Oracle公司提供的一個全新健康檢查工具,其中包含了Exachk要做的檢查內容,建議定期運行,主動去發現問題,當然也可以在問題發生后運行,以便做出一個整體的問題診斷方案。關于ORAchk,在本章后續部分會有更詳細的說明。

●有效的資源管理

在數據庫計算層和存儲層配置和使用Oracle的資源管理器,有效地管理各種資源、平衡各種資源、調校各種資源,這對Exadata維護來說是很重要的。在這一塊,主要涉及兩項技術,分別是Oracle DBRM(Database Resource Manager,Oracle數據庫資源管理器)和IORM(I/O Resource Manager,資源管理器)。

資源管理技術將數據庫用戶使用的系統資源分組管理并加以限制,這樣能更高效地管理系統資源。使用資源管理技術,可防止Oracle應用程序、查詢和用戶訪問因為占用了過多的系統資源,導致整個系統范圍的故障。

●CPU和內存管理

有足夠數量的CPU和內存,并對它們加以資源限制,是在Exadata上搭建RAC集群數據庫的一種合理的、久經時間考驗的策略。這種策略可確保應用程序的工作負載處于一個可控的穩定狀態,防止在RAC環境里出現類似節點驅逐和裂腦(splite-brain)這樣的致命問題出現。

實例囚籠(instance caging)是一種由CPU_COUNT參數實現的機制,限制Oracle RAC數據庫使用CPU的數量。從另一個角度來說,設置不正確的CPU_COUNT或者實際可用的個數少于參數設置,會導致數據庫出現RESMGR:CPU類型的等待事件。要確保給予Oracle RAC數據庫實例足夠的CPU數量,盡量避免出現這類等待事件。

在多租戶的RAC環境中對內存消耗設置了限制時,應當開啟和配置AMM(Automatic Memory Management,自動內存管理功能),確保RAC數據庫實例能充分利用內存。

在Linux環境下,AMM與Hugepages不兼容,在使用AMM時一定要考慮到這個問題。也就是說,在Exadata環境下,建議使用ASMM(Automatic Shared Memory Management,自動共享內存管理)來替代AMM。下面列出兩篇這方面的文章供讀者進一步了解這個話題的更詳細內容,文章來源于Oracle技術支持網站(MOS):

●ID 749851.1:《HugePages and Oracle Database 11g Automatic Memory Management(AMM)on Linux》

●ID 1134002.1:《ASMM versus AMM and Linux x86-64 HugePages Support》

●殺毒軟件

殺毒軟件不能運行在RAC/Exadata節點上,它對Oracle RAC進程的內部運行會造成致命影響,最終導致節點驅逐。

●第三方監控工具和腳本

盡量不要安裝第三方監控工具和腳本,這些內容有干擾Exadata或RAC內部運行機制的潛在機會和可能性。Oracle禁止把這些工具安裝在存儲節點上。

●調優RAC參數

在Exadata上配置RAC初始化參數文件init.ora里的參數時要特別謹慎。例如,為IMS_PROCESSES參數分配過大的值會消耗過多的CPU,進而導致集群變得不穩定。請參閱Oracle技術支持文檔《Auto-Adjustment of LMS Process Priority in Oracle RAC with v11.2.0.3 and Later》(ID 1392248.1)。

●分區和并行

接下來要介紹的是在RAC和Exadata集群環境中,采用分而治之的方法來實現極致性能,在這方面分區和并行缺一不可。

在Oracle里開啟自動并行功能(多線程)來執行,一個極好而又省事的方法是設置ADP(Automatic Degree of Parallelism,自動并行度),將PARALLEL_DEGREE_POLICY設置為AUTO即可。

這是Oracle 11gR2中才發布的一個功能強大的特性。然而,要注意的是必須正確地使用這一特性,用最優化的方式配置parallel_相關參數,才能確保它們不會對系統整體性能產生負面影響。例如,將參數PARALLEL_MAX_SERVERS設置為很高的值,有可能耗光系統內存,導致節點反應遲鈍,最終被逐出群集。它們通常與資源管理器一起使用,這樣可以避免會話過度啟用并行子進程。

在RAC環境或Exadata環境里,對大型數據對象做分區從而達到必需的性能是極為重要的。分區和并行經常互為補充,可以減少系統整體的CPU和內存消耗,實現最佳性能,并確保系統穩定運行。

主站蜘蛛池模板: 临桂县| 呼和浩特市| 永福县| 武义县| 海伦市| 和硕县| 闽清县| 礼泉县| 西平县| 庄河市| 远安县| 墨脱县| 长子县| 菏泽市| 丽江市| 抚远县| 乌什县| 龙口市| 安顺市| 和硕县| 礼泉县| 隆安县| 象州县| 怀化市| 青神县| 简阳市| 镇安县| 甘肃省| 荥经县| 文化| 乌什县| 清新县| 原阳县| 建平县| 长阳| 周宁县| 富裕县| 祁连县| 绵竹市| 沂水县| 买车|