AIX5L上Oracle双机的实现原文:AIX5L上Oracle双机的实现一、系统概况1、硬件情况:IBMP650一台,Power4+处理器四颗,4G内存,36G硬盘两块IBMP630一台,Power4处理器两颗,2G内存,18G硬盘两块IBMT40一台,36G×6其中,P650作为主机,P630作为辅机,服务器上的两块硬盘都做成RAID1,磁盘阵列T40上的六块硬盘做成RAID10。2、软件情况:*作系统采用IBMAIX5.1.064-bit双机软件:使用IBMHACMPCASCADE4.4.0.0双机软件数据库:Oracle9.2.0forIBMAIXEE64-bit前台应用软件:海信****软件3、安装前,*作系统及双机环境已经搭建完毕。二、安装数据库及HA实现过程1、安装前准备在AIX上安装Oracle和其它*作系统上的安装区别不大,步骤简单介绍如下:I.检查系统环境Requirement检查命令Memory不低于512MB$/usr/sbin/lsattr–E–lsys0–arealmemSwapSpace建议为2GB$/usr/sbin/lsps-aDiskSpaceSoftware3.5GBSeedDatabase1GBOSVersionAIX5.1$oslevel–rOSPatchBos.adt.baseBos.adt.libBos.adt.libmBos.perf.perfstatBos.pert.libperfstat$lslpp–lJavaPatchJDK1.3.1-build20020316JRE1.1.8-build20020313LanguagePatch简体中文UTF8.zh-cnOther具体请参考文档A96167-01.pdfII.配置系统KernelParameter安装Oracle9iAIX不需要额外配置KernelParameter。III.创建MountPointOracle9i的安装至少需要两个MountPoint:一个用于Oracle软件,本例中定义为:/opt/oracle至少一个存放Oracle数据:本例中定义为:/dcdbIV.创建相关UNIX用户和组利用smit工具,创建:组dba,具有管理员权限,uid和gid都是1001组oinstall,普通权限,udi和gid都是1002用户oracle,属于dba和oinstall组,uid为999,用户目录为/opt/oracle相关设置在P650和P630上的保持一致,并将目录/opt/oracle和/dcdb授权给oracle:$chownoracle.dba/opt/oracle$chownoracle.dba/dcdbV.设定Oracle用户环境变量编辑Oracle用户的.profile文件,定义如下的环境变量:ORACLE_BASE=/opt/oracleORACLE_HOME=$ORACLE_BASE/product/9.2.0ORACLE_SID=hidc(P650上)/hidcbak(P630上)ORACLE_TERM=vt100DISPLAY=192.168.10.122:0.0(P650上)/192.168.10.124:0.0(P630上)ORACLE_NLS33=$ORACLE_HOME/ocommon/nls/admin/dataLD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/network/lib:LIBPATH=$ORACLE_HOME/libJAVA_HOME=/usr/java130PATH=$PATH:$ORACLE_HOME/bin:/usr/local/binexportORACLE_BASEORACLE_HOMEORACLE_SIDORACLE_TERMexportORACLE_NLS33LD_LIBRARY_PATHLIBPATHPATHDISPLAYJAVA_HOMEumask0222、安装Oracle软件及建库I.放入第一张光盘,并以root用户身份MountCDROM:$mount–rvcdrfs/dev/cd0/cdromII.以root身份进入/cdrom目录,执行:$shrootpre.sh$xhost+III.切换到Oracle用户,运行Oracle安装程序runInstaller:$su–oracle#sh/cdrom/runInstaller.shIV.依次输入“oinstall”,选择“Oracle9iDatabase”,数据库类型选择“custom”,“不创建数据库”。V.在安装的最后,以root身份执行/opt/oracle/product/9.2.0/root.shVI.检查各个安装log文件,确认安装成功VII.以oracle身份执行dbca,开始建立数据库。(在P650上)选择“createadatabase”,选择“NewDatabase”,在“GlobalDatabaseName”和“SID”输入“hidc”,在字符集中选择“zhs16gbk”,将所有的控制文件、数据文件、日志文件以及SPFILE文件的存放位置指定到磁盘阵列上。设定各个表空间的大小及其它参数,并选择保存建库脚本和现在建库,建立数据库hidc。VIII.重复上述步骤VII,在P630上建立数据库hidcbak。3、配置双机HA在这里,我们认为HACMP的双机HA已经成功配置。I.在两台机器的/opt/oracle目录下面,建立.rhosts文件,添加如下内容:192.168.10.192oracle#p650上192.168.10.194oracle#p630上编辑/etc/hosts.lpd文件,加入一行:192.168.10.194#p650上192.168.10.192#p630上编辑/etc/hosts.equiv文件,加入:192.168.10.192192.168.10.194在两台机器上执行:$rlogin192.168.10.192和$rlogin192.168.10.194确认rcp和rlogin时不需要口令。II.参照如下内容,编辑两台机器上的listener.ora和tnsnames.ora:LISTENER.ORA文件内容如下:#LISTENER.ORANetworkConfigurationFile:#/opt/oracle/product/9.2.0/network/admin/listener.ora#GeneratedbyOracleConfigurationtools:LISTENER_MAIN=(DESCRIPTION_LIST=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.10.192)(PORT=1521)))(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))))SID_LIST_LISTENER_MAIN=(SID_LIST=(SID_DESC=(SID_NAME=PLSExtProc)(ORCLE_HOME=/opt/oracle/product/9.2.0)(PROGRAM=extporc))(SID_DESC=(SID_NAME=hidc)(ORCLE_HOME=/opt/oracle/product/9.2.0)))LISTENER_BAK=(DESCRIPTION_LIST=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.10.194)(PORT=1522)))(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))))SID_LIST_LISTENER_MAIN=(SID_LIST=(SID_DESC=(SID_NAME=PLSExtProc)(ORCLE_HOME=/opt/oracle/product/9.2.0)(PROGRAM=extporc))(SID_DESC=(SID_NAME=hidcbak)(ORCLE_HOME=/opt/oracle/product/9.2.0)))TNSNAMES.ORA文件内容如下:#TNSNAMES.ORANetworkConfigurationFile:#/opt/oracle/product/9.2.0/network/admin/tnsnames.ora#GeneratedbyOracleConfigurationtools:HIDC=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.10.192)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=hidc)))HIDCBAK=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.10.194)(PORT=1522)))(CONNECT_DATA=(SERVICE_NAME=hidcbak)))III.Oracle数据的关闭和启动由IBMAIXHACMP的启动和关闭脚本负责,其位置为:/usr/dbapp/dbstart.sh和/usr/dbapp/dbstop.sh其中,dbstop和dbstart脚本由IBMHACMP提供,分别负责数据库的关闭和启动。在两台机器上,还需要分别手工建立两个脚本dbstartmain.sh/dbstopmain.sh和dbstartbak.sh/dbstopbak.sh。各个脚本内容分别如下:DBSTART.SH:#Generatedbyaiko2003-4-18#StartOracleDatabaseonP650:/usr/dbapp/dbstart.sh#!/bin/shsu–oracle–cstart/usr/dbapp/dbstartmain.shDBSTOP.SH:#Generatedbyaiko2003-4-18#StartOracleDatabaseonP650:/usr/dbapp/dbstop.sh#!/bin/shsu–oracle–cstart/usr/dbapp/dbstopmain.shDBSTARTMAIN.SH:#Generatedbyaiko2003-4-18#StartOracleDatabaseonP650:/usr/dbapp/dbstartmain.sh#!/bin/shexportORACLE_SID=hidc/opt/oracle/product/9.2.0/bin/sqlplus/nologEOFconnect/assysdbastartupexitEOFlsnrctlstartlistener_mainDBSTOPMAIN.SH:#Generatedbyaiko2003-4-18#StartOracleDatabaseonP650:/usr/dbapp/dbstopmain.sh#!/bin/shexportORACLE_SID=hidclsnrctlstoplistener_main/opt/oracle/product/9.2.0/bin/sqlplus/nologEOFconnect/assysdbashutdownimmediateEOFDBSTART.SH:#Generatedbyaiko2003-4-18#StartOracleDatabaseonP630:/usr/dbapp/dbstart.sh#!/bin/shsu–oracle–cstart/usr/dbapp/dbstartmain.shDBSTOP.SH:#Generatedbyaiko2003-4-18#StartOracleDatabaseonP630:/usr/dbap