ITPub博客

首页 > 数据库 > Oracle > 主机调优20141226

主机调优20141226

原创 Oracle 作者:czxin788 时间:2014-12-28 17:46:32 0 删除 编辑

--本文根据博森瑞公开课整理

oracle
内存高的原因:

         原因:1、如果内存突然增高,可能是sql语句写的不合理;

    2、如果内存缓慢增高,一般是内存参数设置不合理

 

 

存储调优,最主要调的是和oracle asm的结合部分。

 

 

浪潮的小机 11g rac装不上,这是浪潮比较郁闷的事。不过10 g rac,浪潮还是能装上的。

 

 

hp 的apa是单独购买软件才能装网卡绑定的,其他的aix、hp-ux等都是自带的网卡绑定功能。

 

 

 

 

ibm小机:内存包括计算内存和非计算内存。

计算内存是指oracle sga和操作系统启动时的内存;

                       非计算内存是指其他的缓存,比如vi 文件时产生的缓存。

 

对于aix,maxperm%表示最大拥有的文件缓存,如果maxperm%设置的很大,那么非计算内存会很高,内存会很高。所以,maxperm%要设置小点,一般是%5~10%。

 

tcp_sendspace:这个值一般也要好好设置。他的作用是把大包拆成小包,设置不好会出现丢包现象。

 

数据库用的是共享内存段,永远都不会用到文件缓存(即上面所说的非计算内存)。

 

如果最大贡献内存段设置的是8g,而sga设置的是 32g,那么就会分配4个共享内存段,来组成这个32g的sga。那么问题来了,在关数据库时,各个共享内存段之间的连接会占用时间,所以关库会非常慢。所以说,一定要设置一个共享内存段,也就是说sga放在一个共享内存段中。

共享内存段一般设置和内存一样大,因为它只是个上限值。

sga一般设置为主机内存的一半。

 

对于linux fs.aio-max-nr,如果这个参数设置小了,会出现数据库插入挂起的情况。

 

以上几个主机参数必调。

 

 

交互区是越大越好,交换区一旦用完,主机就会挂起,所以交换区宁大勿小。

 

oracle用户的最大进程数默认是128。

 

 

sga设置不要超过主机内存的50%,大了性能不一定好。

 

看内存是否够用的方法,不是用free –m看,而是用vmstat来看。

在vmstat结果中,如果pi为0表示内存够用,为1不够用。

pi是交换区程序往内存换,反之,po是内存往交换区换。

 有些朋友看到空闲内存(FREE)很少的或接近于0时,就认为内存不够用了,实际上不能光看这一点,还要结合pi,po,如果free很少,但是pi,po也很少(大多时候是0),那么不用担心,系统性能这时不会受到影响的。

如果内存不够用,哪就赶紧把sga降低一点。

上图中的wa表示IO等待消耗的CPU时间百分比。wa的值高时(超过30%),说明IO等待比较严重,这可能由于磁盘大量作随机访问造成,也有可能磁盘出现瓶颈(块操作),也能是sql语句有问题。

关于vmstat的具体知识可以参考:

http://www.blogjava.net/kelly859/archive/2012/05/01/377091.html

 

如果通过看到网络流量高

如果看到某个进程占用内存高,就能通过数据库找到sql语句。

 

联系、电信、移动、银行都是oracle。

 

remote rac 双活

 

raid5空间少,但性能差。raid 1性能好,但是浪费空间。

 

 





附件列表

 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28916011/viewspace-1382899/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-06-03

  • 博文量
    233
  • 访问量
    858393