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