Oracle/RAC

RAC설치하기(RHEL4, 10g, ASM, VMWare환경) #3 ; Node1, Node2 설정하기(중요중요!!)

에몽이ㅋ 2012. 3. 1. 12:56
NODE 1 SETTING
1. IP정보 정리하기
# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:F4:43:91
          inet addr:192.168.0.15  Bcast:192.168.0.255  Mask:255.255.255.0
....생략....
eth1      Link encap:Ethernet  HWaddr 00:0C:29:F4:43:9B
          inet addr:192.168.195.131  Bcast:192.168.195.255  Mask:255.255.255.0
....생략....

# netstat -nr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.195.0   0.0.0.0         255.255.255.0   U         0 0          0 eth1
192.168.0.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth1
0.0.0.0         192.168.0.1     0.0.0.0         UG        0 0          0 eth0

IP정보 정리하기
RAC1(위의 정보를 보고 따로 어디 적어놓으세요)

Public IP : 192.168.0.15 (공용 IP, 관리용 IP, Gateway : 192.168.0.1)
Private IP : 192.168.195.131 (사설 IP, node 끼리의 통신을 위해서 구성하는 IP)
Virtual IP(VIP) : 서비스용 IP(임의로 정하면 되고, 보통 Public IP와 같은 대역대를 쓰면 됩니다.)
         여기서는 192.168.0.115 로 정하겠습니다.

RAC2(RAC1 보다 1씩 증가시키면됩니다.)
Public IP : 192.168.0.16 (공용 IP, 관리용 IP, Gateway : 192.168.0.1)
Private IP : 192.168.195.132 (사설 IP, node 끼리의 통신을 위해서 구성하는 IP)
Virtual IP(VIP) : 서비스용 IP(임의로 정하면 되고, 보통 Public IP와 같은 대역대를 쓰면 됩니다.)
         여기서는 192.168.0.116 로 정하겠습니다. 


2. 넷카드 설정
# neat
실행 후 netcard 설정


3. 네크워트서비스 재시작 후 테스트, 필요없는 서비스 지워주기
# service network restart
# ping 168.126.63.1  무조건 핑 성공해야함 
[root@rac1 ~]# ping 168.126.63.1
PING 168.126.63.1 (168.126.63.1) 56(84) bytes of data.
64 bytes from 168.126.63.1: icmp_seq=0 ttl=55 time=21.3 ms
64 bytes from 168.126.63.1: icmp_seq=1 ttl=55 time=26.5 ms
 

핑이 Unreachable이 되게되면 clusterware 설치시 CRS-1006, CRS-0215에러 발생
(해결방법 :
리눅스 설치할때 NAT로 했으면 장비를 끄신 후
네크워크설정을 Bridge로 바꾸고 ip를 192.168.0.번대로 바꾸고 게이트웨이를 192.168.0.1로 변경)


 불필요한 서비스 off
# chkconfig --level 123456 xinetd off
# chkconfig --level 123456 sendmail off
# chkconfig --level 123456 cups off
# chkconfig --level 123456 cups-config-daemon off
# chkconfig --level 123456 smartd off
# chkconfig --level 123456 isdn off
# chkconfig --level 123456 pcmcia off
# chkconfig --level 123456 iptables off

4. vi /etc/hosts
127.0.0.1       localhost.localdomain   localhost   << 기본적으로 있는 줄인데 중간에 rac1를 지워주세요
 # Public
