首页 > 代码库 > Oracle 内存管理
Oracle 内存管理
--内存分配
建库时可以先分配系统内存的50%-80%给Oracle,后期根据业务再进行调整。
SGA、PGA分配比例:
OLTP:SGA %80 , PGA %20
OLAP:SGA %50 , PGA %50
混合:SGA %60 , PGA %40
--sga自动管理
statistics_level 值设置为 typical 或 all,启动 sga 自动管理。
给定 sga_target 一个总的数值。
--sga手动管理
设置 sga_target=0 ,设置相关组件大小:
java_pool_size
large_pool_size
shared_pool_size
streams_pool_size
db_cache_size
log_buffer --貌似不能直接设置,要用pfile设置
SQL> alter system set sga_target=0 scope=spfile;
System altered.
SQL> alter system set java_pool_size=4M scope=spfile;
System altered.
SQL> alter system set large_pool_size=4M scope=spfile;
System altered.
SQL> alter system set shared_pool_size=136M scope=spfile;
System altered.
SQL> alter system set db_cache_size=352M scope=spfile;
System altered.
关闭并重启数据库
--pga自动管理
workarea_size_policy 值设置为 auto 时,启用 pga 自动管理
给定 pga_aggregate_target 一个总的数值
oracle 11g两个参数
memory_target 用户自动内存管理(sga和pga)
memory_max_size 自动内存管理时候的一个目标值,实际可能超出该值
Oracle 内存管理