[转帖]如何改变AIX上使用Oracle的一些限制_VMware, Unix及操作系统讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  VMware, Unix及操作系统讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3350 | 回复: 0   主题: [转帖]如何改变AIX上使用Oracle的一些限制        下一篇 
晶晶
注册用户
等级:少校
经验:1086
发帖:89
精华:0
注册:2012-11-8
状态:离线
发送短消息息给晶晶 加好友    发送短消息息给晶晶 发消息
发表于: IP:您无权察看 2012-11-12 9:11:11 | [全部帖] [楼主帖] 楼主

1、需要修改用户能打开的最大进程数目

默认每个用户最大只能打开128个进程数目,而oracle用户一般需要打开上千个进程。

#chdev -l sys0 -a maxuproc=’2000′
sys0 changed


以上修改,可以通过如下命令来查看

#lsattr -El sys0


2、修改用户限制

主要是Oracle用户,可以通过如下命令查看当前限制

$ulimit -a
time(seconds) unlimited
file(blocks) 4194302
data(kbytes) unlimited
stack(kbytes) 4194304
memory(kbytes) unlimited
coredump(blocks) 4194302
nofiles(descriptors) 4000


具体信息可以参考如下文件

#more /etc/security/limits
……
default:
fsize = 2097151
core = 2097151
cpu = -1
data = 262144
rss = 65536
stack = 65536
nofiles = 2000
……
oracle:
fsize = 4194302
core = 4194302
data = -1
rss = -1
stack = -1
nofiles=4000


注意,-1是无限制

要修改如上限制,可以采用命令如

#chuser data=’-1′ rss=’-1′ stack=’-1′ oracle
#chuser nofiles=4000 oracle


或者是smit chuser来操作

3、修改系统参数

主要是性能需要内存管理

#vmo -p -o v_pinshm=1 #Oracle需要,pin住SGA的需要
#vmo -p -o minperm%=5 #百分比% ,文件系统cache最小内存使用
#vmo -p -o maxclient%=20 #百分比% ,jfs2与nfs最大文件系统cache使用
#vmo -p -o maxperm%=20 #百分比% ,普通文件系统最大文件系统cache使用
#vmo -p -o minfree=1200 #120*cpu个数 ,内存空闲
#vmo -p -o maxfree=1280 #128*cpu个数 ,内存空闲


内存管理可选

#vmo -p -o strict_maxperm=0 #默认是0,建议不要改到1,1为硬限制,可能会触发bug
#vmo -p -o strict_maxclient=0 #默认1,可以改为0,一般不改


文件系统

#ioo -p -o j2_nBufferPerPagerDevice=512


ha的需求,HA情况下建议修改,但也不是强行要求

#no -p -o routerevalidate=1
#no -p -o tcp_finwait2=240
#no -p -o tcp_recvspace=262144
#no -p -o tcp_sendspace=262144
#no -p -o rfc1323=1


其中,-p表示修改对当前与重新启动生效,如果只能重新启动或者重新连接生效的,将提示重起或者重新连接后生效,如果是-r参数,则表示只是重新启动后生效。修改结果可以参考文件

#more /etc/tunables/nextboot
# IBM_PROLOG_BEGIN_TAG
# This is an automatically generated prolog.
#
# bos520 src/bos/usr/sbin/perf/tune/nextboot 1.1
#
# Licensed Materials - Property of IBM
#
# (C) COPYRIGHT International Business Machines Corp. 2002
# All Rights Reserved
#
#
US Government Users Restricted Rights - Use, duplication or
# disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
#
# IBM_PROLOG_END_TAG
vmo:
minfree = "1440″
maxfree = "1536″
maxperm% = "20″
maxclient% = "20″
minperm% = "5″
v_pinshm = "1″
ioo:
j2_nBufferPerPagerDevice = "512″
no:
routerevalidate = "1″
tcp_finwait2 = "240″
tcp_recvspace = "262144″
tcp_sendspace = "262144″
rfc1323 = "1″


4、设置AIXTHREAD_SCOPE=S

控制争用作用域。P 意味着基于进程的争用作用域(M:N)。S 意味着基于系统的争用作用域(1:1)。

echo $AIXTHREAD_SCOPE(这是由内部打开的,因此初始的缺省值不可以由命令 echo 看到)


AIXTHREAD_SCOPE={P|S},用命令export AIXTHREAD_SCOPE = {P|S} 更改会在 shell 中立即生效。在退出这个 shell 之前一直有效。当加上命令 AIXTHREAD_SCOPE={P|S} 到文件 /etc/environment 时会产生持久的变化,在ORACLE 9i Aix 4.3 or Aix 5.1的环境下,设置该变量可以大幅度的减少进程内存的使用量,在Aix 5.2以上,请参考另外一种方法,IY49415 Oracle patch p3028673,详细信息参考oracle bug 3028673




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论