RAC_ASM설치 ( OEL5 + ORACLE 11g )






1. VMware 설정 및 리눅스 설치



  VMware (rac1) 설정  



- virtual machine name: rac1






- RAM: 1500MB






- HDD: 30GB






- Disk file name: rac1.vmdk







- 불필요한 하드웨어 삭제 : Edit virtual machine settings -> Floppy, USB controller, Sound card, Printer 삭제






- Add Hard ware type : Network Adapter 추가






- Network Adaptor type: Host-only






Add Hard ware type : HDD추가






- virtual disk type: SCSI

- Mode: Independent - persistent






-disk size/ Allocate all disk space now / single file






- Disk file name







Advanced setting


- Virtual device node :SCSI 1:0

- Mode: Independent - persistent




 










           - 이렇게 각각 총 6개 HDD 추가.



                      ocr_vote01 1G SCSI 1:0


               ocr_vote02 1G SCSI 1:1


               ocr_vote03 1G SCSI 1:2


               asm01         5G SCSI 1:3


               asm02         5G SCSI 1:4


               asm03         5G SCSI 1:5






- rac1 폴더의 rac1.vmx 파일 메모장으로 열고 내용 추가.



disk.locking = "FALSE"

diskLib.dataCacheMaxSize = "0"

scsi1.sharedBus = "virtual"


scsi1:0.deviceType = "disk"

scsi1:1.deviceType = "disk"

scsi1:2.deviceType = "disk"

scsi1:3.deviceType = "disk"

scsi1:4.deviceType = "disk"

scsi1:5.deviceType = "disk"







  OEL5 설치  













- Partition (/sda만)

/            7000

/boot      100

/var       1000

swap     3000

/home   8000

/app     나머지





















- Network devices : eth0, eth1 모두 Active
- Hostname : rac1








- 패키지 설치 : 사용자정의  ( 개발도구 모두 선택, 서버 모두 체크해제, 시스템툴 선택)



 






 - 시스템도구 -> 오른쪽 하단에 optional pakage선택



ocfs2-2.6.18-238.el5-1.4.6.-2.el5.i686

ocfs2-tools-1.6.3-2.el5.i386
ocfs2-console-1.6.3-2.el5.i386
oracleasm-2.6.18-238.el5-2.0.5.1.el5.i686
oracleasm-support-2.1.4-1.el5.i386
sysstat-7.0.2-3.el5_5.1.i386

 






 







2. node 설정 



 node_1 (rac1) 설정 




- 주소확인


ifconfig :   ip, netmask 주소확인

eth0 ip - 172.16.133.131

eth1 ip - 172.16.23.130

netmask - 255.255.255.0


netstat -nr :  gateway 172.16.133.2






- 주소바꾸기

rac1                rac2


eth0 (NAT) = public     172.16.133.100     172.16.133.200

eth1 (host) = private    172.16.23.111       172.16.23.222

eth0 (NAT) = vip          172.16.133.10       172.16.133.20


gw             172.16.133.2  (eth1은 gw설정 안함)

dns            168.126.63.1

















- vi /etc/hosts 내용추가



[root@rac1 ~]# vi /etc/hosts


# public

172.16.133.100        rac1

172.16.133.200        rac2

# private

172.16.23.111         rac1-priv

172.16.23.222         rac2-priv

# vip

172.16.133.10         rac1-vip

172.16.133.20         rac2-vip

172.16.133.30         rac-scan





리눅스 부팅 후 불필요한 서비스 OFF 

  


[root@rac1 ~]# chkconfig --level 123456 xinetd off

[root@rac1 ~]# chkconfig --level 123456 sendmail off

[root@rac1 ~]# chkconfig --level 123456 cups off

[root@rac1 ~]# chkconfig --level 123456 cups-config-daemon off

[root@rac1 ~]# chkconfig --level 123456 smartd off

[root@rac1 ~]# chkconfig --level 123456 isdn off

[root@rac1 ~]# chkconfig --level 123456 iptables off





- 계정생성


[root@rac1 ~]# groupadd -g 5000 dba

[root@rac1 ~]# groupadd -g 5001 oinstall

[root@rac1 ~]# useradd -g oinstall -G dba oracle

[root@rac1 ~]#

[root@rac1 ~]# passwd oracle





-  winscp로 설치파일옮기고,  설치파일 압축해제 및 권한변경



[oracle@rac1 ~]# cd /home/oracle

