用户的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
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/