oracle 11gR2 rac on aix6.1

oracle 11gR2 rac on aix6.1

1 整体拓扑

2 预安装检查与规划

2.1 硬件环境

两台 IBM P750 ;

两台 B80光纤交换机

一台 Sun StorageTek 6540 存储;

2.2 系统版本

[root@jxtest01:/# oslevel -s

[root@jxtest01:/# lslpp -L | grep ssh

 

2.3 软件

集群及数据库软件:

p10404530_112030_AIX64-5L_1of7.zip

p10404530_112030_AIX64-5L_2of7.zip

p10404530_112030_AIX64-5L_3of7.zip

其他软件:

  ---解压工具

p10275325_100_Generic.zip              --一款多路径软件

2.4 系统硬件环境检查

Oracle11gR2 RAC 最低安装要求:

内存:安装 grid infrastructure 最少需要 1.5GB 的内存,安装 grid、infrastructure和 RAC 最少需要 2.5GB 的内存

swap:最少需要 1.5GB

temp:最少 1GB

安装目录:grid+datase 30G

操作系统:AIX 6.1 TL 02 SP1 ("6100-02-01), 64-bit kernel

 

验证方法:

1、确认内存大小

#lsattr -El sys0 -a realmem

realmem 32048576 Amount of usable physical memory in Kbytes False

 

2、确认 SWAP 空间,最少 2G。

#lsps -a

Page Space Physical Volume Volume Group Size %Used Active Auto Type

hd6 hdisk0 rootvg 4096MB 12 yes yes lv

#chps -s 3 hd6 增加 3 个 pp

 

3、确认/tmp 大于 1.5GB 和 Oracle 目录空间 15GB

#chfs -a size=1.5G /tmp

 

4、确认系统结构

#getconf HARDWARE_BITMODE

64

5、确认系统 CPU 个数和主频:

# lsdev -C |grep proc

proc0 Available 00-00 Processor

proc4 Available 00-04 Processor

proc8 Available 00-08 Processor

proc12 Available 00-12 Processor

# lsattr -El proc0

frequency 752010000 Processor Speed False

state enable Processor state False

type PowerPC_RS64-III Processor type False

2.5 整体规划

ASM磁盘组规划:

磁盘组名

PV

单个lun大小

冗余

OCR

/dev/rhdisk10

10G

normal

DATA

/dev/rhdisk4 /dev/rhdisk5 /dev/rhdisk6 /dev/rhdisk8 /dev/rhdisk9

300G

externa

ARCH

/dev/rhdisk10

300G

externa

IP地址规划:

网卡

名称

IP

用途

en0

jxtest01

132.77.64.**

public

jxtest02

132.77.64.**

en2

jxtest01-priv

132.77.54.**

private

jxtest02-priv

132.77.54.**

虚拟IP

jxtest01-vip

132.77.64.**

VIP

jxtest02-vip

132.77.64.**

scan

jxtest-scan

132.77.64.**

Scan address

目录规划:

用户

目录

oracle

$ORACLE_BASE = /u01/app/oracle

$ORACLE_HOME = /u01/app/oracle/11.2.0/oracle

grid

$ORACLE_BASE=/u01/grid

$ORACLE_HOME=/u01/app/11.2.0/grid

3 安装准备

3.1 配置IP地址

根据IP地址规划表配置IP地址

服务地址要配置网关

3.2 修改hosts文件

132.77.64.**   jxtest01

132.77.64.**    jxtest02

132.77.54.**  jxtest01-priv

132.77.54.**  jxtest02-priv

132.77.64.**  jxtest01-vip

132.77.64.**  jxtest02-vip

132.77.64.**  jxtest-scan

3.3 安装操作系统软件包

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)

以上 filesets 安装与否可以用命令 lslpp -l 进行检查确认。

 

安装 PATCHES ( 此步可以省略)

AIX 版本要求如下

AIX 6.1 TL 02 SP1 ("6100-02-01), 64-bit kernel 或以上版本

检查方法:

# oslevel -r

6100-03

其它单个补丁的要求如下:

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

AIX 5L installations All AIX 5L 5.3 installations Authorized Problem Analysis

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

fixes:

IZ42940

IZ49516

IZ52331

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

可以在安装数据库软件的时候选择忽略

3.4 创建操作系统组合用户

以 root 用户使用如下命令为网格及 Oracle 用户创建 OS 组:

#mkgroup -'A' id='501' adms='root' oinstall

#mkgroup -'A' id='502' adms='root' asmadmin

#mkgroup -'A' id='503' adms='root' asmdba

#mkgroup -'A' id='504' adms='root' asmoper

#mkgroup -'A' id='505' adms='root' dba

#mkgroup -'A' id='506' adms='root' oper

创建 Oracle 软件所有者:

#mkuser id='501' pgrp='oinstall' groups='dba,asmadmin,asmdba,asmoper'

home='/home/grid' fsize=-1 cpu=-1 data=-1 rss=-1 stack=-1 stack_hard=-1

capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PR

OPAGATE grid

#mkuser  id='502'  pgrp='oinstall'  groups='dba,asmdba,oper'

home='/home/oracle' fsize=-1 cpu=-1 data=-1 rss=-1 stack=-1 stack_hard=-1

capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PR

OPAGATE oracle

检查上面创建的两个用户:

#id grid

#id oracle

使用 passwd 命令为 grid(密码:grid)和 oracle(密码:oracle)账户设

置密码。

#passwd grid

#passwd oracle

3.5 创建软件安装目录结构并更改权限

mkdir -p /u01/grid

mkdir -p /u01/app/11.2.0/grid

mkdir -p /u01/app/oracle

chown -R grid:oinstall /u01

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

chmod -R 775 /u01/

--------------安装后 ------安装后

/u01 root:oinstall

/u01/app root:oinstall

/u01/app/11.2.0 root:oinstall

/u01/app/11.2.0/grid root:oinstall

/u01/grid grid:oinstall

/u01/app/oracle oracle:oinstall

3.6 修改用户环境参数文件

环境变量:

#oracle user

umask 022

export ORACLE_BASE=/u01/app/oracle

export ORACLE_HOME=$ORACLE_BASE/11.2.0/oracle

export ORACLE_SID=jxdb1

export ORACLE_UNQNAME=jxdb

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

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'"$"

PS1="$LOGNAME@`hostname`$"; export PS1

#if [ -t 0 ]; then

#stty intr ^C

#fi

set -o vi

 

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

# grid

umask 022

export ORACLE_BASE=/u01/grid

export ORACLE_HOME=/u01/app/11.2.0/grid

export ORACLE_SID=+ASM1

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'"$"

set -o vi

3.7 系统部分参数修改

3.7.1 打开异步 IO

在 AIX6.1 中默认异步 IO 服务是打开的。

推荐的 aio_maxreqs 值为 64k (65536),检查方法如下:

AIX 6.1

# ioo –o aio_maxreqs

aio_maxreqs = 65536

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

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

3.7.2 调整虚拟内存管理

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.

3.7.3 增加系统块尺寸分配

Oracle 推荐增加 ARG/ENV 空间分配到 128,也就是 128 个 4K 的块大小,

命令如下:

/usr/sbin/chdev -l sys0 -a ncargs='128'

3.7.4 调整 SHELL  限制

root  用户

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

户运行。

可以通过 smit chuser 去修改 root 用户限制,或直接修改/etc/security/limits

文件,具体参数如下:

root:

fsize = -1

core = 2097151

cpu = -1

data = -1

rss = -1

stack = -1

nofiles = -1

 oracle 用户和grid用户 在创建的时候已经修改了,如果没有,可以仿照 修改root shell限制的方法一样去修改

3.7.5 查看系统当前允许运行的最大进程数:

#/usr/bin/lsattr -E -l sys0 -a maxuproc

修改 maxuproc 参数

#/usr/sbin/chdev -l sys0 -a maxuproc = 16384

3.7.6 确认网络配置参数

先查看系统设置的兼容性:

# /usr/sbin/lsattr -E -l sys0 -a pre520tune

1、如果输出如:

pre520tune disable Pre-520 tuning compatibility mode True

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

ipqmaxlen 参数:

no -r -o ipqmaxlen=512

其他参数:

no -p -o rfc1323=1

no -p -o sb_max=1310720

no -p -o tcp_recvspace=65536

no -p -o tcp_sendspace=65536

no -p -o udp_recvspace=655360

no -p -o udp_sendspace=65536

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

3.8 配置共享存储

3.8.1 扫盘认盘

cfgmgr 扫描磁盘 认到存储上划过来的lun

lspv 查看

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

chdev -l hdisk2 -a pv=clear

3.8.2 修改物理卷属性

共享存储磁盘的 reserve_policy 属性需要是 no,使用如下

lsattr -E -l hdisk*| grep reserve_policy

3.8.3 更改磁盘属性:

chdev -l hdisk4 -a reserve_policy=no_reserve

chdev -l hdisk5 -a reserve_policy=no_reserve

chdev -l hdisk6 -a reserve_policy=no_reserve

chdev -l hdisk7 -a reserve_policy=no_reserve

chdev -l hdisk8 -a reserve_policy=no_reserve

chdev -l hdisk9 -a reserve_policy=no_reserve

chdev -l hdisk10 -a reserve_policy=no_reserve

chdev -l hdisk11 -a reserve_policy=no_reserve

chdev -l hdisk12 -a reserve_policy=no_reserve

3.8.4 更改磁盘的属组

chown -R grid:oinstall rhdisk4

chown -R grid:oinstall rhdisk5

chown -R grid:oinstall rhdisk6

chown -R grid:oinstall rhdisk7

chown -R grid:oinstall rhdisk8

chown -R grid:oinstall rhdisk9

chown -R grid:oinstall rhdisk10

chown -R grid:oinstall rhdisk11

chown -R grid:oinstall rhdisk12

3.8.5 更改磁盘权值

chmod -R 660 rhdisk4

chmod -R 660 rhdisk5

chmod -R 660 rhdisk6

chmod -R 660 rhdisk7

chmod -R 660 rhdisk8

chmod -R 660 rhdisk9

chmod -R 660 rhdisk10

chmod -R 660 rhdisk11

chmod -R 660 rhdisk12

3.9 配置ntp

3.9.1 配置时钟同步

如果存在时钟服务器可以让每个节点都指向时钟服务器

没有时钟服务器可以用集群的一个节点来当做时钟服务器

3.9.2 修改AIX平台配置文件

     # vi /etc/rc.tcpip

    # start /usr/sbin/xntpd "$src_running" "-x"

3.9.3 AIX停止和启动XNTPD进程

     #stopsrc -s xntpd

     #startsrc -s xntpd -a  "-x"

3.10 配置ssh

手动配置并不好使

解压出的软件包内有配置ssh的脚本

分别在:

/soft /grid/sshsetup/ 下

/soft /database/sshsetup/ 下

分别以grid 和 oracle 用户执行:

配置互信:

(grid和oracle 都有这个脚本,在解压目录里)

sshUserSetup.sh -user grid -hosts "jxtest01 jxtest02" -advanced –PromptPassphrase

sshUserSetup.sh -user oracle -hosts "jxtest01 jxtest02" -advanced –PromptPassphrase

3.11 dns配置 (可忽略)

DNS 配置(避免 grid 最后验证报错,可忽略)

#[/]mv /usr/bin/nslookup /usr/bin/nslookup.org

#[/]cat /usr/bin/nslookup

#!/usr/bin/sh

HOSTNAME=${1}

if [[ $HOSTNAME = "rx-cluster-scan" ]]; then

echo "Server: 24.154.1.34"

echo "Address: 24.154.1.34#53"

echo "Non-authoritative answer:"

echo "Name: rx-cluster-scan"

echo "Address: 1.1.1.11" #假设 1.1.1.1 为 SCAN 地址

else

/usr/bin/nslookup.org $HOSTNAME

fi

注意:if you need to modify your SQLNET.ORA, ensure that EZCONNECT is in the list if you

specify the order of the naming methods used for client name resolution lookups (11g Release

2 default is NAMES.DIRECTORY_PATH=(tnsnames, ldap, ezconnect)).

4 安装 grid

4.1 准备介质

p10404530_112030_AIX64-5L_3of7.zip

4.2 解压以及更改权限

unzip p10404530_112030_AIX64-5L_3of7.zip

chown -R grid:oinstall  grid/

4.3 使用 CVU脚本来校验系统是否满足安装需求

1. 执行 CVU 脚本校验系统,并将检查结果输出到 report.txt 文本文件中。

 ./runcluvfy.sh stage -pre crsinst -n jxtest01,jxtest02 -fixup -verbose >report.txt

2. 可以使用如下命令查看分析 report.txt 文件:

cat report.txt|grep failed

3. root 用户执行:

#./ rootpre.sh

 

 

 

 

在执行 root.sh 的时候 会报错

4.4 开始安装

正常步骤即可

4.5 执行脚本

执行第一个脚本没有问题,在执行第二个脚本的时候会触发bug

Adding Clusterware entries to inittab

ohasd failed to start

Failed to start the Clusterware. Last 20 lines of the alert log follow:

[client(18649)]CRS-2101:The OLR was formatted using version 3.

原因:

1. 在执行root.sh时候 会在/tmp/.oracle下产生一个文件npohasd文件,此文件的只有root用户有权限(按照此原因可以解决)

因此,出现不能启动ohasd进程

2. 系统bug 升级到 11.2.0.3.4 可以解决

解决步骤总结如下:

1. 使用类似如下路径的命令 删除配置

/u01/app/11.2.0/grid/crs/install/rootcrs.pl  -verbose -deconfig -force  ---删除配置

2. 重新运行root.sh

./root.sh

3. 同时另开一个窗口执行:

/bin/dd if=/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1

如果出现

/bin/dd: opening`/var/tmp/.oracle/npohasd': No such file or directory

的时候文件还没生成就继续执行,直到能执行为止,一般出现Adding daemon to inittab这条信息的时候执行dd命令。

4. 另外还有一种解决方法就是更改文件权限

#cd /tmp/.oracle/

#rm npohasd

#touch npohasd

#chmod 755 npohasd

5 安装 database

校验:

su - oracle

调用grid的脚本,进入grid对应的命令(bin)目录:

  ./cluvfy stage -pre dbinst -n jxtest01,jxtest02 >/home/oracle/report.txt

cat report.txt|grep failed

安装  略….

6 创建 Oracle RAC集群数据库

6.1 创建asm磁盘组

6.2 dbca建库

7 Oracle RAC 集群的简单管理

grid 用户查看集群节点个数:

#olsnodes -n

grid 用户查看集群状态:

#crsctl stat res -t(或者 crs_stat -t -v)

oracle 用户关闭数据库:

#sqlplus / as sysdba

SQL>shutdown immediate

SQL>exit

Srvctl stop database –d dbid

root 用户关闭集群:

#/u01/app/11.2.0/grid/bin/crsctl stop crs

crsctl stop cluster -all

root 用户关闭操作系统:

shutdown -F

root 用户启动集群:

#/u01/app/11.2.0/grid/bin/crsctl start crs

oracle 用户启动数据库:

#sqlplus / as sysdba

SQL>startup

SQL>exit

8 本次安装遇到的bug

Oracle 11.2.0.1 RAC GRID 无法启动 : Oracle High Availability Services startup failed

[root@rac1 bin]# ./crsctlstart crs

CRS-4124: Oracle HighAvailability Services startup failed.

CRS-4000: Command Startfailed, or completed with errors.

[root@rac1 bin]# ps -ef|grep has

root     8081     1  0 03:14 ?        00:00:00/u01/app/grid/11.2.0/bin/ohasd.bin reboot

root     8137  4230  1 03:23 pts/0    00:00:00 grep has

[root@rac1 bin]# kill -9 8081

[root@rac1 bin]# ./crsctl start crs

CRS-4124: Oracle High Availability Servicesstartup failed.

CRS-4000: Command Start failed, orcompleted with errors.

-----为bug:

 

解决:

在启动CRS之前,先在2个节点指定dd命令:

[root@rac1 client]# /bin/ddif=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1

然后启动,这没有问题了:

--查看进程,都拉起来了。注意11g的进程启动有些慢,多等一会。

现在可以处理我们实例,弄好之后在升级到11.2.0.3.4. 免得每次都遇到这种问题。

还有就是配置开机启动脚本,开机执行dd

猜你喜欢

转载自www.cnblogs.com/wangxiny-521/p/9576593.html