★★★오라클 10g RAC_rawdevices 설치 - 설치전 작업★★★  

 

 

1. ifconfig로 NAT로 잡힌 eth0과 eth1의 IP를 확인해서 종이에 적어둔다.

 

2. netstat -nr로 Gateway주소를 확인 후 종이에 적어둔다.

 

3. neat명령어로 네트워크 설정창을 열어 eth0과 eth1의 IP를 수동으로 바꿔 1번작업에서 적어둔 IP를 수동 IP에 넣는다.

 

▼4. DNS에서 호스트명과 기본 DNS를 아래 사진과 같이 넣는다. 

5. 설정이 끝나면 네트워크를 재시작해서 적용이 되게 한다.

# /etc/init.d/network restart

 

6. 핑이 가는지 확인한다.
# ping 168.126.63.1

 

▼7. 아래 사진과 같이 불필요한 서비스 데몬을 종료시킨다.

▼8. /etc/hosts파일에 아래 사진의 내용처럼 IP를 추가한다. 중요한것은 아래사진의 빨간 네모 자리의 rac1이름을 꼭 지워줘야 한다.

9. sysctl.conf파일에 아래 사진의 내용을 추가한다.

# 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

 

▼10. limits.conf파일에 아래 사진의 내용을 추가한다.
# vi /etc/security/limits.conf

oracle soft nproc 2047
oracle hard nproc16384
oracle soft nofile 1024
oracle hard nofile65536

 

11. login파일에 내용을 추가한다.
# vi /etc/pam.d/login
session required pam_limits.so
12. modprobe.conf파일에 내용을 추가한다.
# vi /etc/modprobe.conf
options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180
13. 시스템 상태를 확인한다. <= 커널기반의 타이머를 사용하여 시스템 태스크 스케쥴러에 발생하는 딜레이를 정기적으로
# modprobe -v hangcheck-timer 점검하는 방식을 사용
14. rc.local파일에 내용을 추가한다.
# vi /etc/rc.local
/sbin/modprobe hangcheck-timer
rdate -s 203.248.240.140
15. 아래 사진의 rpm이 설치되었는지 확인한다.

16. id가 5000인 dba그룹의 oracle 사용자를 만든다.
# groupadd -g 5000 dba
# useradd -g dba oracle
# passwd oracle (비번은 본인이 알아서)

 

17. .bash_profile파일에 내용을 추가한다.
# vi .bash_profile
PATH=$PATH:$HOME/bin:/home/oracle/product/10g/crs/bin

 

▼18. 오라클 계정으로 .bash_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 ORACLE_SID=rac1
export LANG=ko_KR.eucKR
export ORACLE_TERM=xterm
export NLS_LANG=AMERICAN_AMERICA.KO16KSC5601
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

 

19. root계정으로 돌아와 추가해줬던 하드의 파티션을 나눠준다. 빨강 화살표는 그냥 엔터치면 된다.
$ exit
# fdisk /dev/sdb

위 사진에서 8e는 LVM을 위한 설정이다.

 

20. 나머지 2개의 하드도 위와 같은 방식으로 파티션을 나눠준다.

 

21. 추가한 하드의 물리적 볼륨을 생성하고 확인한다.
# pvcreate /dev/sdb /dev/sdc /dev/sdd
# pvdisplay

 

22. 볼륨그룹을 생성하고 확인한다.
# vgcreate rac /dev/sdb /dev/sdc /dev/sdd
# vgdisplay

 

