====== Oracle 10g RAC Release2 on HP-UX Installation Guide ====== ===== HP-UX 환경설정 및 사전준비 ===== ==== HP-UX OS Version 확인 (Itanium / IPF) ==== | HP-UX testdb2 B.11.23 U ia64 2126332087 unlimited-user license | ==== Oracle Version 확인 ==== | Oracle 10g Database 10.2 | ==== HP-UX Disk Space 공간확인 ==== | Database 1.2G 이상 | | Software 2.5G 이상 | ==== HP-UX Memory 공간확인 ==== | 최소 1G RAM 이상 | ==== HP-UX Swap 공간확인 ==== | Memory 크기 | Swap 셋팅값 | |1024MB < RAM < 2048MB |RAM Size * 1.5 | |2048MB < RAM < 8192MB |RAM Size | |8192MB < RAM |RAM Size * 0.75 | ==== HP-UX Tmeporary 공간확보 ==== | 400MB 이상 | ==== HP-UX JDK/JRE 버젼 확인 ==== | 1.4.2.00 이상 | ==== HP-UX Package와 Patches 확인 ==== | Oracle Site에서 권고하는 정확한 Package가 필요하다. | ==== HP-UX Kernel 값 설정 ==== - KSI_ALLOC_MAX (NPROC*8) - EXECUTABLE_STACK=0 - MAX_THREAD_PROC 1024 - MAXDSIZ 1073741824 bytes - MAXDSIZ_64BIT 2147483648 bytes - MAXSSIZ 134217728 bytes - MAXSSIZ_64BIT 1073741824 - MAXUPRC ((NPROC*9)/10) - MSGMAP (MSGTQL+2) - MSGMNI NPROC - MSGSEG 32767 - MSGTQL 4096 - NFILE (15*NPROC+2048) - NFLOCKS 4096 - NINODE (8*NPROC+2048) - NKTHREAD (((NPROC*7)/4)+16) - NPROC 4096 - SEMMNI 4096 - SEMMNS (SEMMNI*2) - SEMMNU (NPROC - 4) - SEMVMX 32767 - SHMMAX AvailMem - SHMMNI 512 - SHMSEG 120 - VPS_CEILING 64 ==== Unsupported Products 확인 ==== | OTN 사이트 등에서 지원 제품군을 확인한다. | ==== Installation, Configuration, and Upgrade Issues ==== ==== Other Known Issues ==== === Cluster Verification Utility (CVU) === - Check Kernel Parameter Settings * CVU는 커널 파라미터 셋팅을 체크하지 않는다. - Raw Devices Shared Storage * CVU는 오라클 클러스터웨어와 RAC를 설치하고 데이터베이스를 생성 하기 위해 클러스터의 가용성을 검증한다. * 또한 독립적인 클러스터 구성 요소들의 통합을 검증하는데 도움을 준다. * CVU는 raw 디바이스를 찾지도 않으며, 또한 raw 디스크에 대해 공유 체크를 수행하지 않는다. ==== Network Requirements ==== === 클러스터의 각 노드는 다음의 요구 사항들을 충족시켜야 한다 === - 각 노드는 최소한 두개의 네트웍 어댑터들을 갖고 있어야 한다. * Public Network 인터페이스와 Private Network 인터페이스(인터커넥터)용으로 각각 1개 - 각 네트웍에 대해 네트웍 어댑터들과 관련있는 인터페이스 이름들은 모든 노드들에서 동일해야 한다. * 예) private interconnect에 대해서는 lan0을, public interconnect에 대해서는 lan1. - 신뢰성을 높이기 위해서, HP Serviceguard나 HP Auto Port Aggregation(APA)을 사용해서 각 노드에 대해 예비(또는 백업용) public과 private network adapter들을 설정할 수 있다. - private network에 대해, 다음의 인터커넥터 프로토콜과 하드웨어가 RAC 10g와 함께 지원된다. * HP-UX 11.11(PA-RISC), HP-UX 11.23(Itanium2 and PA-RISC)을 위해 1GB Ethernet 이상의 UDP * HP-UX 11.11(PA-RISC), HP-UX 11.23(Itanium2 and PA-RISC)을 위해 HyperFabric2 이상의 UDP * HyperFabric2 이상의 Hyper Messaging Protocol(HMP)(PA-RISC only) * Infiniband이상의 Full RDMA는 RAC 10g R2에서 지원된다. ==== Storage Considerations for Installing Oracle RAC 10g ==== === Support Storage Options === | Storage Option | Clusterware | Database | Recovery | |Automatic Storage Management | No | Yes | Yes | |Shared raw logical volumes(requires SGeRAC) | Yes | Yes | No | |Shared raw disk devices as presented to hots | Yes | Yes | No | |Shared raw partitions(Itanium2 only) | Yes | Yes | No | |Veritas CFS | Yes | Yes | Yes | === 제약사항 === * Standard Edition 설치를 위해서, ASM이 데이터베이스나 복구 파일을 위해 유일하게 지원되는 스토리지 옵션이다. * Oracle Clusterware files를 저장하기 위해 Automatic Storage Management를 사용할 수 없다. 왜냐하면 이러한 파일들은 어떤 오라클 인스턴스라도 시작되기 전에 억세스되어야 하기 때문이다. * HP Serviceguard Extension for RAC(SGeRAC)를 사용하지 않는다면, Clusterware나 데이터베이스 파일 스토리지를 위해 shared raw logical volumes를 사용할 수 없다 === Network Attached Storage for RAC Databases (참고) === * NAS는 RAC를 위한 공유 스토리지로서 HP 11.23에서 지원된다. * RAC를 위한 공유 스토리지로 NAS를 사용하기 위해 PHNE_32055 패치를 적용시킨다. ===== CRS 설치 ===== ==== /etc/hosts 파일을 Real IP, Virtual IP, Heartbeat IP 정보를 추가한다. ==== $ cat /etc/hosts # heartbeat line 172.16.0.1 testhb1 172.16.0.2 testhb2 # oracle 10g RAC Online 192.168.200.231 testdb1 testdb1.yoons.or.kr 192.168.200.232 testdb2 testdb2.yoons.or.kr 192.168.200.233 testvip1 testvip1.yoons.or.kr 192.168.200.234 testvip2 testvip2.yoons.or.kr ==== ocr(640)과 vote(660) 파일의 퍼미션을 확인한다. ==== oracle@testdb1 /dev/vg10$ ls -al /dev/vg10/rocr /dev/vg10/rvote crw-r----- 1 oracle dba 64, 1048593 2006-10-18 11:25 /dev/vg10/rocr crw-rw---- 1 oracle dba 64, 1048594 2006-10-18 11:25 /dev/vg10/rvote ==== 압축파일을 해제한다. ==== $ unzip 10gr2_clusterware_hpi.zip $ cd clusterware/cluvfy/ $ ./runcluvfy.sh comp nodecon -n testdb1,testdb2 -verbose ==== profile 설정을 추가한다. ==== $ cat .profile export ORACLE_BASE=/oracle export ORACLE_HOME=$ORACLE_BASE/product/10g #export ORACLE_HOME=$ORACLE_BASE/product/crs export ORA_CRS_HOME=$ORACLE_BASE/product/crs export NLS_LANG=AMERICAN_AMERICA.KO16MSWIN949 export ORACLE_SID=SOAF2 export SHLIB_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32:/usr/lib export PATH=$ORACLE_HOME/bin:$ORA_CRS_HOME/bin:$PATH #CLASSPATH must include the following JRE locations: export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib export CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib export EDITOR=vi $ cat .dtprofile DTSOURCEPROFILE=true # 주석을 해제한다. ===== Virtual IP(VIP) 설정 ===== ==== CRS 설치가 끝나후, root계정으로 X-windows 로그인 후, vipca를 실행해준다. ==== $ ${ORACLE_HOME}/bin/vipca ==== /etc/hosts 파일에 정보가 제대로 들어가 있다면, 호스트이름 입력시 IP 정보 등이 자동으로 입력된다. ==== ==== Modifying a Virtual IP Address Node Application ==== === 기존 가상 IP 주소(VIP) 리소스의 이름, IP 주소, 또는 netmask를 수정할 때, 다음의 명령어를 사용한다. === $ srvctl modify nodeapps === 그리고 –A 인수에서 VIP에 대해 기존의 인터페이스를 포함시킨다. === $ srvctl modify nodeapps –n mynode1 –A 100.200.300.40/255.255.255.0/eth- ===== Database 설치 ===== - .profile 에서 $ORACLE_HOME 정보를 수정한다. - 다음부터 일반적인 Oracle Database 설치와 동일하다. ===== Database 패치(Patch) ===== ==== 패치파일을 풀어놓는다. (이 파일로 CRS,DATABASE 둘다 패치작업을 진행한다) ==== testdb1$ unzip p4547817_10202_HPUX-IA64.zip ==== EM 이 떠 있는지 확인하고 떠 있으면 em을 정지시킨다. ==== testdb1$ emctl status dbconsole testdb1$ emctl stop dbconsole ==== 모든 node의 LISTENER 를 내린다. ==== testdb1$ more $ORACLE_HOME/network/admin/listener.ora <- 리스너 정보를 확인한다. testdb1$ lsnrctl stop LISTENER_TESTDB1 testdb1$ lsnrctl status testdb2$ more $ORACLE_HOME/network/admin/listener.ora <- 리스너 정보를 확인한다. testdb2$ lsnrctl stop LISTENER_TESTDB1 testdb2$ lsnrctl status ==== 서버별 Database를 모두 내린다. ==== testdb1$ sqlplus '/as sysdba' SQL> shutdown immediate; SQL> exit; testdb2$ sqlplus '/as sysdba' SQL> shutdown immediate; SQL> exit; ==== 모든 CRS를 내린다. ==== testdb1$ crsctl stop crs testdb2$ crsctl stop crs ==== CRS 패치를 한다. ==== - $HOME/.profile 의 $ORACLE_HOME 을 수정한다. - X-windows를 새로 띄워서 패치작업을 진행한다.(한쪽노드에서만 설치해도 된다.) - 종료직전 후, root로 해야 하는 작업이 있을 경우 수행해 준다.(필요시 모든 노드에서 실행) ==== Oracle Datbase 패치를 한다. ==== - $HOME/.profile 의 $ORACLE_HOME 을 수정한다. - X-windows를 새로 띄워서 패치작업을 진행한다.(한쪽노드에서만 설치해도 된다.) - 종료직전 후, root로 해야 하는 작업이 있을 경우 수행해 준다.(필요시 모든 노드에서 실행) ==== 패치 스크립트를 돌린다. ==== - $ORACLE_HOME/dbs/initSOAF1.ora 파일을 열어서 cluster_database 를 false로 수정한다. cluster_database=false - upgrade 스크립트를 실행한다. $ sqlplus '/as sysdba' SQL> spool upgrade_log SQL> startup upgrade SQL> show parameter shared SQL> show parameter java SQL> @?/rdbms/admin/catupgrd.sql SQL> shutdown immediate; SQL> startup SQL> @?/rdbms/admin/utlrp.sql SQL> shutdown immediate; ==== CRS, DATABASE를 실행한다. ==== - 아래의 명령을 통해서 자동으로 DB를 올려준다. $ srvctl start database -d SOAF - LISTENER가 제대로 떠 있는지 확인한다. $ lsnrctl status