li
  当前位置:主页 > 配置管理 > 文章内容
li
如何使用"Automatic SGA Management"
来源: www.ixdba.net  作者: IXDBA.NET官方    时间:2008-05-14   阅读:9  
本文章共1914字,分2页,当前第1页,快速翻页:
 

  Automatic SGA Management 是 10G 引入的新特性之一,将初始化参数文件中与内存管理密切有关的几个参数抽取出来,交由数据库去自行管理(由新增加的参数SGA_TARGET来管理),在一定程序上能减轻DBA的负担.
  
  至于参数的合理性,还需要结合AWR Report 去验证.
  SGA_TARGET = db_cache_size + db_nk_cache_size(n=2,4,...)
  + db_keep_cache_size + db_recycle_cache_size +
  shared_pool_size + java_pool_size + large_pool_size + xxxx
  
  xxx: 是一个保留值,从目前的实验来看,基本是4M
  
  步骤:
  1.
  alter system set sga_target=300m scope=both
  create pfile from spfile;
  shutdown immediate;
  
  修改init.ora 文件,将这些参数的值设成0:
  db_cache_size, shared_pool_size, java_pool_size,large_pool_size
  
  2. 启动SQLPLUS,以新的pfile文件启动数据库
  SQL> startup pfile='....'
  
  让我们来看看调整的结果:
  SQL> select name, block_size, current_size from v$buffer_pool;
  name block_size current_size
  
  KEEP 8192 204
  SQL> Select pool, sum(bytes)/1024/1024 as "M bytes" from v$SGASTAT
  group by pool;
  pool M bytes
  
  java pool 4
  
  large pool 4
  
  shared pool 84
  
  205.002403
  205.002403=buffer cache + log buffer + fixed sga + all others ...
  
  改动java pool的值
  SQL> alter system set java_pool_size=20M;
  
  SQL> select name, block_size, current_size,prev_size from v$buffer_pool;
  name block_size current_size prev_size
  
  KEEP 8192 188 204
  SQL> Select pool, sum(bytes)/1024/1024 as "M bytes" from v$SGASTAT
  group by pool;
  pool M bytes
  
  java pool 20
  
  large pool 4
  
  shared pool 84
  
  189.002403
  
  可以看出, db_cache_size的值已经被自动调小了.
  
  再把java pool 的值改回去
  SQL> alter system set java_pool_size=8M;
  SQL> select name, block_size, current_size,prev_size from v$buffer_pool;
  
  name block_size current_size prev_size
  
  KEEP 8192 188 204
  
  SQL> select name, block_size, current_size,prev_size from v$buffer_pool;
  
  pool M bytes
  
  java pool 20
  large pool 4
  shared pool 84
  189.002403
  
  这一次, db_cache_size的值没有变化 , JAVA_POOL_SIZE的值也没有变化
  
  修改large pool的值为16M
  SQL> alter system set large_pool_size=16M;
  System altered.
  
  SQL> select name,block_size,current_size,prev_size from v$buffer_pool;
  
  NAME BLOCK_SIZE CURRENT_SIZE PREV_SIZE
  
  DEFAULT 8192 176 188
  
  SQL> Select pool, sum(bytes)/1024/1024 as "M bytes" from v$sgastat group by pool;
  
  POOL M bytes
  
  java pool 20
  large pool 16
  shared pool 84
  177.002403
  
  这次,db_cache_size和large_pool_size的值都变了
  
  同样,调大shared_pool_size后, db_cache_size会自动减小.
  
  虽然db_nk_cache_size的值不会随着workload 的改变而自动调整, 我们还是可以看看手工改动db_nk_block_size 的情况
  SQL> alter system set db_2k_cache_size=4m;


阅读更多内容1 · 2 · 下一页>>


  上一篇: 查找引起死锁的操作解决死锁问题   下一篇: 怎样修改 DB Control 的服务端口
li
 §相关评论  
 热点文章

·oracle Logfile的不同状态说明
·Oracle数据库的一些常用操作经
·Oracle10g(10.2) 在Redhat AS4
·oracle工具:浅谈LogMiner的使用
·RHAD AS4 上安装 Oracle 数据库
·oracle基础知识(物理结构)
·oracle基础:Oracle中null的使用
·Oracle常用基本语法操作集锦
·oracle数据库查询前台正在发出
·AIX+ORACLE10G安装手册
·oracle数据库9i升级到oracle10
li
 编辑推荐
·oracle Logfile的不同状态说明
·Oracle数据库的一些常用操作经
·Oracle10g(10.2) 在Redhat AS4
·oracle工具:浅谈LogMiner的使用
·RHAD AS4 上安装 Oracle 数据库
·oracle基础知识(物理结构)
·oracle基础:Oracle中null的使用
·Oracle常用基本语法操作集锦
·oracle数据库查询前台正在发出
·AIX+ORACLE10G安装手册
·oracle数据库9i升级到oracle10
li
 相关篇章
·查找引起死锁的操作解决死锁问题
·oracle 日志文件"alert log"过大...
·oracle dba与系统管理员的共同点...
·与操作系统相关的oracle知识问答
·Oracle数据库 ASM功能简介
·如何升级oracle10.2.0到oracle 1...
·将ORACLE数据库的数据倒入到EXCE...
·UNIX裸设备和文件系统之间移动OR...
·Oracle常用网址,欢迎各位网友补...
·Oracle常用数据字典总结
·怎样修改 DB Control 的服务端口
·修改了监听端口, 怎样保证 DB Co...
·Oracle数据库中的Kill session灵...
·Linux下oracle启动脚本DBSTART和...
·如何将 EXP 出来的数据 IMP 进不...
·oracle数据库基本表空间介绍
·oracle常见基本问题总结
·怎么样生成日期格式的文件
·sqlplus怎么与shell结合使用
·FTP怎么在脚本中自动上传/下载
 
li
设为首页 | 关于我们 | 技术服务 | 收藏本站 | 网站地图 | 联系方式 | 本站友情连接