[root@rac1 oracle]#  unzip p10098816_112020_LINUX_1of7.zip && unzip p10098816_112020_LINUX_2of7.zip && unzip p10098816_112020_LINUX_3of7.zip


[root@rac1 oracle]# chown -R oracle.oinstall /home/oracle





vi /etc/sysctl.conf 내용 추가



[oracle@rac1 ~]# vi /etc/sysctl.conf


kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.wmem_max = 1048576

net.core.rmem_default = 4194304

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

fs.file-max = 6815744

fs.aio-max-nr = 1048576




 


 vi /etc/security/limits.conf 내용 추가



[oracle@rac1 ~]# vi /etc/security/limits.conf


grid soft nproc 2047

grid hard nproc 16384

grid soft nofile 1024

grid hard nofile 65536

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536






 vi /etc/pam.d/login 내용 추가



[oracle@rac1 ~]# vi /etc/pam.d/login


session     required     pam_limits.so





 vi /etc/modprobe.conf 내용 추가



[oracle@rac1 ~]# vi /etc/modprobe.conf


options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180






  modprobe



[root@rac1 ~]# modprobe -v hangcheck-timer

insmod /lib/modules/2.6.18-238.el5/kernel/drivers/char/hangcheck-timer.ko hangcheck_tick=30 hangcheck_margin=180





 vi /etc/rc.local 내용추가 



[oracle@rac1 ~]# vi /etc/rc.local


/sbin/modprobe hangcheck-timer

rdate -s 203.248.240.140






 vi /etc/sysconfig/ntpd  (options= -x 추가 )



[oracle@rac1 ~]# vi /etc/sysconfig/ntpd


-x








 ntpd 재시작



[root@rac1 ~]# service ntpd restart

ntpd를 종료중:                                               [ 실패 ]

ntpd: 시간서버와 동기화함:                            [  OK  ]

ntpd (을)를 시작 중:                                       [  OK  ]


[root@rac1 ~]# chkconfig --level 123456 ntpd on

[root@rac1 ~]#

[root@rac1 ~]# chown -R oracle.oinstall /app

[root@rac1 ~]# chmod -R 755 /app




 vi .bash_profile (root) 내용추가



[root@rac1 ~]# vi .bash_profile


export GRID_HOME=/app/11g/grid

export PATH=$PATH:$HOME/bin:$GRID_HOME/bin





 vi /home/oracle/.bash_profile 내용추가



[root@rac1 ~]# vi /home/oracle/.bash_profile


export EDITOR=vi

export TMP=/tmp

export TMPDIR=$TMP

export ORACLE_HOSTNAME=rac1

export ORACLE_UNQNAME=racdb

export ORACLE_BASE=/app/oracle

export ORACLE_HOME=$ORACLE_BASE/11g/db

export GRID_HOME=/app/11g/grid

export ORACLE_SID=racdb1

export ORACLE_TERM=xterm

export PATH=/usr/sbin:$PATH

export PATH=$ORACLE_HOME/bin:$GRID_HOME/bin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib






 파티션 분할 (sdb,sdc,sdd,sdf,sdg)



[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-130, default 1):

Using default value 1

Last cylinder or +size or +sizeM or +sizeK (1-130, default 130):

Using default value 130


Command (m for help): w

The partition table has been altered!


Calling ioctl() to re-read partition table.

Syncing disks.

[root@rac1 ~]#





 ASM환경설정 



[root@rac1 ~]# oracleasm configure -I

Configuring the Oracle ASM library driver.


This will configure the on-boot properties of the Oracle ASM library

driver.  The following questions will determine whether the driver is

loaded on boot and what permissions it will have.  The current values

will be shown in brackets ('[]').  Hitting <ENTER> without typing an

answer will keep that current value.  Ctrl-C will abort.


Default user to own the driver interface []: oracle

Default group to own the driver interface []: oinstall

Start Oracle ASM library driver on boot (y/n) [n]: y

Scan for Oracle ASM disks on boot (y/n) [y]: y


The next two configuration options take substrings to match device names.

The substring "sd" (without the quotes), for example, matches "sda", "sdb",

etc.  You may enter more than one substring pattern, separated by spaces.

The special string "none" (again, without the quotes) will clear the value.


Device order to scan for ASM disks []:

Devices to exclude from scanning []:

Writing Oracle ASM library driver configuration: done


[root@rac1 ~]#





 마운트 포인트 생성