192.168.0.15  rac1
192.168.0.16  rac2
# Private
192.168.195.130         rac1-priv
192.168.195.131         rac2-priv
# Vip
192.168.0.115   rac1-vip
192.168.0.116   rac2-vip
(# Pulic, Private, Vip는 추가하세요)

5. vi /etc/sysctl.conf  에 내용추가
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144

6. vi /etc/security/limits.conf 에 내용추가
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

7. vi /etc/pam.d/login 에 내용추가
session    required     pam_limits.so

8. vi /etc/modprobe.conf 에 내용추가
options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180

9. vi /etc/rc.local 에 내용추가
/sbin/modprobe hangcheck-timer
rdate -s 203.248.240.140

10. 그룹, 유저 추가, 비밀번호설정
# groupadd -g 5000 dba
# useradd -g dba oracle
# passwd oracle

11. # vi .bash_profile  (root의 .bash_profile)
PATH=$PATH:$HOME/bin:/home/oracle/product/10g/crs/bin

12. vi .bash_profile (oracle 의 .bach_profile)
# su - oracle
$ vi .bash_profile
export EDITOR=vi
export LD_ASSUME_KERNEL=2.4.19
export ORACLE_BASE=/home/oracle
export ORA_CRS_HOME=$ORACLE_BASE/product/10g/crs
export ORACLE_HOME=$ORACLE_BASE/product/10g/db
export ORA_ASM_HOME=$ORACLE_BASE/product/10g/asm
export ORACLE_SID=rac1
#export LANG=ko_KR.eucKR
export LANG=ko_KR.UTF-8
export ORACLE_TERM=xterm
export NLS_LANG=AMERICAN_AMERICA.KO16MSWIN949
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export PATH=$PATH:$ORACLE_HOME/bin:/$ORA_CRS_HOME/bin
export CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

13. 디스크들 파티션설정(root로 실행하세요)
# fdisk /dev/sdb~i
[root@rac1 ~]# fdisk /dev/sdb

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-307, default 1): 그냥 엔터
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-307, default 307): 그냥 엔터
Using default value 307

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

14. vi /etc/sysconfig/rawdevices 에 내용추가
/dev/raw/raw1   /dev/sdb1
/dev/raw/raw2   /dev/sdc1
/dev/raw/raw3   /dev/sdd1
/dev/raw/raw4   /dev/sde1
/dev/raw/raw5   /dev/sdf1
/dev/raw/raw6   /dev/sdg1
/dev/raw/raw7   /dev/sdh1
/dev/raw/raw8   /dev/sdi1

15. /etc/init.d/rawdevices restart

16. vi /etc/udev/permissions.d/50-udev.permissions
(113 번째 줄부터 아래와같이 수정하세요)
# raw devices
ram*:root:disk:0660
#raw/*:root:disk:0660
raw/*:oracle:dba:0660

17. /etc/init.d/rawdevices restart
(** 14~17 부분을 OEL5나 RHEL5에서 하실때에는 http://gyh214.tistory.com/168 참조하세요)
 
18. ls -l /dev/raw  (oracle.dba로 퍼미션확인)
합계 0
crw-r-----  1  oracle dba 162, 1  3월  1 01:41 raw1
crw-r-----  1  oracle dba 162, 2  3월  1 01:41 raw2
crw-r--r--  1 oracle dba 162, 3  3월  1 01:41 raw3
crw-r--r--  1 oracle dba 162, 4  3월  1 01:41 raw4
crw-r--r--  1 oracle dba 162, 5  3월  1 01:41 raw5
crw-rw----  1 oracle dba 162, 6  3월  1 01:41 raw6
crw-rw----  1 oracle dba 162, 7  3월  1 01:41 raw7
crw-rw----  1 oracle dba 162, 8  3월  1 01:41 raw8

19. init 0 (node1세팅완료, node2로 복사하기 위해 장비 shutdown)



NODE 2 SETTING 

1. RAC2 디렉토리 생성 후
rac1.vmdk, rac1.vmx 파일을 RAC2 디렉토리로 복사



2. VMware에 복사한 머신 추가



3. 추가한 머신 Edit


(위 하드에서 빨리 설정하지 않으면, Disk space Swap? 메시지가 한참동안 뜨게 됩니다. 이때는 그냥 Reset해버리시고
위 설정 다시 하세요)


네트워크 설정
# neat


node2 쪽 oracle .bach_profile 수정
# su - oracle
$ vi .bash_profile
export ORACLE_SID=rac2
이후 재부팅, RAC1도 부팅

다음 node1, node2 연동 설정(Equivalence)으로 넘어갑니다!
클릭!!