ITPub博客

首页 > 数据库 > Oracle > aix上跑oracle,swap频繁导致hdisk100%繁忙

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

原创 Oracle 作者:tonglei2000 时间:2017-03-29 20:39:29 0 删除 编辑
用户的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/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 调整sql临时记录
请登录后发表评论 登录
全部评论

注册时间:2010-10-19

  • 博文量
    109
  • 访问量
    217967