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';

posted @ 2013-01-31 12:41  静水流沙  阅读(1165)  评论(0编辑  收藏  举报