23. 볼륨그룹을 oracle에서 사용될 파일로 나눠 생성하고 확인한다.
lvcreate --name ocr1 --size 300 rac && lvcreate --name ocr2 --size 300 rac && lvcreate --name vote1 --size 300 rac && lvcreate --name vote2 --size 300 rac && lvcreate --name vote3 --size 300 rac && lvcreate --name system --size 600 rac && lvcreate --name sysaux --size 300 rac && lvcreate --name undotbs1 --size 200 rac && lvcreate --name undotbs2 --size 200 rac && lvcreate --name users --size 10 rac && lvcreate --name temp --size 100 rac && lvcreate --name control01 --size 100 rac && lvcreate --name control02 --size 100 rac && lvcreate --name control03 --size 100 rac && lvcreate --name redo01_a --size 50 rac && lvcreate --name redo01_b --size 50 rac && lvcreate --name redo02_a --size 50 rac && lvcreate --name redo02_b --size 50 rac && lvcreate --name redo03_a --size 50 rac && lvcreate --name redo03_b --size 50 rac && lvcreate --name redo04_a --size 50 rac && lvcreate --name redo04_b --size 50 rac && lvcreate --name spfile --size 50 rac (복사하세요)
# lvcreate --name ocr1 --size 300 rac
# lvcreate --name ocr2 --size 300 rac
# lvcreate --name vote1 --size 300 rac
# lvcreate --name vote2 --size 300 rac
# lvcreate --name vote3 --size 300 rac
# lvcreate --name system --size 600 rac
# lvcreate --name sysaux --size 300 rac
# lvcreate --name undotbs1 --size 200 rac
# lvcreate --name undotbs2 --size 200 rac
# lvcreate --name users --size 10 rac
# lvcreate --name temp --size 100 rac
# lvcreate --name control01 --size 100 rac
# lvcreate --name control02 --size 100 rac
# lvcreate --name control03 --size 100 rac
# lvcreate --name redo01_a --size 50 rac
# lvcreate --name redo01_b --size 50 rac
# lvcreate --name redo02_a --size 50 rac
# lvcreate --name redo02_b --size 50 rac
# lvcreate --name redo03_a --size 50 rac
# lvcreate --name redo03_b --size 50 rac
# lvcreate --name redo04_a --size 50 rac
# lvcreate --name redo04_b --size 50 rac
# lvcreate --name spfile --size 50 rac
# lvscan

 

24. rawdevices파일에 아래 사진의 내용을 추가한다. <= rawdevice는 OS가 하드디스크 관리를 안하고 어플리케이션이 관리를 한다.
# vi /etc/sysconfig/rawdevices 여기서 어플리케이션은 asm프로그램을 말한다. 여기서 추가내용은 내가 어떤
하드디스크를 rawdevices로 쓰겠다고 rawdevices 정보를 적어준것이다.
이 파일을 커널이 보고 적혀있는 디스크가 rawdevices임을 알고 신경을 안쓴다.

/dev/raw/raw1 /dev/rac/ocr1
/dev/raw/raw2 /dev/rac/ocr2
/dev/raw/raw3 /dev/rac/vote1
/dev/raw/raw4 /dev/rac/vote2
/dev/raw/raw5 /dev/rac/vote3
/dev/raw/raw6 /dev/rac/system
/dev/raw/raw7 /dev/rac/sysaux
/dev/raw/raw8 /dev/rac/undotbs1
/dev/raw/raw9 /dev/rac/undotbs2
/dev/raw/raw10 /dev/rac/users
/dev/raw/raw11 /dev/rac/temp
/dev/raw/raw12 /dev/rac/control01
/dev/raw/raw13 /dev/rac/control02
/dev/raw/raw14 /dev/rac/control03
/dev/raw/raw15 /dev/rac/redo01_a
/dev/raw/raw16 /dev/rac/redo01_b
/dev/raw/raw17 /dev/rac/redo02_a
/dev/raw/raw18 /dev/rac/redo02_b
/dev/raw/raw19 /dev/rac/redo03_a
/dev/raw/raw20 /dev/rac/redo03_b
/dev/raw/raw21 /dev/rac/redo04_a
/dev/raw/raw22 /dev/rac/redo04_b
/dev/raw/raw23 /dev/rac/spfile
이거 그대로 써서 추가해준다.

 


25. rawdevices를 재시작하여 추가한 내용을 적용시킨다.
# /etc/init.d/rawdevices restart

 

