怎么改变AIX上使用oracle的一些限制

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
参与22

22同行回答

txrlihuitxrlihui系统工程师IBM
好东东,不错哦显示全部
好东东,不错哦收起
互联网服务 · 2011-08-09
浏览1488
NiartmaNiartma其它POAUR
挺好的,楼主共享精神,整理的不错显示全部
挺好的,楼主共享精神,整理的不错收起
系统集成 · 2010-12-25
浏览1493
li_xwdli_xwd软件开发工程师zznodep
学习中!!!显示全部
学习中!!!收起
互联网服务 · 2010-12-24
浏览1581
shp2010shp2010系统架构师IBM
对于 修改/etc/security/limits 我是很有体会,可以看一下我的 解决问题的case:http://www.aixchina.net/home/space.php?uid=37470&do=blog&id=23957显示全部
对于 修改/etc/security/limits 我是很有体会,可以看一下我的 解决问题的case:
http://www.aixchina.net/home/space.php?uid=37470&do=blog&id=23957收起
互联网服务 · 2010-12-24
浏览1521
水上飞水上飞数据库管理员ebaotech
谢谢分享显示全部
谢谢分享收起
金融其它 · 2010-12-23
浏览1496
juny911juny911软件开发工程师ff
这个非常好,收藏了显示全部
这个非常好,收藏了收起
互联网服务 · 2010-12-23
浏览1565
水上飞水上飞数据库管理员ebaotech
先顶再学习显示全部
先顶再学习收起
金融其它 · 2010-12-10
浏览1513
cjwgoforitcjwgoforit软件开发工程师航宇公司
学习了,呵呵显示全部
学习了,呵呵收起
轨道交通 · 2010-12-06
浏览1537
kavaikavai专业技术支持人员九鼎
学习了,不错显示全部
学习了,不错收起
IT分销/经销 · 2010-12-04
浏览1483
科莱恩特科莱恩特技术经理建设银行
非常好的借鉴技术文档!显示全部
非常好的借鉴技术文档!收起
银行 · 2010-12-03
浏览1538

提问者

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2010-10-26
  • 关注会员:0 人
  • 问题浏览:14567
  • 最近回答:2011-08-09
  • X社区推广