1. 环境描述
1.1硬件环境
l 节点配置
节点 |
||||
节点名 |
实例名 |
数据库名 |
RAM |
操作系统 |
plat1 |
bgtp1 |
bgtp |
48G |
AIX6.1 TL04 |
app1 |
bgtp2 |
bgtp |
48G |
AIX6.1 TL04 |
app2 |
bgtp3 |
bgtp |
48G |
AIX6.1 TL04 |
l ASM配置
ASM |
|||||
磁盘组名 |
PV |
属主 |
权限 |
单个LUN大小 |
冗余 |
OCR_VOTE |
hdisk34-37 |
grid:asmadmin |
660 |
300M |
External |
DATA |
hdisk6-33 |
grid:asmadmin |
660 |
400G |
External |
1.2软件环境
l 操作系统:AIX 6100-04
l 数据库存储:ASM
l 数据库和集群件版本:ORACLE 11gr2
l 用户组和文件系统配置
用户组和文件系统配置 |
|||||
软件组件 |
用户 |
主组 |
辅助组 |
主目录 |
软件目录 |
Grid Infra |
grid |
oinstall |
asmadmin asmdba asmoper dba |
/home/grid |
/u01/grid |
RAC |
oracle |
oinstall |
dba asmadmin asmdba |
/home/oracle |
/u01/app/oracle/product/11.2.0/db |
1.3 数据库安装规划
l DB_NAME bgtp
l INSTANCE_NAME bgtp1/2/3
l MEMORY_TARGET 50%内存
l 数据库字符集 ZHS16GBK
1.4 新特性和新名词解释
l Oracle 11gR2将自动存储管理 (ASM) 和 Oracle Clusterware 集成在 Oracle Grid Infrastructure 中。Oracle ASM 和 Oracle Database 11gR2 提供了较以前版本更为增强的存储解决方案,该解决方案能够在 ASM 上存储 Oracle Clusterware 文件,即 Oracle 集群注册表 (OCR) 和表决文件(VF,又称为表决磁盘)。这一特性使 ASM 能够提供一个统一的存储解决方案,无需使用第三方卷管理器或集群文件系统即可存储集群件和数据库的所有数据
l SCAN(single client access name)即简单客户端连接名,一个方便客户端连接的接口;在Oracle 11gR2之前,client链接数据库的时候要用vip,假如cluster有4个节点,那么客户端的tnsnames.ora中就对应有四个主机vip的一个连接串,如果cluster增加了一个节点,那么对于每个连接数据库的客户端都需要修改这个tnsnames.ora。SCAN简化了客户端连接,客户端连接的时候只需要知道这个名称,并连接即可, 每个SCAN VIP对应一个scan listener,cluster内部的service在每个scan listener上都有注册,scan listener接受客户端的请求,并转发到不同的Local listener中去,由local 的listener提供服务给客户端
l 此外,安装GRID的过程也简化了很多,内核参数的设置可保证安装的最低设置,验证安装后执行fixup.sh即可,此外ssh互信设置可以自动完成,尤其不再使用OCFS及其复杂设置,直接使用ASM存储,在HP-UX11.31上无需额外的集群软件(如Service Guard for RAC Extendsion)即可安装
2. 安装前的检查和设置
2.1检测系统需求
l 物理内存>=2.5G
检测: /usr/sbin/lsattr -E -l sys0 -a realmem
l swap空间等于0.75-1倍的物理内存
检测: lsps -a
更改: smit chps 或chps -s'120' hd6
l 检测存储或LUN的大小
检测: lsattr -El rhdisk# -a size_mb
l 本地文件系统(用于oracle软件)
大于等于30G
l 临时空间大于5G
检测: df –g /tmp
更改: chfs -a size=20G /tmp
2.2 网络需求
l 每个节点一个public IP
l 每个节点一个public VIP
l 每个节点一个private IP
l 一个用于集群的SCAN名称和一到三个和public IP同网段的IP
l public IP,VIP和private IP写入/etc/hosts文件,scan名注册到DNS
public |
vip |
rac interconnect(private) |
SCAN |
||||
En4 |
En4 |
En6 |
scan-name |
ip |
|||
node name |
ip |
node name |
ip |
node name |
ip |
||
plat1 |
10.1.88.101 |
plat1-vip |
10.1.88.105 |
plat1-pri |
192.168.100.1 |
bgtp-scan |
10.1.88.110 |
app1 |
10.1.88.103 |
app1-vip |
10.1.88.107 |
app1-pri |
192.168.100.3 |
||
app2 |
10.1.88.104 |
app2-vip |
10.1.88.108 |
app2-pri |
192.168.100.4 |
l 配置DNS搜索域和解析顺序
2.3 软件需求
l 操作系统需求
Ø AIX 5L V5.3 TL 09 SP1 ("5300-09-01"), 64 bit kernel
Ø AIX 6.1 TL 02 SP5 ("6100-02-05"), 64-bit kernel
检测:oslevel –s
l 需要的操作系统包
Ø bos.adt.base
Ø bos.adt.lib
Ø bos.adt.libm
Ø bos.perf.libperfstat 5.3.9.0 or later (AIX 5.3)
Ø bos.perf.libperfstat 6.1.2.1 or later (AIX 6.1)
Ø bos.perf.perfstat
Ø bos.perf.proctools
Ø rsct.basic.rte
Ø rsct.compat.clients.rte
Ø xlC.aix50.rte:10.1.0.0 or later (AIX 5.3)
Ø xlC.aix61.rte:10.1.0.0 or later (AIX 6.1)
检测: lslpp -l bos.adt.base bos.adt.lib bos.adt.libm bos.perf.libperfstat bos.perf.perfstat bos.perf.proctools rsct.basic.rte rsct.compat.clients.rte xlC.aix61.rte
l 安装SSH软件
l 安装BASH
l 补丁集需求(6100-04 不需要在打任何补丁)
2.4 调试操作系统参数
l 异步IO
Ø 确保aio_maxreqs的值为65536
检测: ioo –o aio_maxreqs (AIX6.1)
lsattr -El aio0 -a maxreqs (AIX5.3)
Ø 调整aio_maxservers和aio_minservers为合适的值
原则:1)调整maxservers的值为10倍的磁盘数量,但是不要超过80
2)在高I/O的时间周期监控AIO的性能情况,如果所有的AIO服务进程都已经启动,那么增大maxservers的值.但是,过多的AIO进程也会增加系统的负载.
3)监控AIO服务进程的使用情况:
ps -ek|grep -v grep|grep –v posix_aioserver|grep -c aioserver
4)调整参数
ioo –po aio_maxservers=80 / ioo –po aio_minservers=40
l 调整虚拟内存管理(VMM)
Ø 调整:
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
l 调整maxuproc和ncargs参数
Ø chdev -l sys0 -a maxuproc=16384
Ø chdev -l sys0 -a ncargs=256 (默认)
2.5 配置网络调试参数
l PARAMETER RECOMMENDED VALUE
ipqmaxlen 512
rfc1323 1
sb_max 1500000
tcp_recvspace 65536
tcp_sendspace 65536
udp_recvspace 1351680 这个值应该是udp_sendspace的10倍,但是必须小于sb_max
udp_sendspace 135168 这个值至少应该是4K+(db_block_size*db_multiblock_read_count)的大小
l 修改命令
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
2.6 创建用户,组和文件系统
l 要求
Ø 创建GRID和ORACLE用户
Ø 创建OINSTALL组,DBA组,ASMADMIN组,ASMDBA组和ASMOPER组
Ø 所有节点的GRID和ORACLE用户名和组名要相同
Ø 所有节点的GRID和ORACLE用户ID和组ID必须相同
Ø 创建/u01/grid目录用于Grid Infrastructure软件
Ø 创建/u01/app/oracle用于Database软件
l 创建命令
Ø mkgroup -A id=506 oinstall
Ø mkgroup -A id=505 dba
Ø mkgroup -A id=507 asmadmin
Ø mkgroup -A id=508 asmdba
Ø mkgroup -A id=509 asmoper
Ø mkuser -a id=503 pgrp=oinstall groups=dba,asmadmin,asmdba,asmoper shell=/bin/bash home=/home/grid fsize=-1 cpu=-1 data=-1 core=-1 rss=-1 stack=-1 stack_hard=-1 capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE grid
Ø passwd grid
Ø mkuser -a id=502 pgrp=oinstall groups=dba,asmdba,asmadmin shell=/bin/bash 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
Ø mkdir -p /u01/grid
Ø mkdir -p /u01/app/oracle
Ø chown -R grid:oinstall /u01
Ø chmod -R 775 /u01/
Ø chown oracle:oinstall /u01/app/oracle
2.7 用户shell限制
l 更改root,grid,oracle用户的shell限制,要求如下
fsize = -1
core = -1
cpu = -1
data = -1
rss = -1
stack = -1
nofiles = -1
l 更改命令:smit chuser
2.8 信任关系设置
l root
Ø ssh-keygen –t rsa
Ø ssh-keygen –t dsa
Ø touch /.ssh/authorized_keys
Ø ssh plat1 cat /.ssh/id_rsa.pub >> /.ssh/authorized_keys
Ø ssh plat1 cat /.ssh/id_dsa.pub >> /.ssh/authorized_keys
Ø ssh app1 cat /.ssh/id_rsa.pub >> /.ssh/authorized_keys
Ø ssh app1 cat /.ssh/id_dsa.pub >> /.ssh/authorized_keys
Ø ssh app2 cat /.ssh/id_rsa.pub >> /.ssh/authorized_keys
Ø ssh app2 cat /.ssh/id_dsa.pub >> /.ssh/authorized_keys
Ø scp /.ssh/authorized_keys app1:/.ssh
Ø scp /.ssh/authorized_keys app2:/.ssh
l grid
Ø ssh-keygen –t rsa
Ø ssh-keygen –t dsa
Ø touch /home/grid/.ssh/authorized_keys
Ø ssh plat1 cat /home/grid/.ssh/id_rsa.pub >> /home/grid/.ssh/authorized_keys
Ø ssh plat1 cat /home/grid/.ssh/id_dsa.pub >> /home/grid/.ssh/authorized_keys
Ø ssh app1 cat /home/grid/.ssh/id_rsa.pub >> /home/grid/.ssh/authorized_keys
Ø ssh app1 cat /home/grid/.ssh/id_dsa.pub >> /home/grid/.ssh/authorized_keys
Ø ssh app2 cat /home/grid/.ssh/id_rsa.pub >> /home/grid/.ssh/authorized_keys
Ø ssh app2 cat /home/grid/.ssh/id_dsa.pub >> /home/grid/.ssh/authorized_keys
Ø scp /home/grid/.ssh/authorized_keys app1:/home/grid/.ssh
Ø scp /home/grid/.ssh/authorized_keys app2:/home/grid/.ssh
l oracle
Ø ssh-keygen –t rsa
Ø ssh-keygen –t dsa
Ø touch /home/oracle/.ssh/authorized_keys
Ø ssh plat1 cat /home/oracle/.ssh/id_rsa.pub >> /home/oracle/.ssh/authorized_keys
Ø ssh plat1 cat /home/oracle/.ssh/id_dsa.pub >> /home/oracle/.ssh/authorized_keys
Ø ssh app1 cat /home/oracle/.ssh/id_rsa.pub >> /home/oracle/.ssh/authorized_keys
Ø ssh app1 cat /home/oracle/.ssh/id_dsa.pub >> /home/oracle/.ssh/authorized_keys
Ø ssh app2 cat /home/oracle/.ssh/id_rsa.pub >> /home/oracle/.ssh/authorized_keys
Ø ssh app2 cat /home/oracle/.ssh/id_dsa.pub >> /home/oracle/.ssh/authorized_keys
Ø scp /home/oracle/.ssh/authorized_keys app1:/home/oracle/.ssh
Ø scp /home/oracle/.ssh/authorized_keys app2:/home/oracle/.ssh
l 验证
Ø 配置完毕后,互相访问验证,首次需要密码
2.9 存储配置
l 检测所有节点用于数据库存储的磁盘设备名是否相同
Ø 给想要使用的PV赋予PVID
chdev -l hdisk[6-37] -a pv=yes
Ø 在其他节点检测具有相同PVID的磁盘是否磁盘设备名也相同
Ø 如果所有节点相同,那么开始授权,如果不同,那么通过mknod命令创建别名设备或者删除设备重新刷新
l 改变用于数据库存储的PV的属主
Ø chown grid:asmadmin /dev/rhdisk[6-37]
l 改变用于数据库存储的PV的权限
Ø chmod 660 /dev/rhdisk[6-37]
l 检测和设置保持策略
Ø 检测: lsattr -E -l hdisk[6-37] | grep reserve_
Ø 设置保持策略:
chdev -l hdisk[6-37] -a reserve_policy=no_reserve (如果是reserve_policy)
chdev -l hdisk[6-37] -a reserve_lock=no (如果是reserve_lock)
l 清除PVID
Ø /usr/sbin/chdev -l hdisk[6-37] -a pv=clear
2.10 时间同步
l 说明
ORACLE Clusterware 11gr2需要所有节点的时间同步,方法除了以前的NTP服务以外,还可以选择Oracle Cluster Time Synchronization Service.如果我们当前使用了NTP服务,那么CTSSD将启动为观察模式.如果不使用NTP,那么CTSSD将在集群成员中同步时间
l 配置CTSSD环境
Ø 如果安装ntp服务,但是不能或不想通过它来进行时间同步,那么首先需要我们禁用它,这样在安装的时候,ORACLE会安装CTSSD资源来代替它
stopsrv –s xntpd
Ø 如果CTSSD已经出于观察模式,那么关闭NTP后通过grid用户激活它
crsctl stat resource ora.ctssd –t –init
l 另外,也可以配置NTP服务进行时间同步(略)
2.11 境变量设置
l grid用户(/home/grid/.profile)
umask 022
if [ -t 0 ]; then
stty intr ^C
fi
export ORACLE_SID=+ASM1 (节点2为+ASM2…..)
export ORACLE_BASE=/u01/app/oracle
export GRID_HOM=/u01/grid
export PATH=$GRID_HOME/bin:$PATH
l oracle用户(/home/oracle/.profile)
umask 022
if [ -t 0 ]; then
stty intr ^C
fi
export ORACLE_SID=bgtp1 (节点2为bgtp2…..)
export ORACLE_BASE=/u01/app/oracle
export GRID_HOME=/u01/grid
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db
export PATH=$ORACLE_HOME/bin:$GRID_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib
export NLS_LANG=american_america.ZHS16GBK
export ORACLE_OWNER=oracle
3. 安装Grid Infrastructure
3.1所有节点执行rootpre.sh
l 以root身份在所有节点执行slibclean
l 以root用户身份在所有节点执行Grid Infrastructure软件下的rootpre.sh脚本
./rootpre.sh
3.2开始安装
l 切换到grid用户
su – grid
l 设置DISPLAY环境变量
export DISPLAY=IP_ADDRESS:0.0
l 启动OUI开始安装
./runInstaller
安装选项:
安装类型:
选择语言:
配置SCAN
配置集群节点:
配置网络接口:
存储选择:
创建ASM磁盘组
指定操作系统组
安装路径指定:
维护目录指定
安装需求检测:
检测结果:
摘要:
安装进度:
以root身份执行脚本:
注意:
l root脚本在所有节点一定要成功完成
l 如果root.sh执行失败
Ø 切换到root, 在失败的节点执行"$GRID_HOME/crs/install/rootcrs.pl -verbose -deconfig -force".注意不能是最后一个节点
Ø 如果是反配置整个集群,那么在执行完第一步后,在最后一个节点运行 "$GRID_HOME/crs/install/rootcrs.pl -verbose -deconfig -force -lastnode". 这个命令会清空OCR和VOTING
Ø 在第一个节点执行$GRID_HOME/root.sh
Ø 如果节点大于等于4个,那么除最后一个节点外,可同时运行root.sh
Ø 在最后一个节点运行$GRID_HOME/root.sh
l 另外在root脚本执行完毕后,系统还会自动运行netca,asmca等一系列配置,这个过程要由ORACLE自己来完成,如果此处失败,后面手动运行netca,虽然可以成功配置监听,但是会导致数据库无法访问
l 安装过程要确保集群中各节点PUBLIC和PRIVATE地址都能够互相访问,笔者配置过程中,由于其中一节点private网口网线松动,导致在该节点执行root.sh报错: root.sh fails on the 2nd node while attempting to start 'ora.cssd':
4. 安装Database Software
4.1以root身份在所有节点执行slibclean
4.2开始安装
l 切换到oracle用户
su – oracle
l 设置DISPLAY环境变量
export DISPLAY=IP_ADDRESS:0.0
l 启动OUI开始安装
./runInstaller
配置安全更新:
安装选项:
GRID安装选项:
节点配置:
语言选择:
数据库版本:
选择要安装的组件:
选择安装位置:
指定特权组:
安装检测:
检测结果:
摘要:
开始安装:
最后执行root脚本完成安装
5. 创建ASM磁盘组
5.1以root身份在所有节点执行slibclean
5.2开始创建
l 切换到grid用户
su – grid
l 设置DISPLAY环境变量
export DISPLAY=IP_ADDRESS:0.0
l 启动ASM创建向导
asmca
创建新的磁盘组DATA:
磁盘组选项:
创建磁盘组
6. 创建Database
6.1以root身份在所有节点执行slibclean
6.2开始安装
l 切换到oracle用户
su – oracle
l 设置DISPLAY环境变量
export DISPLAY=IP_ADDRESS:0.0
l 启动数据库创建向导
dbca
数据库的类型:
创建数据库:
自定义数据库:
数据库名和节点指定:
EM配置:
指定账户密码:
存储类型指定:
输入ASM账户的密码:
指定是否启用回闪和归档
数据库选项:
内存配置:
SIZING:
字符集:
数据库存储配置:
创建选项:
开始创建:
最后完成数据库的创建
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7796861/viewspace-659477/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/7796861/viewspace-659477/