|
|
一、系统概况 1、硬件情况: IBM P650一台,Power 4+处理器四颗,4G内存,36G硬盘两块 IBM P630一台,Power 4处理器两颗,2G内存,18G硬盘两块 IBM T40一台,36G×6 其中,P650作为主机,P630作为辅机,服务器上的两块硬盘都做成RAID 1,磁盘阵列T40上的六块硬盘做成RAID 10。 2、软件情况: *作系统采用IBM AIX 5.1.0 64-bit 双机软件:使用IBM HACMP CASCADE 4.4.0.0双机软件 数据库:Oracle 9.2.0 for IBM AIX EE 64-bit 前台应用软件:海信****软件 3、安装前,*作系统及双机环境已经搭建完毕。 二、安装数据库及HA实现过程 1、安装前准备 在AIX上安装Oracle和其它*作系统上的安装区别不大,步骤简单介绍如下: I. 检查系统环境 Requirement 检查命令 Memory 不低于512MB $ /usr/sbin/lsattr –E –l sys0 –a realmem Swap Space 建议为2GB $ /usr/sbin/lsps -a Disk Space Software 3.5GBSeed Database 1GB OS Version AIX 5.1 $ oslevel –r OS Patch Bos.adt.baseBos.adt.libBos.adt.libmBos.perf.perfstatBos.pert.libperfstat $ lslpp –l Java Patch JDK 1.3.1-build 20020316JRE 1.1.8-build 20020313 Language Patch 简体中文 UTF8.zh-cn Other 具体请参考文档 A96167-01.pdf II. 配置系统Kernel Parameter 安装Oracle9i AIX不需要额外配置Kernel Parameter。 III. 创建Mount Point Oracle9i的安装至少需要两个Mount Point: 一个用于Oracle软件,本例中定义为:/opt/oracle 至少一个存放Oracle数据:本例中定义为:/dcdb IV. 创建相关UNIX用户和组 利用smit工具,创建: 组dba,具有管理员权限,uid和gid都是1001 组oinstall,普通权限,udi和gid都是1002 用户oracle,属于dba和oinstall组,uid为999,用户目录为/opt/oracle 相关设置在P650和P630上的保持一致,并将目录/opt/oracle和/dcdb授权给oracle: $ chown oracle.dba /opt/oracle $ chown oracle.dba /dcdb V. 设定Oracle用户环境变量 编辑Oracle用户的.profile文件,定义如下的环境变量: ORACLE_BASE = /opt/oracle ORACLE_HOME = $ORACLE_BASE/product/9.2.0 ORACLE_SID = hidc (P650上) / hidcbak (P630上) ORACLE_TERM = vt100 DISPLAY = 192.168.10.122:0.0 (P650上)/ 192.168.10.124:0.0 (P630上) ORACLE_NLS33 = $ORACLE_HOME/ocommon/nls/admin/data LD_LIBRARY_PATH = $ORACLE_HOME/lib: $ORACLE_HOME/network/lib: LIBPATH = $ORACLE_HOME/lib JAVA_HOME = /usr/java130 PATH = $PATH:$ORACLE_HOME/bin:/usr/local/bin export ORACLE_BASE ORACLE_HOME ORACLE_SID ORACLE_TERM export ORACLE_NLS33 LD_LIBRARY_PATH LIBPATH PATH DISPLAY JAVA_HOME umask 022 2、安装Oracle软件及建库 I. 放入第一张光盘,并以root用户身份Mount CDROM: $ mount –rv cdrfs /dev/cd0 /cdrom II. 以root身份进入/cdrom目录,执行: $ sh rootpre.sh $ xhost + III. 切换到Oracle用户,运行Oracle安装程序runInstaller: $ su – oracle # sh /cdrom/runInstaller.sh IV. 依次输入“oinstall”,选择“Oracle 9i Database”,数据库类型选择“custom”,“不创建数据库”。 V. 在安装的最后,以root身份执行/opt/oracle/product/9.2.0/root.sh VI. 检查各个安装log文件,确认安装成功 VII. 以oracle身份执行dbca,开始建立数据库。(在P650上) 选择“create a database”,选择“New Database”,在“Global Database Name”和“SID”输入“hidc”,在字符集中选择“zhs16gbk”,将所有的控制文件、数据文件、日志文件以及SPFILE文件的存放位置指定到磁盘阵列上。设定各个表空间的大小及其它参数,并选择保存建库脚本和现在建库,建立数据库hidc。 VIII. 重复上述步骤VII,在P630上建立数据库hidcbak。 3、配置双机HA 在这里,我们认为HACMP的双机HA已经成功配置。 I. 在两台机器的/opt/oracle目录下面,建立.rhosts文件,添加如下内容: 192.168.10.192 oracle # p650上 192.168.10.194 oracle # p630上 编辑/etc/hosts.lpd文件,加入一行: 192.168.10.194 # p650上 192.168.10.192 # p630上 编辑/etc/hosts.equiv文件,加入: 192.168.10.192 192.168.10.194 在两台机器上执行: $ rlogin 192.168.10.192 和 $ rlogin 192.168.10.194 确认rcp和rlogin时不需要口令。 II. 参照如下内容,编辑两台机器上的listener.ora和tnsnames.ora: LISTENER.ORA文件内容如下: # LISTENER.ORA Network Configuration File: # /opt/oracle/product/9.2.0/network/admin/listener.ora # Generated by Oracle Configuration tools: 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.ORA Network Configuration File: # /opt/oracle/product/9.2.0/network/admin/tnsnames.ora # Generated by Oracle Configuration tools: 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数据的关闭和启动由IBM AIX HACMP的启动和关闭脚本负责,其位置为: /usr/dbapp/dbstart.sh 和 /usr/dbapp/dbstop.sh 其中,dbstop和dbstart脚本由IBM HACMP提供,分别负责数据库的关闭和启动。在两台机器上,还需要分别手工建立两个脚本dbstartmain.sh / dbstopmain.sh 和 dbstartbak.sh / dbstopbak.sh。各个脚本内容分别如下: DBSTART.SH: # Generated by aiko 2003-4-18 # Start Oracle Database on P650: /usr/dbapp/dbstart.sh #! /bin/sh su – oracle – c start /usr/dbapp/dbstartmain.sh DBSTOP.SH: # Generated by aiko 2003-4-18 # Start Oracle Database on P650: /usr/dbapp/dbstop.sh #! /bin/sh su – oracle – c start /usr/dbapp/dbstopmain.sh DBSTARTMAIN.SH: # Generated by aiko 2003-4-18 # Start Oracle Database on P650: /usr/dbapp/dbstartmain.sh #! /bin/sh export ORACLE_SID = hidc /opt/oracle/product/9.2.0/bin/sqlplus /nolog < connect / as sysdba startup exit EOF lsnrctl start listener_main DBSTOPMAIN.SH: # Generated by aiko 2003-4-18 # Start Oracle Database on P650: /usr/dbapp/dbstopmain.sh #! /bin/sh export ORACLE_SID = hidc lsnrctl stop listener_main /opt/oracle/product/9.2.0/bin/sqlplus /nolog < connect / as sysdba shutdown immediate EOF DBSTART.SH: # Generated by aiko 2003-4-18 # Start Oracle Database on P630: /usr/dbapp/dbstart.sh #! /bin/sh su – oracle – c start /usr/dbapp/dbstartmain.sh DBSTOP.SH: # Generated by aiko 2003-4-18 # Start Oracle Database on P630: /usr/dbapp/dbstop.sh #! /bin/sh su – oracle – c start /usr/dbapp/dbstopmain.sh DBSTARTBAK.SH: # Generated by aiko 2003-4-18 # Start Oracle Database on P630: /usr/dbapp/dbstartmain.sh #! /bin/sh export ORACLE_SID = hidcbak /opt/oracle/product/9.2.0/bin/sqlplus /nolog < connect / as sysdba startup exit EOF lsnrctl start listener_bak DBSTOPBAK.SH: # Generated by aiko 2003-4-18 # Start Oracle Database on P630: /usr/dbapp/dbstopmain.sh #! /bin/sh export ORACLE_SID = hidcbak lsnrctl stop listener_bak /opt/oracle/product/9.2.0/bin/sqlplus /nolog < connect / as sysdba shutdown immediate EOF IV. 数据库双机实现的验证: 正常情况下,主数据库hidc及其监听程序listener_main运行在p650上,备用数据库hidcbak在p630上处于shutdown状态。 如果p650重起,或者当机后,p630上的数据库hidcbak及其监听程序会自动启动。
|
|