[root@rac1 ~]# oracleasm init

Creating /dev/oracleasm mount point: /dev/oracleasm

Loading module "oracleasm": oracleasm

Mounting ASMlib driver filesystem: /dev/oracleasm




  공유디스크 생성 (/dev/oracleasm 밑에 생성됨)



[root@rac1 ~]# oracleasm createdisk ocr_vote01 /dev/sdb1

Writing disk header: done

Instantiating disk: done

[root@rac1 ~]# oracleasm createdisk ocr_vote02 /dev/sdc1

Writing disk header: done

Instantiating disk: done

[root@rac1 ~]# oracleasm createdisk ocr_vote03 /dev/sdd1

Writing disk header: done

Instantiating disk: done

[root@rac1 ~]# oracleasm createdisk asm01 /dev/sde1

Writing disk header: done

Instantiating disk: done

[root@rac1 ~]# oracleasm createdisk asm02 /dev/sdf1

Writing disk header: done

Instantiating disk: done

[root@rac1 ~]# oracleasm createdisk asm03 /dev/sdg1

Writing disk header: done

Instantiating disk: done

[root@rac1 ~]#




  생성 리스트 확인하고 시스템 종료



[root@rac1 ~]# oracleasm scandisks

Reloading disk partitions: done

Cleaning any stale ASM disks...

Scanning system for ASM disks...

[root@rac1 ~]# oracleasm listdisks

ASM01

ASM02

ASM03

OCR_VOTE01

OCR_VOTE02

OCR_VOTE03

[root@rac1 ~]# chown -R oracle.oinstall /dev/oracleasm

[root@rac1 ~]#

[root@rac1 ~]# init 0






 node_2 설정 



- rac1 폴더의 vmdk, vmx 파일을 rac2 폴더로 복사한후 rac2로 이름변경



 



- rac2.vmx파일 메모장으로 열고 rac1을 rac2로 모두 수정





 

- VMware에서 rac2.vmx 불러온후 i copied it.






  주소바꾸기 : 앞에 node1에서 지정했던 주소로 바꿔줌 (#neateth0,2.bak은 비활성화후 삭제


rac1                rac2


eth0 (NAT) = public     172.16.133.100     172.16.133.200

eth1 (host) = private    172.16.23.111       172.16.23.222

eth0 (NAT) = vip          172.16.133.10       172.16.133.20


gw             172.16.133.2 (eth1은 gw설정 안함)

dns            168.12

















 vi /home/oracle/.bash_profile (rac1 -> rac2 로 수정) 



[root@rac2 ~]# vi /home/oracle/.bash_profile


export EDITOR=vi

export TMP=/tmp

export TMPDIR=$TMP

export ORACLE_HOSTNAME=rac2

export ORACLE_UNQNAME=racdb

export ORACLE_BASE=/app/oracle

export ORACLE_HOME=$ORACLE_BASE/11g/db

export GRID_HOME=/app/11g/grid

export ORACLE_SID=racdb2

export ORACLE_TERM=xterm

export PATH=/usr/sbin:$PATH

export PATH=$ORACLE_HOME/bin:$GRID_HOME/bin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib





 node1에서 rpm설치후 node2에도 rpm파일전송하고 설치



[root@rac1 ~]# cd /home/oracle/grid/

[root@rac1 grid]# cd rpm/

[root@rac1 rpm]#

[root@rac1 rpm]# export CVUQDISK_GRP=dba

[root@rac1 rpm]# rpm -ivh cvuqdisk-1.0.9-1.rpm

           준비중:             ########################################### [100%]

   1:cvuqdisk               ########################################### [100%]

[root@rac1 rpm]# scp cvuqdisk-1.0.9-1.rpm rac2:~/

The authenticity of host 'rac2 (172.16.133.200)' can't be established.

RSA key fingerprint is 18:e2:c7:0b:4e:bd:7e:98:7b:7a:f8:b1:7e:2a:11:e2.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added 'rac2,172.16.133.200' (RSA) to the list of known hosts.

root@rac2's password:

cvuqdisk-1.0.9-1.rpm                          100% 8233     8.0KB/s   00:00



[root@rac2 ~]# export CVUQDISK_GRP=dba

[root@rac2 ~]# rpm -ivh cvuqdisk-1.0.9-1.rpm

       준비중‘...               ########################################### [100%]

   1:cvuqdisk               ########################################### [100%]

[root@rac2 ~]#