数据库复习日志 oracle 10g 数据库性能优化的调整 1

oracle 10g 数据库性能优化的调整
1.内存优化
 1.1 数据缓冲调整
  查看数据库内存参数
  select name,value from v$parameter where name in  ('db_cache_size','db_block_size','shared_pool_size','sort_area_size');
  查看数据缓冲区数据存储状况(物理读的数据越接近于0,说明越多在缓冲区读出)
  select name,value from v$sysstat
  where name in ('db block gets','consistent gets','physical reads');
1 db block gets 7071300
2 consistent gets 146208357
3 physical reads 23213790

 1.2 共享池调整
 如果运行较多的SQL PL/SQL则较多用到共享池。 由shared_pool_size 参数决定的
  select to_number(v$parameter.value) value,
   v$sgastat.bytes,
   (v$sgastat.bytes/v$parameter.value)*100  as "占比"
  from v$sgastat,v$parameter
  where v$sgastat.name='free_memory' and
   v$parameter.name='shared_pool_size';
 1.3 日志缓冲调整
  如果内存资源十分大时,可以增加日志缓冲区
  select name,sum(gets),sum(misses)
  from v$latch
  where name like 'redo%'
  group by name;
  失败表示在进入日志缓冲区时存在等待。
 1.4 排序区调整
  用到以下语句的
  CREATE INDEX
  SELECT ...... ORDER BY
  SELECT ...... DISTINCT
  SELECT ...... GROUP BY
  SELECT ...... UNION
  参数SORT_AREA_SIZE用于设置排序区的大小
  select name,value from v$sysstat where name like '%sort%'
  然后算出失败率=SORT(DISKS)/SORT(MEMORY) *100% 这个应该5%以内。如果不是的话 调整SORT_AREA_SIZE

 

2.磁盘I/O优化与调整
  运用以下语句在数据库读写最繁忙的时候查询磁盘的读写情况
  select substr(a.file#,1,2) ,
   a.status,
   a.bytes,
   b.phyrds,
   b.phywrts,
   substr(a.name,1,50)
  from v$datafile a,v$filestat b
  where a.file#=b.file#
  调整后 I/O的竞争应该趋于平衡。


3.CPU调整问题
  
4.SQL语句优化问题
 4.1 分析SQL语句的执行过程
 4.2 将常用的实体驻留内存
 4.3 创建索引
 4.4 创建聚簇
 4.5 创建哈希索引
 4.6SQL优化器
5.数据库参数的动态统计
 
6.小结

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值