Oracle 内存参数调整

前端之家收集整理的这篇文章主要介绍了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';

猜你在找的Oracle相关文章