您好,登錄后才能下訂單哦!
版本說明:
本文檔中相關信息適用于任何平臺
Oracle數據庫企業版11.2.0.3及以上
目的:
本文編寫的目的,提供在RAC每個實例(注意, rac 在整個集群中采用均勻大小的 SGAs)中用戶設置非常大的SGA(例如100GB)的最佳實踐和建議。此文檔是根據 Oracle在全球RAC客戶的經驗進行編譯和維護的。
本文檔不能取代Oracle 文檔集,而是作為是一個補充。對Oracle文檔的閱讀、理解以及參考是必須的,以便為本說明未明確解決的任何問題提供答案。
所有建議都應由您自己的運行小組仔細審閱, 并且只有在經過潛在收益與相關風險評估后才應執行。風險評估只能通過對系統、應用程序和業務環境的詳細了解下進行。
由于每個客戶環境都是唯一的, 因此任何 oracle 數據庫實現 (包括 oracle rac 的實現) 的成功都取決于成功的測試環境。oracle 支持已確定 100 gb 作為大的基線, 這將受益于本說明中提供的建議。然而, 這僅僅是一個基線, 小的SGAs(較小的)也受益于這些建議。因此, 本說明中的任何建議都必須使用一個測試環境進行徹底的測試和驗證, 這是在生產環境中實施之前的一個生產環境的副本, 以確保與所提建議沒有負面影響。
范圍:
本文適用于所有新的和現有的RAC的實現。
只適用于RAC數據庫,因為這里列出的大多數參數僅用于RAC數據庫。
描述:
注意, 本說明中提出的建議是在使用SGA為1TB和2.6TB的數據庫方面經驗的結果。
同時, SGA為100GB和300GB的數據庫也受益于這些建議
初始參數:
a、 設置參數 _lm_sync_timeout為1200
設置這個參數是防止重構時和DRM超時,它是一個靜態參數,支持滾動重啟。
b、 設置參數 _ksmg_granule_size 為134217728
設置此項將減少查找數據塊的資源所需的時間。它是一個靜態參數, 支持滾動重啟。
c、 設置shared_pool_size 為 總SGA大小的15%或者更大
例如,如果SGA大小為1TB,這個共享池大小應該至少為150GB。這是一個動態參數。
d、 設置參數 _gc_policy_minimum為15000
如果DRM通過參數setting _gc_policy_time=0禁用,這個參數是不需要設置的。_gc_policy_minimum 為動態參數,_gc_policy_time參數是靜態參數,不支持滾動重啟設置。禁用DRM,這個參數可以動態設置,來替代_gc_policy_time,_lm_drm_disable 。
e、 設置參數 _lm_tickets為5000
默認值為1000,為避免在重新配置期間出現問題分配更多的tickets(用戶發送信息)。它是一個靜態參數,支持滾動重啟,當增加這個參數值時支持滾動重啟,但是在減少時,需要冷啟動。
f、 設置參數gcs_server_processes為分配的lms進程默認值的兩倍
LMS進程的默認數量取決于服務器擁有的CPUs(內核)的數量。因此,請參考Oracle數據庫參考指南中初始化參數部分的gcs_server_processes。確認服務器的lms進程的默認數量,請確保服務器上的所有數據庫的lms進程總數少于服務器上的CPUs(內核)總數。可以參考文檔558185.1,它是一個靜態參數,支持滾動重啟。
附:gcs_server_processes默認值算法(參考Oracle11gR2 參考指南)
如果CPUs數為1-3,默認值為1
如果CPUs數為4-15,默認值為2
如果CPUs數大于16,算法為2+(CPUs/32),如果結果包括分數,忽略。例如,CPUs為20,然后就是2+(20/32),就等于2個GCS進程。如果CLUSTER_DATABASE等于false,值為0。如果ASM,值為1。 參數范圍1-36。
Oracle RAC 多個實例可以設置不同的值。
推薦一下補丁:
11.2.0.3.5 DB PSU或者更高版本,建議解決已知大SGA大小的問題。
在Linux系統中SGA大約4TB, 以下bug
BUG 18780342 - LINUX SUPPORT FOR > 4TB SGA
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。