Oracle
如何增加 Oracle 數據庫的記憶體?
我需要臨時增加 Oracle 數據庫的記憶體。我應該考慮哪些步驟?
甲骨文 12c
SHOW PARAMETER TARGET:
archive_lag_target 整數 0 db_big_table_cache_percent_target 字元串 0 db_flashback_retention_target 整數 1440 fast_start_io_target 整數 0 fast_start_mttr_target 整數 0 memory_max_target 大整數 20032M memory_target 大整數 19008M parallel_servers_target 整數 192 pga_aggregate_target 大整數 3258M sga_target 大整數 9792M
我嘗試了以下方法:
SQL> create pfile from spfile; Datei erstellt. /* To make sure I always can go back by booting with pfile */ SQL> ALTER SYSTEM SET MEMORY_MAX_TARGET= 27000m SCOPE=SPFILE; /*MEMORY_MAX_TARGET is static (SCOPE can only be SPFILE) and needs to by higher than the MEMORY_TARGET otherwise database will not boot */ SQL> ALTER SYSTEM SET MEMORY_TARGET= 24000m SCOPE=MEMORY; /*Is dynamic and can be changed within the definded MEMORY_MAX_TARGET */ SQL> ALTER SYSTEM SET sga_target=0 SCOPE=MEMORY; /*Set SGA to auto*/ SQL> ALTER SYSTEM SET pga_aggregate_target=0 SCOPE=MEMORY; /*Set PGA to auto*/ SQL> SHOW PARAMETER TARGET NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ archive_lag_target integer 0 db_big_table_cache_percent_target string 0 db_flashback_retention_target integer 1440 fast_start_io_target integer 0 fast_start_mttr_target integer 0 memory_max_target big integer 27008M memory_target big integer 24000M parallel_servers_target integer 192 pga_aggregate_target big integer 0 sga_target big integer 0
如果更改不應該是暫時的,我也可以使用 SCOPE=BOTH 來編輯 spfile。
您擁有的記憶體的最大限制取決於您的伺服器擁有多少物理記憶體、是 32 位還是 64 位以及您使用的作業系統。例如,對於 32 位 Windows,限制可能是 2GB 的 RAM,具體取決於您使用的 Windows 伺服器的版本以及您是否設置了允許您使用最多 3GB 或 RAM 的特定標誌。如果您使用的是較新的 64 位作業系統,那麼您對 SGA 的大小沒有實際限制。它只取決於物理記憶體的數量。所以您應該提供以下資訊:32 位/64 位、作業系統和版本、硬體類型(包括晶片組)。