1、前言
此文档详细描述了Oracle 11gR2 数据库在AIX上的安装RAC的需求及安装步骤。
参考文档
《Oracle® Real Application Clusters Installation Guide 11g Release 2 (11.2) for Linux and UNIX》
Part Number E10813-06
《Oracle® Database Installation Guide 11g Release 2 (11.2) for IBM AIX on POWER Systems (64-Bit》
Part Number E10854-03
《Oracle® Database Performance Tuning Guide 11g Release 2 (11.2)》Part Number E10821-05
《Oracle® Database Storage Administrator's Guide 11g Release 2 (11.2)》Part Number E10500-04
《Oracle® Grid Infrastructure Installation Guide 11g Release 2 (11.2) for IBM AIX Based Systems》
Part Number E10814-02
2、系统环境
数据库架构
本例中数据库架构为2个节点的RAC集群,使用ASM管理数据文件
操作系统版本
数据库服务器的OS版本是AIX 6.1
3、Oracle安装需求
3.1、OS 配置需求
OS版本
查看系统版本以及否是64位
qdgs:/home/oracle$uname -a
AIX qdgs 1 7 00F7E1D24C00
qdgs:/home/oracle$/usr/bin/getconf HARDWARE_BITMODE
64
PATCHES & PACKAGES
PACKAGE
AIX 6.1 required packages:
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 (For RAC configurations only)
rsct.compat.clients.rte (For RAC configurations only)
xlC.aix61.rte:10.1.0.0 or later
gpfs.base 3.2.1.8 or later (Only for RAC)
#lslpp -l bos.adt.base bos.adt.lib bos.adt.libm bos.perf.libperfstat 6.1.2.1 bos.perf.perfstat bos.perf.proctools rsct.basic.rte rsct.compat.clients.rte xlC.aix61.rte:10.1.0.0 gpfs.base 3.2.1.8
APARS
IZ41855
IZ51456
IZ52319
IZ97457
IZ89165
IV04047 reference note 1264074.1 and Note:1379753.1
检查命令:
#/usr/sbin/instfix -i -k "IZ41855 IZ51456 IZ52319 IZ97457 IZ89165"
系统中若无patch IZ89165, Patch IZ97457,则按照如下根据系统版本对应patch检查替换patch是否存在。
可替换patch
** Patch IZ89165 **
6100-03 - use AIX APAR IZ89304
6100-04 - use AIX APAR IZ89302
6100-05 - use AIX APAR IZ89300
6100-06 - use AIX APAR IZ89514
** Patch IZ97457 **
6100-04 - use AIX APAR IZ97605
6100-05 - use AIX APAR IZ97457
6100-06 - use AIX APAR IZ96155
JDK&JRE
IBM JDK 1.6.0.00 (64 BIT)
空间需求
RAM minimum 1GB recommended 2GB
TMP at least 1GB
Grid home at least 4.5 GB
Oracle Database home at least 4GB
根据内存设置swap大小:
RAM Swap Space
1G~2G 内存的1.5倍
2G~16G 与内存相等
16G以上 16G
检查系统内存:
qdgs:/home/oracle$/usr/sbin/lsattr -HE -l sys0 -a realmem
attributevalue description user_settable
realmem 25165824 Amount of usable physical memory in Kbytes False
qdgs:/home/oracle$
检查交换分区大小
qdgs:/home/oracle$/usr/sbin/lsps -a
Page Space Physical Volume Volume Group Size %Used Active Auto Type Chksum
hd6 hdisk0 rootvg 16384MB 2 yes yes lv 0
检查磁盘空间
#getconf DISK_SIZE /dev/hdisk[]
qdgs:/home/oracle$getconf DISK_SIZE /dev/hdisk3
511996
检查网卡顺序,网卡主备(注意网卡与IP对应是否正确)
#ifconfig -a
#lsattr -E -l 网卡名
IP地址要求
每个节点至少两个以上网卡,其中一个是内网网卡,也叫心跳网卡;另一个是公网,对外提供服务。内网绑定172或10开头的ip地址;公网上绑定public ip。另外还需要分配一个vip,与public ip同网段;SCAN IP整个集群只有一个。请参考以下示例:
节点1:
一个公网IP:100.12.98.21
两个私网IP:172.16.2.1 172.16.2.11
一个虚拟IP:100.12.98.23
SCAN_IP:100.12.98.25
节点2:
一个公网IP:100.12.98.27
两个私网IP:172.16.2.3 172.16.2.13
一个虚拟IP:100.12.98.29
SCAN_IP:100.12.98.25
AIX操作系统TCP和UDP参数的修改
在root用户下,执行如下命令:
修改命令:
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
可用/usr/sbin/no -a | fgrep <参数名>来查看参数值
AIX内核参数的修改
查看参数
# /usr/sbin/no -a | fgrep ephemeral
tcp_ephemeral_high = 65500
tcp_ephemeral_low = 9000
udp_ephemeral_high = 65500
udp_ephemeral_low = 9000
修改参数
# /usr/sbin/no -p -o tcp_ephemeral_low=9000 -o tcp_ephemeral_high=65500
# /usr/sbin/no -p -o udp_ephemeral_low=9000 -o udp_ephemeral_high=65500
AIX操作系统内存参数的修改
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
双机对等性认证
配置集群内2个节点的SSH对等性认证
在两个节点分别执行下列两个脚本,脚本位于安装软件解压路径下的grid目录中。
P780-1-VPAR1[/]# find /u01 -name sshUserSetup.sh
/u01/11.2.0/grid/deinstall/sshUserSetup.sh
/u01/11.2.0/grid/oui/prov/resources/scripts/sshUserSetup.sh
#./sshUserSetup.sh -user grid -hosts "bjsczjdb01 bjsczjdb02" -advanced - noPromptPassphrase
#./sshUserSetup.sh -user oracle -hosts " bjsczjdb01 bjsczjdb02" -advanced –noPromptPassphrase
完成互信配置后,分别在各节点使用grid和oracle用户下执行下面的操作 进行
互信的检测
su - grid
date;ssh bjsczjdb01 date
date;ssh bjsczjdb02 date
su - oracle
date;ssh bjsczjdb01 date
date;ssh bjsczjdb02 date
AIX操作系统启用异步IO
AIX 6.1 缺省启用异步IO,无需修改
Oracle数据库系统软件及补丁要求
需要安装的psu版本为11.2.0.3.3,patch id 为:13923374, 13919095
其他
在所有节点的/etc/hosts文件中配置IP与别名,命名规则一般建议为主机名-IP类型。
例如
public IP :IP地址 hostname
Private IP : IP地址 hostname-priv
VIP : IP 地址 hostname-vip
Scan IP : IP 地址 hostname-scan
#cat /etc/hosts
#hostname
100.12.98.21 bjsczjdb01
100.12.98.27 bjsczjdb02
#oracle_vip
100.12.98.23 bjsczjdb01-vip
100.12.98.29 bjsczjdb02-vip
#oracle_private_ip1
172.16.2.1 bjsczjdb01-prvi1
172.16.2.3 bjsczjdb02-prvi1
#oracle_private_ip2
172.16.2.11 bjsczjdb01-prvi2
172.16.2.13 bjsczjdb02-prvi2
#oracle_scan_ip
100.12.98.25 bjsczjdb01-scan
3.2、存储配置
数据库ASM磁盘设备的划分
使用如下命令对磁盘属性进行修改。 (所有节点都需要执行)
#chmod 660 /dev/rhdisk[]
#chown grid:asmadmin /dev/rhdisk[]
#lsattr -E -l hdisk[] | grep reserve_
如果是reserve_policy则执行下面的操作
#chdev -l hdisk[] -a reserve_policy=no_reserve
如果是reserve_lock
#chdev -l hdisk[] -a reserve_lock=no
清除PVID
#/usr/sbin/chdev -l hdisk[] -a pv=clear
3.3、Oracle安装用户和组设置
创建介质存储路径及解压路径
由于安装介质较多,建议分别创建软件存放及解压路径,示例如下:
数据库安装软件包存储路径
# mkdir -p /u01/sw/db
Oracle psu安装包存储路径
# mkdir -p /u01/sw/psu
新版本的OPATCH安装包存储路径
# mkdir -p /u01/sw/patch
需要安装的rpm包存储路径
# mkdir -p /u01/sw/rpm
# chmod -R 777 /u01/sw
创建用户和组
建立Oracle安装目录组:
mkgroup -'A' id='501' adms='root' oinstall
建立Oracle ASMDBA组:
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
建立Grid安装用户grid:
mkuser id='501' pgrp='oinstall' groups='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_PROPAGATE grid
passwd grid 密码为oracle123(注意密码设置完成后需要重新登录再次设置才可生效)
建立Oracle安装用户oracle:
mkuser id='502' pgrp='oinstall' groups='dba,asmdba' 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_PROPAGATE oracle
passwd oracle 密码为:xxx,例如:oracle123
注意在创建密码后需要重新登陆再次设置生效
检查创建的用户
# id oracle
uid=502(oracle) gid=501(oinstall) groups=503(asmdba),505(dba)
# id grid
uid=501(grid) gid=501(oinstall)groups=502(asmadmin),503(asmdba),504(asmoper)
检查用户权限
# lsuser -a capabilities grid
grid capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE
<<< 如果没有显示正确则执行
# chuser capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE grid
# lsuser -a capabilities oracle
oracle capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE
创建安装目录
目录创建示例如下:
Oracle inventory 目录
#mkdir -p /u01/app/oraInventory
#chown -R grid:oinstall /u01/app/oraInventory
#chmod -R 775 /u01/app/oraInventory
Grid Infrastructure BASE 目录
#mkdir -p /u01/app/grid
#chown grid:oinstall /u01/app/grid
#chmod -R 775 /u01/app/grid
Grid Infrastructure Home 目录
#mkdir -p /u01/11.2.0/grid
#chown -R grid:oinstall /u01/11.2.0/grid
#chmod -R 775 /u01/11.2.0/grid
Oracle Base 目录
#mkdir -p /u01/app/oracle
#mkdir /u01/app/oracle/cfgtoollogs
#chown -R oracle:oinstall /u01/app/oracle
#chmod -R 775 /u01/app/oracle
Oracle Rdbms Home 目录
#mkdir -p /u01/app/oracle/product/11.2.0/db_1
#chown -R oracle:oinstall /u01/app/oracle/product/11.2.0/db_1
#chmod -R 775 /u01/app/oracle/product/11.2.0/db_1
3.4、profile文件
创建数据库安装用户grid.profile
.profile文件内容如下:
Node1
umask 022
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/11.2.0/grid
export ORACLE_SID=+ASM1
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
export PS1=`hostname`:'$PWD'"$"
Node2
umask 022
export ORACLE_BASE=/u01/app/grid
export ORACLE_HOME=/u01/11.2.0/grid
export ORACLE_SID=+ASM2
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export NLS_DATE_FORMAT="yyyy-mm-dd hh24:mi:ss"
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
export PS1=`hostname`:'$PWD'"$"
创建数据库安装用户oracle.profile
.profile文件内容如下:集中库136和137节点的.profile信息不一样?
Node1:
umask 022
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
ORACLE_UNQNAME=bjschxsb
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
export PS1=`hostname`:'$PWD'"$"
Node2:
umask 022
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
ORACLE_UNQNAME=bjschxsb
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH
export PS1=`hostname`:'$PWD'"$"
注意:以上用户配置信息需要在所有节点进行配置,完成配置后需要重新执行该配置文件使其生效,例如:$ . .profile
4、安装步骤
4.1、安装Grid Infrastructure
以root身份执行(所有节点都执行)
#./rootpre.sh (脚本位于解压后安装包后在生成的grid目录下/u01/app/11.2.0/grid/clone/rootpre.sh
/u01/app/oracle/product/11.2.0/db_1/clone/rootpre.sh哪一个呢?)
$su – grid
$export DISPLAY=172.16.2.100:0.0(安装xmanager映射到本地,进行图形化安装这个IP是本地机器的IP吧??)
$xclock (检测xmanager配置是否成功)
$./runInstaller
选择skip software updates, 点next
选择Install and Configure Oracle Grid Infrasturecture for a Cluster
选择Advanced Installation
Next
Cluster Name:CLUSTER3
Scan信息必需与/etc/hosts文件中配置一致
SCAN Name: bjsczjdb01-scan
SCAN Port: 1521
点Add将节点二加入集群,输入public hostname:bjsczjdb02
Virtual hostname:bjsczjdb02-vip
公私网选择
选择Oracle ASM管理
选择OCR文件存储位置,如需做冗余,则可安装下例建立OCR_VOTE磁盘组,使用三个盘:/dev/rhdisk6 /dev/rhdisk7 /dev/rhdisk8
选择use Same password for these accounts, 密码为:oracle123
Grid组选择
grid base: /u01/app/grid
Grid Infrastruct Home(ure HomeSoftware location): /u01/11.2.0/grid
选择oraInventory路经:/u01/app/oraInventory
summary
4.2 、安装集群软件的psu
提示以root身份执行脚本orainstRoot.sh 和root.sh时,首先打psu ,后执行脚本。
下载最新的OPatch p6880880_112000_AIX64-5L.zip
#su – grid (所有节点操作)
$unzip p6880880_112000_AIX64-5L.zip –d $ORACLE_HOME
$ORACLE_HOME/OPatch/opatch napply -oh $ORACLE_HOME -local /u01/psu/13696251 (所有节点操作,可并行)
$ORACLE_HOME/OPatch/opatch apply -oh $ORACLE_HOME -local /u01/psu/13696216 (所有节点操作,可并行)
$opatch lsinv 检查补丁是否安装成功
确认安装psu成功后,以root身份在所有节点执行orainstRoot.sh和root.sh脚本。(不可并行)
4.3、安装数据库软件
使用oracle用户安装数据库软件
#su – oracle
$export DISPLAY=172.16.2.100:0.0
$xclock
$./runInstaller
Install_database software only
注意检查加入节点信息是否正确
选择enterprise edition(7.51GB)
确认ORACLE_HOME,ORACLE_BASE路径是否正确
ORACLE_BASE: /u01/app/oracle
ORACLE_HOME: /u01/app/oracle/product/11.2.0/db_1
选择管理组
4.4、安装数据库psu
注意在安装过程中根据提示运行脚本root.sh,先打psu后执行root.sh
#su – oracle(所有节点操作)
$unzip p6880880_112000_AIX64-5L.zip –d $ORACLE_HOME
$unzip p13696251_112030_AIX64-5L.zip –d /u01/psu
注意在psu目录中不能包含除PSU解压文件以外的文件。
$ /u01/psu/13696251/custom/server/13696251/custom/scripts/prepatch.sh -dbhome $ORACLE_HOME
$ORACLE_HOME/OPatch/opatch napply -oh $ORACLE_HOME -local /u01/psu/13696251/custom/server/13696251
$ORACLE_HOME/OPatch/opatch apply -oh $ORACLE_HOME -local /u01/psu/13696216
$/u01/psu/13696251/custom/server/13696251/custom/scripts/postpatch.sh -dbhome $ORACLE_HOME
# /u01/11.2.0/grid/rdbms/install/rootadd_rdbms.sh(以root身份执行)
打完补丁后注意检查:
$opatch lsinv
Psu完成后,以root身份在所有节点按照提示执行root.sh(不可并行)
4.5、配置ASM
使用grid用户创建asm磁盘组
#su – grid
$export DISPLAY=172.16.2.100:0.0
$asmca
点create
DATA 两块磁盘 external AU:4 1T
FLS 一块磁盘 external AU:4 512GB
4.6、创建数据库
使用oracle用户安装数据库
#su – oracle
$export DISPLAY=172.16.2.100:0.0
$xclock
$dbca
选择create a Database
选择custom Database
注意实例名填写正确,选中两个节点(select all)(实例名不超过8位)
根据需求如需安装EM,选择configure Enterprise Manager
选择enable automatic maintenance tasks
建议为所有用户配置相同密码,例如:oracle123
指定数据文件存放位置
根据需求如需开启归档,选择enable archiving,注意此处如不指出归档路径,默认为fast recovery area,大小受限于fast recovery area的大小。如需指明归档路径,选择edit archive mode parameters进行指定。
根据具体需求选择相应组件
关键参数设置
根据具体需求对数据库内存进行设置
连接数Processes:1000
选择字符集:AL32UTF8
默认为Dedicated Server Mode
Summary 查看配置信息
创建实例二:步骤同上
创建完成后检查集群状态
$crsctl status res –t