时间:2021-07-01 10:21:17 帮助过:28人阅读
上回文章中说道2005年第一个工作日熬了个通宵,具体讲来是到厦门和Beta一起实施oracle rac安装。虽然已经拿到证书,但因为工作性质关系,数据库维护还是做得不多,这次让我好好重温oracle知识。 Beta比较热诚,已经在客户那里奋战两天两夜,几近油枯灯尽(
上回文章中说道2005年第一个工作日熬了个通宵,具体讲来是到厦门和Beta一起实施oracle rac安装。虽然已经拿到证书,但因为工作性质关系,数据库维护还是做得不多,这次让我好好重温oracle知识。
Beta比较热诚,已经在客户那里奋战两天两夜,几近油枯灯尽(年轻人要注意保重身体啊),我到厦门也就是参加扫尾。
总的说来,全过程碰到的问题不少,但任务比较紧急,一些细节来不及考证,回来后在办公室环境中搭一个环境继续研究,另外试验环境还可供其它同事参考。
本系列文章全程记录安装过程中碰到的所有问题和解决手段。
1.准备环境
2.准备环境(续)
3.HACMP安装配置
4.OracleRac安装前准备
5.安装oracle软件
6.Oracle建库
7.RAC使用和测试
<下一篇>
一、准备环境。搭设的硬件环境如下:
44p270主机一台:375MHz PowerPC_POWER3 CPU一颗、512 MB内存、18.2GB内置硬盘、主板内置网卡+2968以太网卡、6230 SSA卡;
f80主机一台:450MHz PowerPC RS64III CPU四颗、2048MB内存、36.4GB内置硬盘、主板内置网卡+2968以太网卡、6230 SSA卡;
7133-D40磁盘阵列:2块36.4B 1万转硬盘构成RAID1阵列。
最后的软件环境如下:
AIX 5L V5.2、ML04+IY64978+IY63366
HACMP V5.1+U498114
f80主机刚刚在厦门光荣退租,要重新安装操作系统。安装过程中发现一个奇怪的问题,很多执行文件的存取属性被清空(变成----------)而导致无权限执行,这首先严重影响了打ML04补丁,bos.rte补丁中的一个script总是运行不成功,报/usr/lib/methods/cfgsf命令执行失败(bos.rte.config_u[42]: /usr/lib/methods/cfgsf: 0403-006 Execute permission denied.
update: Failed while executing the bos.rte.config_u script.),结果bos.rte及依赖其的几个文件集补丁无法实施。因为cfgsf文件本身就属于bos.rte,installp在安装bos.rte的时候先把它的存取属性清除了(覆盖原文件),然后再执行它,所以在installp之前修改cfgsf的属性没有意义。
解决方法比较笨拙,写一个死循环shell程序,不断地执行chmod 500 /usr/lib/methods/cfgsf命令(见下)。
while true
do
chmod 500 /usr/lib/methods/cfgsf
done
方过此关。
存取属性被清空的执行文件还有很多,引发了相当多的类似问题,其中一个就是影响了包括ssa卡和硬盘在内的很多设备的识别配置,/usr/lib/methods/下的文件都要检查一下。还有/usr/ssa下的几个bin目录也要重新设置一下执行属性。
因为在网上找不到类似的解决案例,我怀疑是手上的安装光盘有问题。
继续软硬件环境的准备。
1.2.网卡问题270主机上的一块网卡,访问网络总是有问题,ping不通。换过网线、插槽都不行,但把卡插到另一台b50主机上,网络访问又正常,怀疑是270主机主板问题,执行diag诊断(要先ifconfig en1 detach,否则报设备忙,无法进一步诊断),报下面错误:
SRN: 777-104
Description: Internal Loopback Test Failed.
Probable FRUs:
ent1 FRU: 091H0397 P2-I4/E1
IBM 10/100 Mbps Ethernet PCI Adapter (23100020)
看来还是网卡有问题,回到b50主机再做diag诊断,也报类似错误,正式宣告该卡死刑。换了一块2968以太网卡,没再报网络问题了。
1.3.创建增强并发访问卷组进行hacmp和数据库配置之前,要先准备资源,网络(ip和tty)、appserver和以前没什么区别,有特性的是共享卷组的准备。
因为要并发处理,所以卷组要建成concurrent capable的,AIX 5.2下只支持Enhanced Concurrent卷组:
# mkvg -C -n -y datavg hdisk1
0516-1335 mkvg: This system does not support enhanced
concurrent capable volume groups.
以前在网上碰到同样的报错求助,当时是胡乱猜疑,不达要点。这回找到了真正的原因——没有安装bos.clvm.enh:
# lslpp -L bos.clvm.enh
Fileset Level State Type Description (Uninstaller)
----------------------------------------------------------------------------
bos.clvm.enh 5.2.0.40 A F Enhanced Concurrent Logical Volume Manager
安装后,重新执行mkvg就正常了。
硬件环境和软件准备好后,接下来配置HACMP。
二、HACMP安装配置因为是实验环境,HACMP配置不是一开始就制定好的,修正过几次,甚至到后面安装oracle碰了钉子,又再回过头来修改配置。
2.1. HACMP安装在RAC下,必须安装cluster.es.clvm.rte文件集,否则concurrent资源组无法增加并行卷组资源,安装后需重新启动主机,才可生效。
最后系统里所有的hacmp文件集列表如下:
Fileset Level State Type Description (Uninstaller)
----------------------------------------------------------------------------
cluster.adt.* 5.1.0.0 C F ES Client Demos
cluster.es.client.* 5.1.0.6 A F ES Client Libraries
cluster.es.clvm.rte 5.1.0.0 C F ES for AIX Concurrent Access
cluster.es.cspoc.* 5.1.0.6 A F ES CSPOC Commands
cluster.es.server.* 5.1.0.6 A F ES Server Diags
cluster.es.worksheets 5.1.0.6 A F Online Planning Worksheets
cluster.license 5.1.0.0 C F HACMP Electronic License
cluster.msg.* 5.1.0.0 C F HACMP CSPOC Messages - U.S. English
rac下,一般使用oracle自己的failover功能在客户端实现服务主机的切换。但还希望借助hacmp实现单机上的网卡热备,所以拓扑配置上有些讲究。
想到cascading资源组中ipat会让service-ip地址从主机飘到备机上(所不愿见到的),所以先使用persistent-ip。经测试,persistent-ip可以在网卡失败时切换到备份网卡(但比service-ip花的时间要长不少,客户端中断感觉明显),功能基本满足要求。但实际使用中,这种配置方法给后面的rac安装造了不少麻烦,最后只能放弃。
在rac配置上挣扎很长一段时间,被周平一句话点醒,可以用配置仅包含单个节点的cascading资源组,来避免service-ip地址在主机间的漂移。最终的配置下,各种莫名其妙的问题迎刃而解(看来rac与hacmp的拓扑关系密切)。
最后的拓扑、资源配置如下:
# /usr/es/sbin/cluster/utilities/cltopinfo -i
IP Label Network Type Node Address If Netmask
========= ======= ==== ==== ======= ==== =======
f80 net_ether_01 ether f80 10.0.0.208 255.255.255.0
p270 net_ether_01 ether f80 10.0.0.207 255.255.255.0
f80_boot2 net_ether_01 ether f80 192.168.1.208 en0 255.255.255.0
f80_boot1 net_ether_01 ether f80 192.168.0.208 en1 255.255.255.0
f80_tty1_01 net_rs232_01 rs232 f80 /dev/tty1 tty1
f80 net_ether_01 ether p270 10.0.0.208 255.255.255.0
p270 net_ether_01 ether p270 10.0.0.207 255.255.255.0
p270_boot1 net_ether_01 ether p270 192.168.0.207 en0 255.255.255.0
p270_boot2 net_ether_01 ether p270 192.168.1.207 en1 255.255.255.0
p270_tty1_01 net_rs232_01 rs232 p270 /dev/tty1 tty1
# /usr/es/sbin/cluster/utilities/clshowres