ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 怎么改变AIX上使用oracle的一些限制

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

原创 Linux操作系统 作者:paulyibinyi 时间:2009-04-26 19:42:05 0 删除 编辑

怎么改变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需要,pinSGA的需要

#vmo -p -o minperm%=5 #百分比% ,文件系统cache最小内存使用

#vmo -p -o maxclient%=20 #百分比% jfs2nfs最大文件系统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,建议不要改到11为硬限制,可能会触发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

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

请登录后发表评论 登录
全部评论
学习数据库

注册时间:2007-12-11

  • 博文量
    902
  • 访问量
    6558040