행위

오라클 rac 시작 종료

DB CAFE

Dbcafe (토론 | 기여)님의 2024년 8월 19일 (월) 15:17 판 (RAC 정지 와 시작)
thumb_up 추천메뉴 바로가기


1 RAC 정지 와 시작[편집]

  • RAC START 순서도

cwadd006_ha_stack.png

  • 클러스터 현재 상태 조회
# crsctl status res -t [-init]
Name 설명
Local Resources
ora.DATA.dg Asm DataGroup Name
ora.LISTENER.lsnr 리스너 상태
ora.asm ASM 상태
ora.ons
Cluster Resources
ora.cssd Cluster Synchronization Services (CSS): 어떤 노드가 클러스터의 구성원인지 제어하고 노드가 클러스터에 가입하거나 떠날 때 구성원에게 통지하여 클러스터 구성을 관리함.
ora.diskmon
ora.dsoldb.db
ora.evmd

2 RAC 정지[편집]

2.1 Cluster 전체 정지[편집]

  • root 유저로 수행
  • crsctl 명령어 이용
    • RAC 전체 리소스 정지 : DB Instance, Listener ,asm 포함
  • 각 노드(node)별로 각각 수행
  • 명령어
# crsctl stop has -- single node 일때 
# crsctl stop crs -- rac

2.2 DB Instance 만 정지[편집]

  • 클러스터가 시작되어 있는 상태에서 DB Instance만 정지 할경우
  • "srvctl" 명령어를 사용하여 DB Instance 정지 시킴 (shutdown immediate 와 동일함)
  • root 유저나 oracle 유저로 수행
  • 명령어
# srvctl stop database -d DBCAFE_DB
  • 확인
# crsctl status res -t​

2.3 Listener 만 정지[편집]

  • 클러스터가 시작되어 있는 상태에서 Listener 만 정지
  • "srvctl" 명령어 사용
  • root 유저나 oracle 유저로 수행
  • 명령어
# srvctl stop listener
  • 확인
# crsctl status res -t​

3 RAC 시작[편집]

3.1 Cluster 전체 시작[편집]

  • crsctl 명령어 이용 RAC 의 전체 리소스 시작
    • DB Instance,Listener,asm 포함
  • root 유저로 수행
  • 각 노드(node)별로 각각 수행

​* 명령어

# crsctl start has
  • 클러스터를 시작하면 process 시작되는것을 확인
  • 확인
# crsctl status res -t -init
-- 또는 
# crsctl status resource -t -init
  • -> ora.crsd 가 가장 마지막에 시작되는 데몬이기 때문에 crsd 가 정상적으로 online 되면 모두 정상 기동 완료

3.2 DB Instance 만 시작[편집]

  • 클러스터가 시작되어 있는 상태에서 DB Instance 만 기동 할경우
  • "srvctl" 명령어를 사용하여 DB Instance 를 시작(startup 과 동일)
  • root 유저나 oracle 유저로 수행
  • 명령어
# srvctl start database -d DBCAFE_DB
  • 확인 - DB Instance 시작후
# crsctl status res -t

3.3 Listener 만 시작[편집]

  • 클러스터가 시작되어 있는 상태에서 Listener 만 정지
  • "srvctl" 명령어 사용
  • root 유저나 oracle 유저로 수행
  • 명령어
# srvctl start listener
  • 확인 - 리스너 시작후
# crsctl status res -t​

4 RAC 상태 확인[편집]

4.1 클러스터 명령어로 상태 확인[편집]

  • ora.gsd 의 state 가 "online" 이면 정상
  • DB 의 상태가 "OPEN" 인지 확인

​* 명령어

# crsctl status resource

4.2 process 확인[편집]

# ps -ef | grep d.bin

5 운영 DB 정지 후 시작 예시[편집]

5.1 DB 인스턴스 정지[편집]

​* 1번 노드(서버1)

$ shutdown immediate
  • 2번 노드(서버2)
$ shutdown immediate

5.2 클러스터 정지 (root 계정)[편집]

  • 1번 노드
$ su -
# crsctl stop crs
# ps -ef| grep d.bin  <-- process 확인
  • 2번 노드
$ su -
# crsctl stop crs
# ps -ef| grep d.bin  <-- process 확인
​

5.3 ASM은 클러스터가 정지되면 자동 정지[편집]

  • ASM 은 클러스터가 정지되면 자동으로 stop 되고,클러스터가 시작 되면 자동으로 start 된다.

5.4 클러스터 시작 (root 계정)[편집]

  • 1번 노드 / 2번 노드 각각 실행
$ su -
# crsctl start crs
# crsctl stat res -t (-init)
# ps -ef| grep d.bin  <-- process 확인
​

5.5 데이터베이스 시작 (DB 인스턴스 start)[편집]

  • 1번 노드 / 2번 노드 각각 실행
SQL> startup
​

​----

5.6 리스너 시작/종료[편집]

5.7 노드별 리스너 정지시[편집]

  • 1번 ,2번 노드 각각 리스너 정지
srvctl stop listener -n DBCAFE_DB1
srvctl stop listener -n DBCAFE_DB2
​​
  • 1번 ,2번 노드 각각 리스너 시작
srvctl start listener -n DBCAFE_DB1
srvctl start listener -n DBCAFE_DB2
​

5.8 현재 VIP 확인[편집]

# su - grid
$ srvctl config nodeapps -a
$ ifconfig -a  (--> eth0, eth1)
​

5.9 DB 상태 확인[편집]

srvctl status database
​

5.10 ASM 확인[편집]

5.10.1 ASM 로그인[편집]

$ ./oraenv 
ORACLE_SID = [+ASM] ? orcl
​

5.10.2 ASM 명령어 실행[편집]

$ asmcmd
​
ASMCMD> lsdg   (<--- DISK 그룹 정보, candidate 디스크에 대한 정보를 알수 있다)
ASMCMD> du *  
ASMCMD> cd, rm, ls 등의 명령어 사용 가능  
​

$ srvctl stop asm -n node01
$ srvctl stop asm -n node02

$ srvctl stop nodeapps -n node01
$ srvctl stop nodeapps -n node01
​