ORACLE 内存管理
SGA内存管理方式:创建是可以设定,默认为自动管理
自动:Automatic Shared Memory Management(ASMM)
是否使用自动模式:show parameter sga_target
自动模式下,系统自动分配:Java pool;Large pool;Shared pool;Database buffer cache
如果值为0,手工管理SGA
如果值不为0,系统自动管理,该值为SGA总大小
修改成手工管理:alter system set sga_target=0;
PGA自动管理:系统自动分配SQL work area;SORT_AREA_SIZE被忽略。
内存分配方式:以4M为单位分配
内存建议配置方式:
OLTP (Online Transaction Processing)
OS --> 20%
ORACLE --> 80%
SGA --> 80% ORACLE Memory
PGA --> 20% ORACLE Memory
OLAP (Online Analytical Processing)
OS --> 20%
ORACLE --> 80%
SGA --> 50%
PGA --> 50%
PGA:process (session 启动的时候分配的)
查看:sys/system用户 show parameter pga;
PGA分类:
1. session:session信息;
2. cursor:cursor句柄;
3. private:语句中的变量;
4. work area:排序;join;bitmap index
查看:select * from v$sql_workarea;
具体脚本:select * from v$sql;
SGA:system (数据库启动时候分配的)
查看:sys/system用户 show sga;
SGA分类:Shared pool/Database Buffer Cache / Large pool / Jave pool / Redo buffer / 固定SGA
系统共享池(Shared Pool):提高脚本运行速度
系统共享池(Shared Pool)分类:建议最大设置为1G,再大ORACLE管理能力不够
查看状况:show parameter shared_pool;
1. UGA:shared server 模式时用于管理;
2. Libarary Cache:最近执行的SQL、PL/SQL脚本
查看:select * from v$library_cache_memory
放入方法:
具体信息:select * from v$db_object_cache;
3. Data Dictionary Cache:信息;权限;定义
4. Database Buffer Cache:提高读写速度,用写内存代替写硬盘;
5. Shared_pool_reserver:语句<4k存入library cache;语句>4k存入shared_pool_reserver
查看:show parameter shared_pool_reserver;
Database Buffer Cache 分类:
查看状况:select * from v$buffer_pool / show parameter cache;
1. DB_KEEP_CACHE:数据量小,并需要反复访问。
设置:alter system set db_keep_cache_size=10M;
放入方法:alter table hr.employees storage (buffer_pool keep);
2. DB_CACHE:数据量一般,访问量一般
3. DB_RECYCLE_CACHE:数据量大,访问次数少
设置:alter system set db_recycle_cache_size=10M;
放入方法:alter table hr.employees storage (buffer_pool recycle);
4. nk_block_size_buffer_cache:
设置:alter system set db_16k_cache_size=10M;
Database Buffer Cache 空间状态:
1. free / unused:启动时的状态;
2. clean:从数据文件中读数据;
3. pined:当读出的数据被访问;
4. dirty:对数据做修改或删除操作;
Large pool:提供大内存块,针对RMAN,多线程;不配置,占用shared pool
show parameter large_pool;
Java pool:数据库中JAVA进程使用;升级数据库是需要使用
show parameter java_pool;
Redo buffer:写Online Redo日志;写动作与数据库操作非并行
固定SGA:Oracle自己控制;
Comments
Post a Comment