您的位置:首页 > 数据库 > Oracle

Oracle 内存参数调整

2016-12-15 23:18 309 查看
-- 优化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