26. rawdevices의 권한을 바꿔준다. 113번줄을 수정하고 114번줄에 추가한다. <= asm을 오라클 사용자가 사용하기 때문에 권한을
# vi /etc/udev/permissions.d/50-udev.permissions oracle로 바꿔준다.
112번줄 ram*:root:disk:0660
113번줄 #raw/*:root:disk:0660
114번줄 raw/*:oracle:dba:0660

 

27. rawdevices를 다시 재시작한다.
# /etc/init.d/rawdevices restart

 

28. oracle, dba가 맞는지 퍼미션을 확인한다.
# ls -l /dev/raw

 

29. node1세팅이 완료되었다. 리눅스 종료 후 node2를 세팅한다.
# init 0

 

▼30. rac2 폴더를 생성 후 rac1.vmdk와 rac1.vmx파일을 rac2에 복사한다.

▼31. VMware에 복사한 가상머신을 추가하고 Edit virtual machine settings를 눌러 가상머신 이름을 rac2로 바꾸고 부팅한다.

 

32. 만약 추가한 하드의 저장을 rac1과 같은 폴더에 했다면 하드를 눌렀을때 아래 사진과 같은 창이 뜬다. 이럴경우 추가했던 하드 3개를

아래 remove로 모두 지운다. 그리고 아래의 사진과 같은 방식으로 다시 추가한다.

Add를 누른다.

▲Hard Disk를 선택 후 Next를 누른다.

▲Use an existing virtual disk를 선택하고 Next를 누른다.

▲Independent를 체크하고 Browse를 누른다

▲rac1에 있는 disk1폴더를 선택해서 추가한다. 나머지 하드도 똑같은 방식으로 추가한다.

 

▼33. 부팅을 하면 아래 사진의 창이 뜨는데 I copied it을 눌러야 한다.

파란색 화면에 회색 창이 뜨면 아무키나 눌러준다. 안눌러주면 그냥 지나가 버린다.

네트웍 카드 장치 삭제를 2번 해준다.

 

▲동적 IP주소 자동설정 사용에 체크하고 확인한다.

 

▼34. 부팅이 되면 root계정으로 로그인하고 터미널창에서 neat를 쳐서 수동IP로 설정해준다.
node2(rac2)의 IP는 node1의 hosts파일에 적어놓았던 IP를 넣어준다. node1 IP에 1씩 더해준것.

 

35. DNS에서 호스트명과 기본 DNS를 아래 사진과 같이 넣는다.

 

36. oracle 계정으로 바꿔서 .bash_profile의 ORACLE_SID=2로 수정한다.
# su - oracle
$ vi .bash_profile
export ORACLE_SID = rac2

 

37. 재부팅을 하고 node1도 부팅을 시킨다.
$ exit
# reboot

 

38
. oracle계정으로 로그인하고 _equivalence 설정을 한다. <= 이 작업은 rac1과 rac2가 서로 접속을 하는데 암호를 안묻도록 설정을
하는것이다. 암호가 들어있는 파일을 각 노드에서 서로의 암호를
가지고 있어서 암호를 안물어도 암호 파일을 보고 맞다는것을 안다.
node1, node2모두 실행한다.

▲빨강 화살표 부분은 그냥 엔터를 치고 넘어가면 된다.

 

39.
node1에서만 아래 작업을 실행한다.
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
$ ssh rac2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
         암호치는거 한번 나온다.
$ ssh rac2 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
         암호묻는거 한번 나온다.
$ scp ~/.ssh/authorized_keys rac2:~/.ssh/authorized_keys

 

40. 암호를 묻지 않는지
node1, node2 모두 점검한다. 처음 한번만 암호를 묻는다.
$ ssh rac1 date
$ ssh rac1-priv date
$ ssh rac2 date
$ ssh rac2-priv date

 

▼41. node1의 oracle 계정에 pkg 디렉토리를 만들어 설치에 필요한 clusterware, database, 패치파일을 WinSCP프로그램으로 옮긴다.
node2에는 pkg 디렉토리에10201_clusterware_linux32.zip파일만 옮긴다.

42. pkg디렉토리로 이동하여 압축을 풀어준다. node2의 clusterware압축도 풀어준다.
$ cd pkg
$ unzip 10201_clusterware_linux32.zip
$ unzip 10201_database_linux32.zip
$ unzip p6810189_10204_Linux-x86.zip

 

43. 압축 풀어준 clusterware의 rpm 디렉토리로 이동하여 rpm을 설치한다.
node1, node2 모두 설치한다.
$ su -
# cd /home/oracle/pkg/clusterware/rpm
# export CVUQDISK_GRP=dba
# rpm -Uvh cvuqdisk-1.0.1-1.rpm

 

44. oracle 계정으로 돌아와 clusterware의 cluvfy 디렉토리로 이동하여 아래의 내용을 실행한다. node1만 한다.
# exit
$ cd /home/oracle/pkg/clusterware/cluvfy
$ ./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -verbose <= vip, oinstall, rpm 관련 에러 무시
$ ./runcluvfy.sh stage -post hwos -n rac1,rac2 -verbose <= vip 관련 에러 무시

 

이렇게 하면 설치전 작업을 끝마칠 수 있다. 이어서 바로 clusterware설치를 하면 된다.
by 짱구를꼭말려 2013. 8. 23. 16:46