AIX 5L에 Oracle9i RAC 설치 문서입니다.
RAC설치 전 까지의 상황에 대해서 만들어져있습니다.
2. Preparing the system
Oracle9i RAC를 설치하려면 다음과 같은 S/W및 H/W가 준비되어 있어야 한다.
㈜ pSeries Cluster노드에 Oracle9i RAC를 설치하는 경우의 시스템 사양임.
구분 |
사양 |
RAM |
>= 512MB |
Internal Disk |
> 4GB |
Paging Space |
2xRAM, with a minimum of 400MB |
Temporary Disk Space |
> 800MB |
AIX |
AIX 5L ML01 + IY22854, IY26778, IY28766, IY28949, IY29965, IY30150, IY21047(only RAC)
bos.adt.base, bos.adt.lib, bos.adt.libm, bos.perf.perfstat |
HACMP |
HACMP/ES CRM 4.4.1 IY28111 |
JRE |
JRE 1.1.8 (IY30886)
JRE 1.3.1 (IY31033) |
Proc/C |
VAC 5.0 (5.0.2.1), U479781, U479971, IY23677 |
Pro*COBOL 1.8.77 |
Microfocus Server Express 2.0.10 |
Pro*COBOL 9.2.0.1.0 |
Microfocus Server Express 2.0.10 |
Pro*FOTRAN 1.8.77 |
XL FORTRAN 7.1 + xlopt 1.1.0.1 on AIX 5.1 |
SQL*Module ADA 9.2.0.1.0 |
OCS Power ADA 3.1 |
SSA Disk Microcode |
9911, 0023, 0012, 0070
lscfg –vl pdisknn(ROS Level and ID) |
SSA Adapter |
B300 |
AIX default limitation |
File size limitation(ulimit –f) check |
3. Network Configuration
Oracle User에 대해 Node간의 rcp, rsh, rlogin에 문제가 없어야 한다.
Ø /etc/hosts
9.9.9.1 rac1_boot # HACMP managed addresses
9.9.9.11 rac1_service
10.10.10.1 rac1_stdby
9.9.9.2 rac2_boot #HACMP managed addresses
9.9.9.22 rac2_service
10.10.10.2 rac2_stdby
128.128.194.1 rac1_fixed #External: fixed IP address, out of HACMP manage
128.128.194.2 rac2_fixed #External: fixed IP address, out of HACMP manage
Ø /etc/hosts.equiv
rac1_boot
rac1_service
rac1_stdby
rac2_boot
rac2_service
rac2_stdby
rac1_fixed
rac2_fixed
Ø $HOME/.rhosts
rac1_boot
rac1_service
rac1_stdby
rac2_boot
rac2_service
rac2_stdby
rac1_fixed
rac2_fixed
4. Configuring HACMP/ES on A Cluster of pSeries Hosts
Ø 모든 클러스터 노드에 다음의 Filesets이 Install되어야 한다.
cluster.adt.es.client.demos 4.4.1.0 C ES Client Demos
cluster.adt.es.client.include 4.4.1.1 C ES Client Include Files
cluster.adt.es.client.samples.clinfo 4.4.1.2 C ES Client CLINFO Samples
cluster.adt.es.client.samples.clstat 4.4.1.1 C ES Client Clstat Samples
cluster.adt.es.client.samples.demos 4.4.1.0 C ES Client Demos Samples
cluster.adt.es.client.samples.libcl 4.4.1.0 C ES Client LIBCL Samples
cluster.adt.es.java.demo.monitor 4.4.1.0 C ES Web Based Monitor Demo
cluster.adt.es.server.demos 4.4.1.0 C ES Server Demos
cluster.adt.es.server.samples.demos 4.4.1.0 C ES Server Sample Demos
cluster.adt.es.server.samples.images 4.4.1.0 C ES Server Sample Images
cluster.es.client.lib 4.4.1.3 C ES Client Libraries
cluster.es.client.rte 4.4.1.4 C ES Client Runtime
cluster.es.client.utils 4.4.1.2 C ES Client Utilities
cluster.es.clvm.rte 4.4.1.0 C ES for AIX Concurrent Access
cluster.es.cspoc.cmds 4.4.1.4 C ES CSPOC Commands
cluster.es.cspoc.dsh 4.4.1.0 C ES CSPOC dsh
cluster.es.cspoc.rte 4.4.1.2 C ES CSPOC Runtime Commands
cluster.es.hc.rte 4.4.1.1 C ES HC Daemon
cluster.es.server.diag 4.4.1.5 C ES Server Diags
cluster.es.server.events 4.4.1.6 C ES Server Events
cluster.es.server.rte 4.4.1.6 C ES Base Server Runtime
cluster.es.server.utils 4.4.1.6 C ES Server Utilities
cluster.msg.en_US.cspoc 4.4.1.0 C HACMP CSPOC Messages - U.S. English
cluster.msg.en_US.es.client 4.4.1.0 C ES Client Messages - U.S. English
cluster.msg.en_US.es.server 4.4.1.0 C ES Recovery Driver Messages -U.S. English
cluster.es.client.rte 4.4.1.0 C ES Client Runtime
cluster.es.clvm.rte 4.4.1.0 C ES for AIX Concurrent Access
cluster.es.hc.rte 4.4.1.0 C ES HC Daemon
cluster.es.server.events 4.4.1.0 C ES Server Events
cluster.es.server.rte 4.4.1.6 C ES Base Server Runtime
cluster.es.server.utils 4.4.1.0 C ES Server Utilities
5. Main Steps for implementing an HACMP configuration
Ø Configure the cluster
/usr/es/sbin/cluster/utilities/claddclstr -i'16' -n'cl_ibm'
smitty hacmp -> Cluster Configuration -> Cluster Topology -> Configure Cluster -> Add a Cluster Definition
Ø Configure nodes of cluster
클러스터로 구성되는 노드들의 이름을 입력한다.
/usr/es/sbin/cluster/utilities/clnodename -a 'janet'
smitty hacmp -> Cluster Configuration -> Cluster Topology -> Configure Nodes -> Add a Cluster Nodes
Ø Configure Network
/usr/es/sbin/cluster/utilities/clmodnetwork -a -n'net_pub' -t'public' -i'ether'
/usr/es/sbin/cluster/utilities/clmodnetwork -a -n'net_pvt' -t'private' -i'ether'
smitty hacmp -> Cluster Configuration -> Cluster Topology -> Configure Networks -> Configure IP-based Networks -> Add a Network
Ø Configure Adapter
Adapter별로 IP정보를 등록
smitty hacmp -> Cluster Configuration -> Cluster Topology -> Configure Adapters -> Configure IP-based Networks -> Add An Adapter
Ø Synchronize the cluster topology
smitty hacmp -> Cluster Configuration -> Cluster Topology -> Synchronize Cluster Topology
Ø Define a Resource Group
/usr/es/sbin/cluster/utilities/claddgrp -g 'share_rg' -r 'concurrent' -n 'red1 red2'
smitty hacmp -> Cluster Configuration -> Cluster Resources -> Define Resource Groups -> Add a Resource Group
Ø Check the attributes of resource group
smitty hacmp -> Cluster Configuration -> Cluster Resources -> Define Resource Groups -> Change/Show Resources/Attributes for a Resource Group
Ø Concurrent VG 등록
smitty hacmp -> Cluster Configuration -> Cluster Resources -> Define Resource Groups -> Change/Show Resources/Attributes for a Resource Group(Volume Group 부분)
Ø Synchronize the Cluster resources
smitty hacmp -> Cluster Configuration -> Cluster Resources -> Define Resource Groups -> Synchronize Cluster Resources
6. How to create and setup a concurrent volume group
Ø Check if target disks are physically linked to the 2 machines of the cluster and seen by both (Run lspv)
Ø Create at the AIX level on the 1st machine a concurrent volume group, myvg
smitty vg -> Add Volume Group
mkvg -f -y'myvg' -s'64' '-n' -V'64'(must choose the major number)
Ø Import myvg volume group on the 2nd machine
varyoffvg myvg
smitty importvg
importvg -y'myvg' -V'64'
Ø Define myvg volume group in an HACMP resource
smitty hacmp -> Cluster Configuration -> Cluster Resources -> Define Resource Groups -> Change/Show Resources/Attributes for a Resource Group
Service IP label None
Concurrent VG myvg
Fsck
sequential
Ø Synchronize the topology and the resources
Ø start HACMP
smitty hacmp -> Cluster Services -> Start Cluster Services
7. Is HACMP correctly configured ? Checklist
Ø Configure HAGS socket
Cluster의 모든 노드에서 다음 작업 실행
-. Check hagsuser group exists, else create it
-. place oracle into the hagsuser group
-. chmod a+x /usr/sbin/cluster/utilities/cldomain
-. chgrp hagsuser /var/ha/soc/grpsvcsdsocket.`/usr/sbin/cluster/utilities/cldomain`
Ø Check Interconnect
/usr/sbin/cluster/utilities/cllsif
rac1 service ether1 ether public rac1 10.1.1.1 en0
rac1_stby service ether2 ether private rac1 10.2.1.1 en1
rac2 service ether1 ether public rac2 10.1.1.5 en0
rac2_stby service ether2 ether private rac2 10.2.1.5 en1
Ø Check Concurrent Volume Group
모든 노드에서 lsvg –o를 실행하여 myvg Volume Group이 varyon되어 있는지 확인
Ø Check HACMP Daemon
lssrc –a | egrep ‘svcs|ES’
topsvcs topsvcs 45454 active
grpsvcs grpsvcs 59670 active
grpglsm grpsvcs 39028 active
emsvcs emsvcs 59508 active
emaixos emsvcs 45896 active
clstrmgrES cluster 47700 active
cllockdES lock 52542 active
clsmuxpdES cluster 37470 active
clinfoES cluster 56110 active
8. Creating the Raw Devices
Ø Oracle9i RAC에서 사용하는 다음과 같은 Raw Devices를 미리 생성하고 Permission을 oracle:dba, Mode를 660 또는 666으로 수정한다.
LV Name |
Raw Device Name |
Size(Min) |
Purpose |
srvconfig_lv |
/dev/rsrvconfig_lv |
100M |
Server configuration file(replacing db_name.conf in OPS) |
spfile_lv |
/dev/rspfile_lv |
5M |
Server Parameter File(replacing init.ora) |
tools_lv |
/dev/rtools_lv |
12M |
Tools Tablespace |
index_lv |
/dev/rindex_lv |
80M |
Index Tablespace |
drsys_lv |
/dev/rdrsys_lv |
90M |
DRSYS(intermedia & Ultrasearch) Tablespace |
temp_lv |
/dev/rtemp_lv |
100M |
Temp Tablespace |
cmwlite_lv |
/dev/rcmwlite_lv |
100M |
CMWLITE(OLAP) Tablespace |
ctrl1_lv |
/dev/rctrl1_lv |
10M |
Control File #1 |
ctrl2_lv |
/dev/rctrl2_lv |
10M |
Control File #2 |
users_lv |
/dev/rusers_lv |
120M |
USERS Tablespace |
redolog1_1_lv |
/dev/rredolog1_1_lv |
120M |
Redo Log Thread #1, Group #1 |
redolog1_2_lv |
/dev/rredolog1_2_lv |
120M |
Redo Log Thread #1, Group #2 |
redolog2_1_lv |
/dev/rredolog2_1_lv |
120M |
Redo Log Thread #2, Group #1 |
redolog2_2_lv |
/dev/rredolog2_2_lv |
120M |
Redo Log Thread #2, Group #2 |
example_lv |
/dev/rexample_lv |
160M |
EXAMPLE Tablespace |
undo1_lv |
/dev/rundo1_lv |
512M |
UNDO Tablespace(instance #1) |
undo2_lv |
/dev/rundo2_lv |
512M |
UNDO Tablespace(instance #2) |
system_lv |
/dev/rsystem_lv |
512M |
SYSTEM Tablespacce |
oemrepo_lv |
/dev/roemrepo_lv |
160M |
OEM repository |
Ø 위의 Raw Devices를 생성한 후 모든 노드의 /dev디렉토리에서 Raw Devices를 정상적으로 확인할 수 있어야 한다.(ls 명령어를 이용)
9. Installation ORACLE
Ø Set up Oracle Environment
-. Create Group : dba, hagsuser, oinstall
-. Create User : oracle
-. check /etc/group
hagsuser:!:203:oracle, root
dba:!:204:oracle
oinstall:!:205:oracle
-. Create /oracle file system(> 4GB)
-. touch /etc/oraInst.loc /etc/oratab /etc/srvConfig.loc
chown oracle:dba /etc/oraInst.loc /etc/oratab /etc/srvConfig.loc
chmod 644 /etc/oraInst.loc /etc/oratab /etc/srvConfig.loc
-. Edit /etc/srvConfig.loc on each node
srvconfig_loc=/dev/rsrvconfig_lv
-. when you “connect / as sysdba” if you get “insufficient privileges”, as root execute follow
touch /etc/passwd
-. Oracle Environment
# Oracle specific environment
umask 022
export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export NLS_LANG=american_america.WE8ISO8859P1
export ORACLE_SID=INSTANCE_NAME
export PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/local/bin:$ORACLE_HOME/bin:
/usr/bin/X11:/sbin:.
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:usr/local/lib
export LIBPATH=$ORACLE_HOME/lib:$LIBPATH
export CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jre/1.1.8/lib:/usr/jdk_base:
/usr/jdk_base/lib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/jlib:$ORACLE_HOME/network/jlib
# used by database configuration assistant to map datafiles to raw devices
export DBCA_RAW_CONFIG=$HOME/dbca_raw_config
# This file contains the raw device for 9i/RAC config
export SRVM_SHARED_CONFIG=/etc/srvConfig.loc
# These variables are not used and incorrectly referred to in some docs.
# Use SRVM_SHARED_CONFIG instead
#OPSM_SHARED_CONFIG=/etc/srvConfig.loc
#SRVM_RAW_CONFIG=/etc/srvConfig.loc
# If tmp has been re-directed (for example in /new_temp) add the 2 following lines:
export TEMP=/new_temp
export TEMPDIR=/new_temp
# if you want to use CLVM of HACMP instead of VSD in a SP environment
export PGSD_SUBSYS=grpsvcs
# set DISPLAY according to the machine to where you want to send the display, and execute
xhost + as root
export DISPLAY=<machine_name>:0
export ENV=$HOME/.kshrc
export PS1='{'"$(hostname -s)"'} $PWD> '
set -o vi
Ø Install Oracle Software
/cdrom/runInstaller 실행
이후의 Oracle9i Installation과정은 Oracle Manual Oracle9i Release 2(9.2.0.1.0) Installation Guide for UNIX Systems : AIX-Based Systems, Compaq Tru64 UNIX, HP 9000 Series HP-UX, Linux Intel and Sun Solaris를 참조하면 된다