Oracle RAC에서 IP를 변경하는 작업

 

RAC DB의 데이터 마이그레이션 혹은 기타 이유로 인해서 종종 IP가 변경 되는 경우가 있습니다.

RAC는 싱글 인스턴스와 다르게 클러스터 안에 들어 있는 IP정보를 변경해 줘야지만 사용이 가능 합니다.

 

RAC에 등록된 IP 확인

OS 등록되어있는 network information 확인

$ cat /etc/hosts
$ ifconfig
$ netstat -ni

OCR 에 등록 되어있는 network information 확인

$ $ORA_CRS_HOME/bin/oifcfg getif
eth0 192.168.118.0 global public
eth1 192.168.184.0 global cluster_interconnect

VIP 확인

$ srvctl config nodeapps -n <node name> -a

* 이 명령은 hosts 파일에 등록된 정보를 보여주기 때문에 실제로는 NIC에 nodeapps에 등록된 정보가 올라 옵니다. srvctl 로 변경 내용을 반드시 적용해줘야만 올바른 VIP가 등록 됩니다.

hosts 파일 변경

변경하고자 하는 ip로 먼저 바꿔줍니다.

# vi /etc/hosts

 

10g R2 RAC IP 변경

1. Public Network Change (변경하는 IP가 기존에 사용하던 IP와 대역대가 같다면 변경해 줄 필요 없음.)

기존 정보 삭제

$ORA_CRS_HOME/bin/oifcfg delif -global eth0

새로운 network 설정

$ORA_CRS_HOME/bin/oifcfg setif -global eth0/10.2.166.0:public

2. Private Network Change

ip 변경

$ ORA_CRS_HOME/bin/oifcfg delif -global eth1
$ ORA_CRS_HOME/bin/oifcfg setif -global eth1/192.168.184.0:cluster_interconnect

3. VIP 변경

$ srvctl config nodeapps -n <node name> -a

resources stop

$ srvctl stop asm -n <node_name>
$ srvctl stop instance -d <db_name> -i <inst_name>
$ srvctl stop nodeapps -n <node_name>
$ crs_stat -t ( vip offline 확인)

vip 수정 (root)

# srvctl modify nodeapps -n rac1 -A rac1-vip/255.255.255.0/eth0

 

11g R2 RAC IP 변경

1. Public Network Change (10g와 같음)

2. Private Network Change

grid user로 새로운 interface 추가

여기서

$ oifcfg setif -global eth3/192.168.0.0:cluster_interconnect
$ oifcfg getif

shutdown crs on all nodes (root)

# crsctl stop crs
# crsctl disable crs

OS 에서 private IP 구성

$ ifconfig -a
$ ping <private hostname>

CRS restart (root)

# crsctl enable crs
# crsctl start crs

기존 private interface 삭제

$ oifcfg delif -global eth0

3. VIP 변경 (grid user)

resource stop

$ srvctl config nodeapps -a
$ srvctl stop instance -d <db_name> -n <node_name>
$ srvctl stop vip -n <node_name> -f
$ crs_stat -t (or $ crsctl stat res -t for 11gR2) (vip offline 확인)

vip 수정 (root)

# srvctl modify nodeapps -n rac1 -A rac1-nvip/255.255.255.0/eth1

vip 변경확인

$ srvctl config nodeapps -a

 

Scan name or Scan VIP 변경

사전에 모든 node의 hosts file에서 scan name 변경합니다

grid user로 resource stop

$ $GRID_HOME/bin/srvctl stop scan_listener
$ $GRID_HOME/bin/srvctl stop scan

root user로 SCAN 수정

# $GRID_HOME/bin/crsctl modify type ora.scan_vip.type -attr "ATTRIBUTE=SCAN_NAME,DEFAULT_VALUE=pay-scan.us.oracle.com"

grid user로 resource start

$ $GRID_HOME/bin/srvctl start scan_listener

확인

$ $GRID_HOME/bin/srvctl config scan
$ $GRID_HOME/bin/srvctl config scan_listener

 

To change SCAN to be on second network

multiple network 환경에서 default로 scan 은 first public network로 구성되어 있습니다.

이 scan을 second public network로 구성하거나 다른 network로 구성하는 방법

ex) scan을 net1 -> net2

$ $GRID_HOME/bin/srvctl config network
Network exists: 1/10.1.0.0/255.255.255.128/eth3, type static
Network exists: 2/10.1.1.0/255.255.255.128/eth4, type static

1. grid user로 resource stop 후 scan_listener 제거

$ $GRID_HOME/bin/srvctl stop scan_listener
$ $GRID_HOME/bin/srvctl stop scan
$ $GRID_HOME/bin/srvctl remove scan_listener -f

2. root user로 scan 제거후 add

# $GRID_HOME/bin/srvctl remove scan -f
# $GRID_HOME/bin/srvctl add scan -n <scan-name> -k 2

3. grid user로 scan_listener 추가 및 resource start

$ $GRID_HOME/bin/srvctl add scan_listener -p <port>
$ $GRID_HOME/bin/srvctl start scan_listener

 

To modify SCAN listener port

1. grid user로 scan listener port 수정

$ GRID_HOME/bin/srvctl modify scan_listener -p <new-SCAN-port>

2. grid user로 scan listener 재시작 및 새로운 포트 적용

$ GRID_HOME/bin/srvctl stop scan_listener
$ GRID_HOME/bin/srvctl start scan_listener

 

소셜 미디어로 공유하기

You may also like...

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.

 

새 블로그로 이사갑니다.

 

rastalion.dev

 

도메인 변경했어요. 현재 지속적으로 개선 중입니다.

 

This will close in 10 seconds