본문 바로가기

RAC/RAC 이론

04. RAC 운영하기

1. 현재상태 확인하기


1) crs_stat

현재 RAC 관련된 주요 상태를 확인하는 명령어는 crs_stat

옵션을 주어 crs_stat -t 를 많이 사용

Targer : 목표 상태 
State : 현재 상태
Host : 작동 노드


실시간으로 위와 같은 상황을 조회하려면 리눅스에서는 watch 명령을 아래와 같이 사용하면 1초마다 1번씩 refresh하여 실시간 상황을 알려줌


[oracle@rac1 ~]$   watch   -n  1  'crs_stat   -t ' 

-n 은 시간을 지정하며 1은 1초마다 '명령어' 를 반보개서 수행하라는 의미


2) srcvtl


(1) 데이터베이스의 상태, 모든 인스턴스와 모든 서비스의 상태 확인

[oracle@rac1 ~]$ srvctl status database -d rac -v


(2) 특정 인스턴스의 상태와 현재 서비스의 상태 확인

[oracle@rac1 ~]$ srvctl status instance -d rac -i rac1, rac2


(3) 모든 node의 상태를 확인하기

[oracle@rac1 ~]$ srvctl status nodeapps -n rac1




2. RAC 중단 하기

RAC 를 설치하면 여러 가지 관련 서비스들과 Applocation , Instance 가 복합적으로 동작을 하게 되기 때문에 RAC를 중단 할 때는 순서가 아주 종요함

srvctl 명령을 사용하여 중단시키는 순서는 Instance --> asm( asm 으로 구성되었을 경우 ) --> application 순서


[oracle@rac1 ~]$ srvctl  stop instance -d rac -i rac1

[oracle@rac1 ~]$ srvctl  stop instance -d rac -i rac2

위 상황까지가 모든 Instance 와 Database 가 OFFLINE 된 상태


[oracle@rac1 ~]$ srvctl  stop nodeapps -n  rac1 

[oracle@rac1 ~]$ srvctl  stop nodeapps -n  rac2

위 명령어까지 완료시 모두 정상적으로 OFFLINE 됨


위 작업을 한번에 해 주는 명령어가 crs_stop -all 

srvctl 명령어서 한 단계식 수동으로 종료 할 수도 있고  crs_stop -all 명령을 이용하여 한번에 자동으로 종료시킬 수 있음



3. RAC 시작하기

순서는 중단순서와 반대

Application --> ASM (ASM 일 경우) --> Instance 순서로 시작

[oracle@rac1 ~]$ srvctl  start   nodeapps    -n  rac1 

[oracle@rac1 ~]$ srvctl  start   nodeapps    -n  rac2

---------------- ASM 일 경우 ----------------

[oracle@rac1 ~]$ srvctl  start asm   -n  rac1 

[oracle@rac1 ~]$ srvctl  start asm   -n  rac2 

--------------------------------------------

[oracle@rac1 ~]$ srvctl  start   instance   -d  rac   -i  rac1

[oracle@rac1 ~]$ srvctl  start   instance   -d  rac   -i  rac2



위 작업을 한꺼번에 해 주는 명령어가 crs_start -all



4. RAC 에 자원 추가 및 제거하기

기본 문법


예 1) 인사 관리작업을 위한 insa 서비스를 추가하되 rac2 에서 서비스 하고 rac1 에서는 대기 상태로 생성

[oracle@rac1 ~]$ srvctl add service -d rac -s insa  -r rac1 -a rac2  ( -r : 동작 , -a : 대기 )

생성된 서비스를 명령어로 실행 해야 실행됨

[oracle@rac1 ~]$ srvctl start service -d rac -s insa


예 2) 생성한 insa 서비스를 제거

[oracle@rac1 ~]$ srvctl stop service -d rac -s insa

[oracle@rac1 ~]$ srvctl remove service -d rac -s insa

위에서처럼 실행 중인 서비스는 제거가 불가능하기 때문에 제거하기 앞서 서비스를 먼저 중단시킨 후 제거




5. srvctl 명령을 사용하여  rac service 관련 설정 변경하기 ( MODIFY )

srvctl modify 라는 명령을 사용하여 현재 설정되어 있는 값을 변경할 수 있음


1) srvctl   modify   database 




2) srvctl   modify    instance 




3) srvctl   modify    service 

  - 새로운 변경 사항이 생길 때 기존 운영중인 서비스에는 반영이 되지 않음 

즉 변경사항을 운영중인 서비스에 적용하려면 기존 서비스를 중단 한 후 새로 시작해야함

또한 운영중인 서비스의 설정 값은 사용량이 많을 때는 변경하지 않을 것을 권장



4) srvctl   modify    nodeapps 






6. Service 재배치 하기 

이 명령을 사용하여 현재 운영중인 서비스들의 인스턴스를 변경할 수 있음

예를 들어 인사관리를 위한  insa 서비스가 기존에  rac1 에서 서비스 중이었는데  rac1 을 패치하기 
위해서 서비스를  rac2 로 이동해야 할 경우 등에 사용하는 명령





7. RAC 관련 로그 경로 및 내용 확인하기 

 

- $ORA_CRS_HOME/crs/log : CRS resources 와 관련된 주요 내용이 저장됩니다. 

 

- $ORA_CRS_HOME/crs/init : CRS daemon 이 시작될 때부터 관련 내용을 기록합니다.   

  CRS 시작 관련된 장애 내용 등을 확인 할 경우 유용합니다.   

 

-  $ORA_CRS_HOME/css/log  :  Cluster Synchronization (CSS)  데몬이  수행  하는  reconfigurations, 

missed check-ins, connects, disconnects 관련된 내용을 기록합니다. 만약 CSS 데몬에 문제가 발생

해서 재부팅을 할 경우 이 파일의 내용을 확인하여 시간과 내역을 찾아볼 수 있습니다. 

 

- $ORA_CRS_HOME/css/init : Oracle Cluster Synchronization Service daemon (OCSSd) 데몬이 장애

가 발생했을 경우 Core Dump 관련 내용을 저장하고 있습니다. 

 

-  $ORA_CRS_HOME/evm/log  :  Event Volume Manager (EVM) 데몬과  evmlogger 데몬 관련 로그 

파일입니다.   

 

-  $ORA_CRS_HOME/evm/init  : EVM 데몬과 관련된  PID 와  lock file 입니다. 이 파일에  EVM 관련

된 문제가 발생 될 경우 Core Dump 도 기록됩니다. 

 

- $ORA_CRS_HOME/srvm/log : Oracle Cluster Registry (OCR) 과 관련된  log file 입니다.   

 

- $ORA_CRS_HOME/log : Oracle Clusterware 관련된 일반적 내용이 저장되는  log file 입니다. 가장 

일반적으로 많이 모니터링 됩니다. 

























'RAC > RAC 이론' 카테고리의 다른 글

03. RAC 기반에서의 Load Balancing 과 Application Failover  (0) 2015.04.30
02. CRS 설명  (0) 2015.04.30
01. RAC란 무엇일까요  (0) 2015.04.30