• 11R2 RAC on Aix 基本任务


    基础环

    境配置

    任务项

    操作步骤

    检查操作系统基本情况(内存,虚拟内存等)

    内存:

    安装grid infrastructure最少需要1.5GB的内存,

    安装grid infrastructureRAC最少需要2.5GB的内存

    swap:最少需要4GB,有的资料介绍最少1.5G,不过安装环境检查时显示需要4G

    temp:推荐10G,可以将安装文件上传至/tmp目录下,最少1GB

    安装目录:grid infrastructure+ASM+Clusterware最少需要12GB

    操作系统:

    AIX 6.1 TL 01 SP1 ("6100-01-01), 64-bit kernel

    lsattr -El sys0 -a realmem

    lsps -a

    chfs –a size=5G /tmp

    getconf HARDWARE_BITMODE

    lsdev -C | grep proc

    lsattr -El proc0

     

    配置网卡IP,修改host文件

    修改每个节点上的/etc/hosts文件。

    127.0.0.1 loopback localhost # loopback (lo0) name/address

    # *** Oracle Scan IP ***

    10.20.117.242 db_scan

     

    # *** Oracle Public IP***

    10.20.117.19 node1

    10.20.117.20node2

     

    # *** Oracle Virtual IP ***

    10.20.117.240 node1-vip

    10.20.117.241 node2-vip

     

    # *** Oracle Private IP ***

    192.168.1.1node1-priv

    192.168.1.2 node2-priv

     

    注意:如果你的环境里不具备DNS服务器,那么SCAN地址解析可以通过/etc/hostsGNS来实现,这需要在你的所有数据库主机的host文件里添加一个SCAN地址,并且这个地址的解析名不要超过16个字符,超过的话,oracle只会解析前16个字符。本例中我们通过/etc/hosts来解析scan

    安装必需系统包

    AIX 6.1需要安装如下软件包:

    bos.adt.base

    bos.adt.lib

    bos.adt.libm

    bos.perf.libperfstat 6.1.2.1 or later

    bos.perf.perfstat

    bos.perf.proctools

    rsct.basic.rte

    rsct.compat.clients.rte

    xlC.aix61.rte 10.1.0.0 (or later)

    系统补丁安装

    oslevel -r

    AIX 6L installations All AIX 6L 6.1 installations Authorized Problem Analysis

    Reports (APARs) for AIX 5L v. 5.3 ML06, and the following AIX

    fixes:

    IZ41855

    IZ51456

    IZ52319

    验证:#/usr/sbin/instfix -i -k IZ41855

    安装补丁:

    由于6100-04不需要任何补丁,所以我们将系统升级到6100-04(但是安装grid的时候还是出现3个包未安装提示)

    IBM官网上下载6100-04-00-0943

    将补丁文件上传至/tmp/tools

    smit update_all

    选择不提交,保存被覆盖的文件,可以回滚操作,接受许可协议

    COMMIT software updates? No

    SAVE replaced files? yes

    ACCEPT new license agreements? Yes

    升级完后查看:

    # oslevel -s

    6100-04-01-0944

     

    建立用户和组

    规划了一个组,但是规划两个用户,一个用于管理ASM实例,另一个用于管理DB实例。

    创建一个组:

    dba

    创建二个用户:

    grid:主要用与安装gridASM,管理ASM实例,grid用户主组为dba,属组为:dba

    oracle:要用与安装Clusterware,管理db实例,oracle用户主组为dba,属组为:dba

    创建命令:

    mkgroup -'A' id='1000' adms='root' dba

    mkuser id='1000' pgrp='dba' groups='dba' home='/home/grid' grid

    mkuser id='1100' pgrp='dba' groups='dba' home='/home/oracle' oracle

    !注意保持双机用户与组的ID的一致。

     

     

     

    *******linux下创建用户和组*******

    [root@node1 ~]# groupadd oinstall

    groupadd dba

    groupadd oper

    groupadd asmdba

    groupadd asmadmin

    groupadd asmoper

    useradd -g oinstall -G asmdba,asmadmin,asmoper,dba grid

    useradd -g oinstall -G dba,asmdba,oper oracle[root@node1 ~]# groupadd dba

    [root@node1 ~]# groupadd oper

    [root@node1 ~]# groupadd asmdba

    [root@node1 ~]# groupadd asmadmin

    [root@node1 ~]# groupadd asmoper

    [root@node1 ~]# useradd -g oinstall -G asmdba,asmadmin,asmoper,dba grid

    [root@node1 ~]# useradd -g oinstall -G dba,asmdba,oper oracle

     

    [grid]$ id

    uid=500(grid)gid=500(oinstall)groups=500(oinstall),501(dba),503(asmdba),504(asmadmin),505(asmoper)

    [oracle@node1 ~]$ id

    uid=501(oracle) gid=500(oinstall) groups=500(oinstall),501(dba),502(oper),503(asmdba)

     

    赋予用户权限

    grid用户

    1、在两台主机上要保证grid用户具有以下能力:

    CAP_NUMA_ATTACH, CAP_BYPASS_RAC_VMM, and CAP_PROPAGATE

    查看grid用户能力:

    #lsuser -a capabilities grid

    增加grid用户能力:

    # chuser capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE grid

    2、设置grid用户密码:

    #passwd grid

    3、在两台主机上取消grid用户shell限制

    可以通过smit chuser去修改grid用户限制,或直接修改/etc/security/limits 文件,具体参数如下:

    default:

    fsize = -1

    core = 2097151

    cpu = -1

    data = -1

    rss = -1

    stack = -1

    nofiles = -1

    oracle用户

    1、在两台主机上要保证oracle用户具有以下能力:

    CAP_NUMA_ATTACH, CAP_BYPASS_RAC_VMM, and CAP_PROPAGATE

    查看oracle用户能力:

    # lsuser -a capabilities oracle

    增加oracle用户能力:

    #chuser capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE oracle

    2、设置oracle用户密码:

    #passwd oracle

    3、在两台主机上取消oracle用户shell限制

    可以通过smit chuser去修改oracle用户限制,或直接修改/etc/security/limits 文件,具体参数如下:

    default:

    fsize = -1

    core = 2097151

    cpu = -1

    data = -1

    rss = -1

    stack = -1

    nofiles = -1

    root用户

    在两台主机上取消root用户shell限制,因为CRS进程(crsd)需要以root用户运行。

    可以通过smit chuser去修改root用户限制,或直接修改/etc/security/limits 文件,具体参数如下:

    default:

    fsize = -1

    core = 2097151

    cpu = -1

    data = -1

    rss = -1

    stack = -1

    nofiles = -1

    修改用户shell

     /etc/security/limits文件中增加如下行:

    default:

    fsize = -1

    core = 2097151

    cpu = -1

    data = -1

    rss = -1

    stack = -1

    nofiles = -1

    修改AIO参数

    AIX 6.1

    # ioo -o aio_maxreqs

    aio_maxreqs = 65536

    -------------------------------------------

    ioo -o aio_maxreqs=65536

    ioo -o aio_minservers=20

    ioo -o aio_maxservers=80

     

    AIX 5.3

    # lsattr -El aio0 -a maxreqs

    maxreqs 65536 Maximum number of REQUESTS True

    查看当前启动了多少异步IO进程的方法:

    # ps -ek|grep -v grep|grep –v posix_aioserver|grep -c aioserver

    调整aio_maxservers和aio_minservers为合适的值

    原则:

    调整maxservers的值为10倍的磁盘数量,但是不要超赤80

    在高i/o的时间周期监控AIO的性能情况,如果所有的AIO服务进程都已经启动,那么增大maxservers的值。但是,过多的AIO进程也会增加系统的负载

    监控AIO服务进程的使用情况:

    # ps -ek|grep -v grep|grep –v posix_aioserver|grep -c aioserver

    调整参数

    Ioo po aio_maxservers=80 / ioo po aio_minservers=40

    调整虚拟内存参数

    Oracle推存使用vmo命令去调优虚拟内存管理,参数推荐如下:

    命令如下:

    vmo -p -o minperm%=3

    vmo -p -o maxperm%=90

    vmo -p -o maxclient%=90

    vmo -p -o lru_file_repage=0

    vmo -p -o strict_maxclient=1

    vmo -p -o strict_maxperm=0

    You must restart the system for these changes to take effect.

     

    调整用户进程参数

    # chdev -l sys0 -a maxuproc=16384

    sys0 changed

    也可以使用:smitty chgsys修改"Maximum number of PROCESSES allowed per user"

    修改完成后查看:

    # lsattr -El sys0 -a maxuproc

    maxuproc 16384 Maximum number of PROCESSES allowed per user True

    # chdev -l sys0 -a ncargs=256

    sys0 changed

    调整网络参数

    # /usr/sbin/no -a | more来查看网络参数是否满足下面的要求

    PARAMETER        RECOMMENDED VALUE

    ipqmaxlen                     512

    rfc1323                     1

    sb_max                     1500000

    tcp_recvspace                 65536

    tcp_sendspace                 65536

    udp_recvspace    1351680 这个值应该是udp_sendspace10倍,但是必须小于sb_max

    udp_sendspace    135168 这个值至少应该是4K+(db_block_size*db_multiblock_read_count)的大小

    修改命令

    no -r -o ipqmaxlen=521

    no -p -o rfc1323=1

    no -p -o sb_max=1500000

    no -p -o tcp_recvspace=65536

    no -p -o tcp_sendspace=65536

    no -p -o udp_recvspace=1351680

    no -p -o udp_sendspace=13516

    在修改前需要先查看系统设置的兼容性:

    # lsattr -El sys0 -a pre520tune

    1、输出如:

    pre520tune disable Pre-520 tuning compatibility mode True

    说明是不兼容方式,这样就可以用上面的方式调整

    2、如果是compatibility模式,则:

    # /usr/sbin/no -o parameter_name=value

    并且编辑文件/etc/rc.net加入下面内容:

    if [ -f /usr/sbin/no ] ; then

    /usr/sbin/no -o udp_sendspace=65536

    /usr/sbin/no -o udp_recvspace=655360

    /usr/sbin/no -o tcp_sendspace=65536

    /usr/sbin/no -o tcp_recvspace=65536

    /usr/sbin/no -o rfc1323=1

    /usr/sbin/no -o sb_max=2*655360

    /usr/sbin/no -o ipqmaxlen=512

    fi

    建立文件系统及目录,赋予权限

    创建/u01文件系统

    安装目录:grid infrastructure+ASM+Clusterware最少需要12GB

    ==================

    export ORACLE_BASE=/u01/app/grid #需手工创建

    export ORACLE_HOME=/u01/app/11.2/grid #需手工创建

    export ORACLE_BASE=/u01/app/oracle #需手工创建

    export ORACLE_HOME=$ORACLE_BASE/product/11.2

    ---------------------------------

    mkdir -p /u01/app/grid #grid用户的ORACLE_BASE

    mkdir -p /u01/app/11.2/grid #grid用户的ORACLE_HOME

    chown -R grid:dba /u01

    mkdir -p /u01/app/oracle #oracle用户的ORACLE_BASE

    chown -R oracle:dba /u01/app/oracle

    chmod -R 755 /u01/

    注意:如果gridorcle安装在同一文件系统下面,如上,在进行权限修改的时候要注意顺序,先进行/u01赋权,再进行/u01/db赋权,否则会被覆盖。

    修改用户环境变量

    grid用户

    在两台服务器的的grid用户的.profile最后,增加如下内容:

    umask 022

    export ORACLE_BASE=/u01/app/grid #需手工创建

    export ORACLE_HOME=/u01/app/11.2/grid #需手工创建

    export ORACLE_SID=+ASM1 #节点2是+ASM2

    export NLS_LANG=AMERICAN_AMERICA.UTF8

    export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"

    export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin

    export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin

    export PATH=${PATH}:$ORACLE_BASE/common/oracle/bin

    export ORACLE_PATH=${PATH}:$ORACLE_BASE/common/oracle/sql:.:$ORACLE_HOME/rdbms/admin

    export ORACLE_TERM=xterm

    export TNS_ADMIN=$ORACLE_HOME/network/admin

    export ORA_NLS10=$ORACLE_HOME/nls/data

    export LD_LIBRARY_PATH=$ORACLE_HOME/lib

    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib

    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib

    export CLASSPATH=$ORACLE_HOME/JRE

    export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib

    export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib

    export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib

    export THREADS_FLAG=native

    export TEMP=/tmp

    export TMPDIR=/tmp

    export PS1='hostname':'$PWD'"$

    oracle用户

    在两台服务器的的oracle用户的.profile最后,增加如下内容:

    umask 022

    export ORACLE_BASE=/u01/app/oracle #需手工创建

    export ORACLE_HOME=$ORACLE_BASE/product/11.2

    export ORACLE_SID=ytdb1

    export ORACLE_UNQNAME=testdb

    export NLS_LANG=AMERICAN_AMERICA.UTF8

    export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"

    export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin

    export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin

    export PATH=${PATH}:$ORACLE_BASE/common/oracle/bin

    export ORACLE_PATH=${PATH}:$ORACLE_BASE/common/oracle/sql:.:$ORACLE_HOME/rdbms/admin

    export ORACLE_TERM=xterm

    export TNS_ADMIN=$ORACLE_HOME/network/admin

    export ORA_NLS10=$ORACLE_HOME/nls/data

    export LD_LIBRARY_PATH=$ORACLE_HOME/lib

    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib

    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib

    export CLASSPATH=$ORACLE_HOME/JRE

    export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib

    export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib

    export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib

    export THREADS_FLAG=native

    export TEMP=/tmp

    export TMPDIR=/tmp

    export PS1='hostname':'$PWD'"$"

    配置SSH信任关系

    以下两个节点都执行:

    #su – grid

    $mkdir –p ~/.ssh

    $chmod 700 ~/.ssh

    $/usr/bin/ssh-keygen -t rsa

    提示输入密码时,保持为空,直接回车即可。

    以下只在节点1上执行:

    $ touch ~/.ssh/authorized_keys

    $ ssh ibmdb1 cat ~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys

    $ ssh ibmdb2 cat ~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys

    $ scp ~/.ssh/authorized_keys ibmdb2:.ssh/authorized_keys

    以下只在节点2上执行:

    $ chmod 600 ~/.ssh/authorized_keys

    配置完成后按方法1中测试方法进行测试。

    配置时间同步服务

     

    配置共享存储

    设置磁盘属性

    该步骤若不做,在grid安装完成建立ASM时,第二个节点会找不到硬盘,同时加入不了群集。

    检测:

    lsattr -El hdisk2 | grep reserve_

    查看一个即可

    设置保持策略:

    如果上面查看的结果是reserve_policy

    chdev -l hdisk2 -a reserve_policy=no_reserve

    chdev -l hdisk3 -a reserve_policy=no_reserve

    chdev -l hdisk4 -a reserve_policy=no_reserve

    chdev -l hdisk5 -a reserve_policy=no_reserve

    chdev -l hdisk6 -a reserve_policy=no_reserve

    如果上面查看的结果是reserve_lock

    chdev -l hdisk2 -a reserve_lock=no

    修改用于数据库存储的PV的属主

    chown grid:dba /dev/rhdisk2

    chown grid:dba /dev/rhdisk3

    chown grid:dba /dev/rhdisk4

    chown grid:dba /dev/rhdisk5

    chown grid:dba /dev/rhdisk6

    修改用于数据库存储的PV的权限

    chmod 600 /dev/rhdisk2

    chmod 600 /dev/rhdisk3

    chmod 600 /dev/rhdisk4

    chmod 600 /dev/rhdisk5

    chmod 600 /dev/rhdisk6

    如果出现两边盘符不一致,可使用软连接实现两边盘符的对应关系一致,如:

    Ln s /dev/rhdisk2 /ShareDisk/grid_lun1

    ..

    Ln s /dev/rhdisk6 /ShareDisk/data_asm1

    清除PVID

    查看LUN,如果已经有了PVID的话,需要进行清除。

    chdev -l hdisk2 -a pv=clear

    重复同样的操作,清除2-6所有LUNPVID

     

    设置磁盘属性【属主,权限】

    准备安装介质

    上传介质

    总结检查(内存,虚拟内存,临时文件夹,操作系统版本,oraclegridnobody用户信息,异步IO,系统包)

    prtconf |grep Memory

    lsps -a

    df -g /tmp

    oslevel -r

    getconf HARDWARE_BITMODE

    id oracle

    id grid

    id nobody

    ioo -a

    no -a |grep udp

    no -a |grep tcp

    lslpp -l bos.adt.base bos.adt.lib bos.adt.libm bos.perf.libperfstat bos.perf.perfstat bos.perf.proctools xlC.aix61.rte

    安装grid软件

    安装grid软件

    # /usr/sbin/slibclean

    #./rootpre.sh

    安装数据库软件

    安装database软件

    问题描述:

    Exception String: Error in invoking target 'agent nmb nmo nmhs' of makefile '/oracle/db/product/11.2/sysman/lib/ins_emagent.mk'. See

    '/oracle/oraInventory/logs/installActions2011-11-28_06-48-30PM.log' for details.

    解决方法:

    由于操作系统缺少补丁包IZ88711SP2.101121.epkg.Z所致。打该补丁包即可。

    1通过ftp://public.dhe.ibm.com/aix/efixes/iz88711/下载文件,并在aix操作系统下以root用户执行:

    emgr -e IZ88711SP2.101121.epkg.Z

    2、以oracle用户执行

    make -f $ORACLE_HOME/sysman/lib/ins_emagent.mk relink_sharedobj SHAREDOBJ=libnmem.so

    语句。

    3、重新retry后能够正常安装oracle软件

    配置ASM磁盘

    配置ASM磁盘

     

    创建数据库

    创建数据库

     

    安装后配置

    安装后检查,配置等

    安装完成后

    备份root.sh

    官方建议在安装完成后要备份root.sh脚本文件。因为如果在oracle home目录中又安装其它oracle的产品,安装时OUI会升级已存在的root.sh文件。如果需要root.sh内的原始信息,就可以在备份中找到。

    $ cd $ORACLE_HOME

    $ cp root.sh root.sh.bak

    重新编译全部PL/SQL modules --定制模式不用

    官方建议在建立或升级数据库后执行utlrp.sql脚本。这个脚本重新编译全部为不可用状态的PL/SQL module,包括包(packages)、存储过程(procedures)、类型(types)。这是一个可选操作,但oracle官方建议在安装后立即执行该脚本。

    oracle用户执行以下命令:

    $ sqlplus "/as sysdba"

    SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql

    备份spfile文件

    $ sqlplus / as sysdba

    SQL> create pfile='/home/oracle/initorcl1.ora' from spfile='+OCRVOTE/orcl/spfileorcl.ora';

  • 相关阅读:
    运行jar包中的main方法
    (转)如何判断VPS是基于哪种虚拟技术?Xen、OpenVZ、Xen HVM、KVM还是VMware
    centos安装redis
    Jmeter性能测试
    Jmeter脚本录制
    【Tomcat】Tomcat安装及Eclipse配置教程
    【接口测试】【SOAP】简单的接口测试学习
    JMeter性能测试,完整入门篇
    monkey命令详解
    APP专项测试
  • 原文地址:https://www.cnblogs.com/junnor/p/2886803.html
Copyright © 2020-2023  润新知