aix上跑oracle,swap频繁导致hdisk100%繁忙

用户的p740上面oracle性能较差,然后开始了较长时间的测试。
32g的内存,sga原来设置的只有1.5gb。把sga给调整到20gb,pga设置为4gb。性能改善了一些。
两天后oracle出现了不能响应的现象,查看alert日志,都是ora-3136的报错。
判断是oracle10g的bug,解决的办法是
1.set INBOUND_CONNECT_TIMEOUT_<listenername>=0 in listener.ora
2. set SQLNET.INBOUND_CONNECT_TIMEOUT = 0 in sqlnet.ora of server.
3. stop and start both listener and database.
4. Now try to connect to DB and observe the behaviour


然后偶尔出现hdisk0和hdisk1都是100%
可以肯定是swap的问题。
解决的办法是把sga调整为16gb。并且设置aix的参数,不对sga进行swap。
执行下面的命令
vmo -p -o lru_file_repage=0
vmo -p -o minperm%=5
vmo -p -o maxclient%=15
vmo -p -o maxperm%=15

alter system set sga_max_size=16384M scope=spfile;
alter system set sga_target=16384M scope=spfile;
alter system set pga_aggregate_target=4096m scope=spfile;

(1) minperm%
如果由文件页面占有的实际内存的百分比低于这个级别,则页面替换算法既替换文件页面也替换计算页面,而不管repage rate。 
(2) maxperm%
如果由文件页面占有的实际内存的百分比高于这个级别,则页面替换算法仅替换文件页面。 

3) maxclient%
如果由文件页面占有的实际内存的百分比高于这个级别,则页面替换算法仅替换客户机页面。

其实还应该把sga给pin在内存中
但是因为10.2。0.4中有一个bug,所以没有做,按照描述,正确的做法是

vmo -p -o v_pinshm=1
vmo -p -o maxpin% = 80  
修改用户的功能
chuser capabilities=CAP_BYPASS_RAC_VMM,CAP_PROPAGATE oracle
vmo -p -o lgpg_regions=1025 -o lgpg_size=16777216 #lgpg_regions值的大小的计算公式:num_of_large_pages = INT(sga*1024*1024-1)/16MB)+1
int(16*1024*1024-1/16)+1=1025

如果使用失败,使用下面的命令取消大页面
vmo -p -o lgpg_regions=0 -o lgpg_size=0 #去掉大页面
alter system set lock_sga=true scope=spfile;

有文档说10.2.0.4使用下面的profile文件可以
export ORACLE_SGA_PGSZ=16M



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

转载于:http://blog.itpub.net/13337857/viewspace-2136296/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值