前端之家收集整理的这篇文章主要介绍了
Oracle 内存参数调整,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
-- 优化Oracle内存结构
-- 优化SGA(System Global Area )
-- SGA = data buffer + 用于存放从数据文件读入的数据块,可以尽可能的大
-- shared_pool_size + 通常设为500M左右,不应超过700M 用于保存数据字典及当前执行的sql语句和存储过程
-- log_buffer + 通常设为512K到1M 用于缓存用户更新的数据,不需太大
-- java_pool_size + 通常设置为16M。
-- large_pool_size 通常设置为是16M-64M
-- 优化PGA (Program Global Area ) 为每个session单独分配
-- sort_area_size 默认64K,通常设置为128K到512K
-- hash_area_size 不做配置,是根据2*sort_area_size计算得到
select name,value/1024||'KB',display_value,isdefault,isses_modifiable,issys_modifiable,isinstance_modifiable,description from v$parameter
where name in ('data buffer','shared_pool_size','log_buffer','java_pool_size','large_pool_size','buffer','sort_area_size','hash_area_size','sga_target','db_cache_size');
-- 对于自动管理的SGA,其部分参数默认值为0,查询真实大小
SELECT pool,sum(bytes)/1024/1024 || 'MB'
FROM v$sgastat
where pool is not null group by pool;
-- 查询系统参数
SHOW PARAMETERS SHARED_POOL_SIZE;
-- 修改系统参数
ALTER SYSTEM SET SHARED_POOL_SIZE='500M' SCOPE=BOTH ;
-- 对于自动内存管理的情况,可以通过创建spfile来手动管理,创建成功后会在database目录下生成<SID>.ora文件
create pfile from spfile;
select component,current_size/1024/1024,min_size/1024/1024,max_size/1024/1024,user_specified_size/1024/1024
from v$sga_dynamic_components where component='shared pool';