Oracle

Oracle SGA 和 PGA 記憶體組件大小的最佳實踐

  • January 6, 2020

我有一台具有 128GB RAM 的伺服器。我在這里和那裡讀到 SGA + PGA 的大小可以達到 RAM 的 80%。

我想知道這種配置是否有任何最佳實踐可以讓 Oracle 數據庫更好地利用硬體?

還有這種消耗,該伺服器將僅用於為 Oracle 數據庫提供服務。

您使用的是什麼版本的 Oracle?您是否真的分別為 SGA 組件和/或 PGA 設置值?如果是這樣,為什麼?如果您使用的是 Oracle 的最新版本,則起點通常是設置memory_target並讓 Oracle 自動調整各種記憶體組件的大小。當然,除非您有某些理由需要為某些記憶體組件設置最小值。

至於設置什麼memory_target,您只需要為作業系統和需要在機器上執行的任何其他程序(包括您可能正在使用的任何備份管理器、在伺服器上執行的任何監控軟體等)留出足夠的記憶體.) 在我看來,您似乎不太可能需要 128 GB 的 20% 來安裝該軟體。我猜 8 GB 就足夠了,剩下 120 GB 給 Oracle 的memory_target. 通過查看一段時間內伺服器上的實際記憶體使用率,您可以做得比猜測更好。

雖然 AMM 似乎工作正常,但正如其他人指出的那樣,如果您使用的是 Linux,那麼如果您使用 HugePages,您將節省大量記憶體。這意味著您不能使用 AMM。您可以使用 AMM 測試該值,並且對於給定的 SGA/PGA 沒有大頁面,您可以使用 HugePages 和類似的 SGA/PGA 測試相同的值。如果你在 Linux 上並且你的 SGA 大於 10G,那麼 HugePAges 是有意義的。

$:~ > cat /proc/meminfo | grep -i PageTables
PageTables:       282712 kB

引用自:https://dba.stackexchange.com/questions/256733