http://jigi.net/4285 글을 참조하여 RAC를 구성하였습니다.
http://blog.naver.com/PostView.nhn?blogId=ecross&logNo=150041546356 을 참조하여 노드를 추가하였습니다.
기존의 네트워크 설정
새 노드설정(rac3)
새로 추가할 노드(rac3)에서 작업합니다.
1. 네트워크 설정
# netstat -nr 실행 후 eth0, eth1, Gateway를 알아낸 후
1.1 vi /etc/hosts 에 내용추가 (노드1, 노드2에도 rac3 부분은 모두 추가해주세요)
1.2 # neat 실행 후 eth0, eth1, DNS IP지정(아래 스샷참고)
위 처럼 설정한 후
# service network restart 실행
1.3 핑테스트
2. 불필요한 서비스 삭제
3. 커널파라미터 설정 (vi /etc/sysctl.conf 에 내용추가)
4. # vi /etc/security/limits.conf 에 내용추가
5. 다른 기타 설정들
6. # vi /etc/profile 수정(아래 내용을 적절한 위치에 넣어주세요)
7. 필수 RPM검사(RPM의 경우는 없으면 무조건 설치를 해야합니다.)
http://jigi.net/attachment/7817025897.zip << 링크참조
8. NTP service 설정
9. user, group 생성 및 비밀번호 설정
10. 설치 디렉토리 생성(Grid, oracle database SW 설치용)
11. # vi .bash_profile 내용추가
12. oracle user의 .bash_profile 내용추가
13. 스토리지 설정
(oracleasm패키지를 사용하느냐 아니냐에 따라 달라질 수 있는데, 여기서는 oracleasm을 사용하지 않았습니다. oracleasm 패치지 이용은 맨 위의 링크의 파일을 참조하세요.)
14. reboot
--> RAC node 추가하기(2/2) 로 계속
http://blog.naver.com/PostView.nhn?blogId=ecross&logNo=150041546356 을 참조하여 노드를 추가하였습니다.
기존의 네트워크 설정
192.168.0.15 rac1 192.168.0.16 rac2 192.168.79.130 rac1-priv 192.168.79.131 rac2-priv 192.168.0.115 rac1-vip 192.168.0.116 rac2-vip 192.168.0.30 rac-cluster-scan
새 노드설정(rac3)
새로 추가할 노드(rac3)에서 작업합니다.
1. 네트워크 설정
# netstat -nr 실행 후 eth0, eth1, Gateway를 알아낸 후
1.1 vi /etc/hosts 에 내용추가 (노드1, 노드2에도 rac3 부분은 모두 추가해주세요)
127.0.0.1 localhost.localdomain localhost << 이부분의 원래 있던 rac3를 지워주세요. 192.168.0.15 rac1 192.168.0.16 rac2 192.168.0.17 rac3 192.168.79.130 rac1-priv 192.168.79.131 rac2-priv 192.168.79.132 rac3-priv 192.168.0.115 rac1-vip 192.168.0.116 rac2-vip 192.168.0.117 rac3-vip 192.168.0.30 rac-cluster-scan
1.2 # neat 실행 후 eth0, eth1, DNS IP지정(아래 스샷참고)
위 처럼 설정한 후
# service network restart 실행
1.3 핑테스트
[root@rac3 ~]# 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=1 ttl=55 time=11.2 ms 64 bytes from 168.126.63.1: icmp_seq=2 ttl=55 time=14.1 ms --- 168.126.63.1 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1000ms rtt min/avg/max/mdev = 11.249/12.721/14.194/1.476 ms
2. 불필요한 서비스 삭제
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 iptables off
3. 커널파라미터 설정 (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
4. # 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
5. 다른 기타 설정들
# vi /etc/pam.d/login session required pam_limits.so # vi /etc/modprobe.conf options hangcheck-timer hangcheck_tick=30 hangcheck_margin=180 # modprobe -v hangcheck-timer 실행 # vi /etc/rc.local /sbin/modprobe hangcheck-timer rdate -s 203.248.240.140
6. # vi /etc/profile 수정(아래 내용을 적절한 위치에 넣어주세요)
if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi umask 022 fi
7. 필수 RPM검사(RPM의 경우는 없으면 무조건 설치를 해야합니다.)
http://jigi.net/attachment/7817025897.zip << 링크참조
# rpm -qa RPM명 binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf- devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel
8. NTP service 설정
# vi /etc/sysconfig/ntpd OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid” ※ 빨간색으로 표시한 부분 -x만 추가하면 됩니다. # service ntpd restart # chkconfig --level 123456 ntpd on << 시스템 시작시 자동실행하게 프로그램 등록
9. user, group 생성 및 비밀번호 설정
# groupadd -g 1000 oinstall # groupadd -g 1200 dba # useradd -u 1200 -g oinstall -G dba oracle # passwd oracle
10. 설치 디렉토리 생성(Grid, oracle database SW 설치용)
# mkdir -p /u01/app/oraInventory # mkdir -p /u01/app/11.2.0/grid # mkdir -p /u01/app/oracle # mkdir /u01/app/oracle/cfgtoollogs # mkdir -p /u01/app/oracle/product/11.2.0/db_1 # chown -R oracle.oinstall /u01 # chmod -R 755 /u01
11. # vi .bash_profile 내용추가
export GRID_HOME=/u01/app/11.2.0/grid export PATH=$PATH:$HOME/bin:$GRID_HOME/bin
12. oracle user의 .bash_profile 내용추가
[root@rac3 ~]# su - oracle [oracle@rac3 ~]$ vi .bash_profile export EDITOR=vi export TMP=/tmp export TMPDIR=$TMP export ORACLE_HOSTNAME=rac3 export ORACLE_UNQNAME=RAC export ORACLE_BASE=/u01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 export GRID_HOME=/u01/app/11.2.0/grid export ORACLE_SID=racdb3 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 export NLS_LANG=AMERICAN_AMERICA.KO16MSWIN949 # NLS_LANG는 설치할 DB에 따라서 바뀔 수 있습니다.
13. 스토리지 설정
(oracleasm패키지를 사용하느냐 아니냐에 따라 달라질 수 있는데, 여기서는 oracleasm을 사용하지 않았습니다. oracleasm 패치지 이용은 맨 위의 링크의 파일을 참조하세요.)
vi /etc/udev/rules.d/60-raw.rules ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N" ACTION=="add", KERNEL=="sdc1", RUN+="/bin/raw /dev/raw/raw2 %N" ACTION=="add", KERNEL=="sdd1", RUN+="/bin/raw /dev/raw/raw3 %N" ACTION=="add", KERNEL=="sde1", RUN+="/bin/raw /dev/raw/raw4 %N" ACTION=="add", KERNEL=="sdf1", RUN+="/bin/raw /dev/raw/raw5 %N" ACTION=="add", KERNEL=="sdg1", RUN+="/bin/raw /dev/raw/raw6 %N" ACTION=="add", KERNEL=="raw*", OWNER=="oracle", GROUP=="oinstall", MODE=="0660"
14. reboot
--> RAC node 추가하기(2/2) 로 계속