행위

"오라클 rac 시작 종료"의 두 판 사이의 차이

DB CAFE

27번째 줄: 27번째 줄:
 
한 노드에서 명령어 실행(수동실행시)
 
한 노드에서 명령어 실행(수동실행시)
  
CRS는 RAC를 구성하는 각 노드 및 각종 리소스를제어하는 프로세스이다.  
+
# CRS는 RAC를 구성하는 각 노드 및 각종 리소스를제어하는 프로세스이다.  
CRS의 기동은 root권한으로 되어야 한다.  
+
# CRS의 기동은 root권한으로 되어야 한다.  
서버 재부팅 시 자동 기동된다. 아래 내용은 수동으로 기동하는 방법이다.   
+
# 서버 재부팅 시 자동 기동된다. 아래 내용은 수동으로 기동하는 방법이다.   
  
 
*DB 서버 각각의 노드에서 "root" 유저로 실행한다.
 
*DB 서버 각각의 노드에서 "root" 유저로 실행한다.

2019년 8월 26일 (월) 19:35 판

thumb_up 추천메뉴 바로가기


Oracle RAC 11gR2 Management


1.GRID & DB 기동 및 종료

① 기동 - 데이터베이스 기동과 관련된 절차는 다음과 같다. 순서 작업 비고 1. CRS 기동

CRS가 down된경우에만 실행

2. CRS 어플리케이션 기동

한 노드에서 명령어 실행(수동실행시)

3. LISTENER 기동

한 노드에서 명령어 실행(수동실행시)

4.DB 인스턴스기동


한 노드에서 명령어 실행(수동실행시)

  1. CRS는 RAC를 구성하는 각 노드 및 각종 리소스를제어하는 프로세스이다.
  2. CRS의 기동은 root권한으로 되어야 한다.
  3. 서버 재부팅 시 자동 기동된다. 아래 내용은 수동으로 기동하는 방법이다.
  • DB 서버 각각의 노드에서 "root" 유저로 실행한다.

=>노드#1

# cd /gridhome/grid/bin
# ./crsctl start crs


=>노드#2

# cd /gridhome/grid/bin
# ./crsctl start crs


CRS의 주요 프로세스는 아래와 같으며, CRS 상태확인은 crsctl check crs 으로 가능하다.

$ps -ef | grep "d\.bin" | grep -v grep

root 3866688 1 0 Jan 18 - 114:41 /gridhome/grid/bin/crsd.bin reboot
oracle 4718796 1 0 Jan 18 - 23:25 /gridhome/grid/bin/gpnpd.bin
root 4849710 1 0 Jan 18 - 103:53 /gridhome/grid/bin/ohasd.bin reboot
oracle 6815908 1 0 Jan 18 - 1:13 /gridhome/grid/bin/mdnsd.bin
oracle 7012560 1 0 Jan 18 - 42:49 /gridhome/grid/bin/evmd.bin
oracle 5112196 1 0 Jan 18 - 110:59 /gridhome/grid/bin/gipcd.bin
oracle 5374298 5308576 1 Jan 18 - 204:38 /gridhome/grid/bin/ocssd.bin
root 6488528 1 0 Jan 18 - 47:04 /gridhome/grid/bin/octssd.bin reboot
root 38273316 1 3 Feb 06 - 728:28 /gridhome/grid/bin/osysmond.bin$cd $GRID_HOME/bin
$crsctl check crs

CRS-4638: Oracle High Availability Services is online
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online


② CRS Application 기동

- 위의 2.1.1에서 CRS기동 시 자동 기동된다. 아래내용은 수동으로 기동하는 방법이다. - CRS를 구성하는 어플리케이션은 아래 명령어로 기동한다.


  • DB 서버{노드#1}에서 "oracle" 유저로 실행한다.
$srvctl start nodeapps -n HOSTNAME
$srvctl start nodeapps -n HOSTNAME


③ Listener 기동

- 위의 2.1.1에서 CRS기동 시 자동 기동된다. 아래내용은 수동으로 기동하는 방법이다. - LISTENER는 아래 명령어로 기동한다.

  • DB 서버{노드#1}에서 "oracle" 유저로 실행한다.
$srvctl start listener -n HOSTNAME
$srvctl start listener -n HOSTNAME

④ DB Instance 기동

- 위의 2.1.1에서 CRS기동 시 자동 기동된다. 아래내용은 수동으로 기동하는 방법이다. - DB인스턴스는 아래 명령어로 기동한다.

  • DB 서버{노드#1}에서 "oracle" 유저로 실행한다.
$srvctl start database -d G_SID

⑤ CRS Application/Listener/DB Instance확인

$ crsctl status res -t

NAME TARGET STATE SERVER STATE_DETAILS


Local Resources


ora.TEST_ELSE.lsnr

ONLINE ONLINE hostname

ONLINE ONLINE hostname

ora.TEST_GIGA.lsnr

ONLINE ONLINE hostname

ONLINE ONLINE hostname

ora.TEST_1_ELSE.lsnr

ONLINE ONLINE hostname

ONLINE ONLINE hostname

ora. TEST_1_GIGA.lsnr

ONLINE ONLINE hostname

ONLINE ONLINE hostname

ora.gsd

OFFLINE OFFLINE hostname

OFFLINE OFFLINE hostname

ora.net1.network

ONLINE ONLINE hostname

ONLINE ONLINE hostname

ora.ons

ONLINE ONLINE hostname

ONLINE ONLINE hostname

ora.registry.acfs

OFFLINE OFFLINE hostname

OFFLINE OFFLINE hostname


Cluster Resources


ora.test.db

1 ONLINE ONLINE hostname Open

2 ONLINE ONLINE hostname Open

ora.cvu

1 ONLINE ONLINE hostname

ora.test_1.db

1 ONLINE ONLINE hostname Open

2 ONLINE ONLINE hostname Open

ora.oc4j

1 ONLINE ONLINE hostname

ora.hostname.vip

1 ONLINE ONLINE hostname ora. hostname.vip

1 ONLINE ONLINE hostname

 - 중요 resource

- ora.[listener_name].lsnr -> listener의 상태를나타냄 - ora.net1.network -> public network 상태를 나타냄 - ora.[DB_name].db -> Database 상태를 나타냄 - ora.[hostname].vip -> VIP 상태를 나타냄(장애인경우 failover 상태가 됨)


⑥ 종료

- 데이터베이스 종료와 관련된 절차는 다음과 같다.

순서 작업 비고

1. CRS 어플리케이션 종료

한 노드에서 명령어 실행(오라클유저로)

2.LISTENER 종료

한 노드에서 명령어 실행(오라클유저로)

3.DB 인스턴스종료

한 노드에서 명령어 실행(오라클유저로)

4.CRS 종료

양쪽 노드에서 명령어 실행(root유저로)

5.서버 종료

양쪽 노드에서 명령어 실행(root유저로)

⑦ CRS Application 종료

- CRS를 구성하는 어플리케이션은 아래 명령어로 종료한다.

  • DB 서버{노드#1}에서 "oracle" 유저로 실행한다.
$srvctl stop nodeapps –n HOSTNAME
$srvctl stop nodeapps -n HOSTNAME


⑧ LISTENER 종료

- LISTENER는 아래 명령어로 종료한다.


  • DB 서버{노드#1}에서 "oracle" 유저로 실행한다.
$srvctl stop listener -n HOSTNAME
$srvctl stop listener -n HOSTNAME


⑨ DB Instance 종료

- DB인스턴스는 아래 명령어로 종료한다.

  • DB 서버{노드#1}에서 "oracle" 유저로 실행한다.
$srvctl stop database -d SID


이번 장에서는 RAC 설치가 완료 된 후 관리해야 하는 부분들과 주요 명령어들을 살펴보겠습니다.


1. 현재 상태 확인하기

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

주요 문법은 아래와 같습니다.

[oracle@rac1 ~]$ crs_stat -h
Usage:   crs_stat [resource_name [...]] [-v] [-l] [-q] [-c cluster_member]
 crs_stat [resource_name [...]] -t [-v] [-q] [-c cluster_member]
 crs_stat -p [resource_name [...]] [-q]
 crs_stat [-a] application -g
 crs_stat [-a] application -r [-c cluster_member]
 crs_stat -f [resource_name [...]] [-q] [-c cluster_member]
 crs_stat -ls [resource_name [...]] [-q]

위 옵션 중 현재 상태를 확인할 때 쓰는 옵션은 -t

$ crs_stat -t


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

Target 와 State 가 모두 Online 상태가 되면 정상적으로 작동하고 있는 것입니다.

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

$ watch -n 1 'crs_stat -t'

위 명령에서 -n 은 시간을 지정하며 1 은 1 초마다 '명령어' 를 반복해서 수행하라는 의미입니다 위의 방법 말고 srvctl 이라는 명령어를 사용해서 보다 세부적으로 상태를 조회할 수도 있습니다.

$ srvctl

주요 문법은 아래와 같습니다.

$srvctl status database -d <database-name> [-f][-v][-S <level>]
$srvctl status instance -d <database-name> -i <instance-name> 

[<instancename-list>][-f][-v]-S <level>]
$srvctl status service -d <database-name> -s <service_name> 

[<service-namelist>][-f][-v][-S <level>]
$srvctl status nodeapps [-n <node-name>]
$srcvtl status asm -n <node_name>


위 명령어들을 사용하여 몇 가지 조회를 해 보겠습니다

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

$ srvctl status database -d rac -v


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

$ srvctl status instance -d rac -i rac1, rac2


3. 모든 node의 상태를 확인합니다

$ srvctl status nodeapps -n rac1
$ srvctl status nodeapps -n rac2

2. RAC 중단하기

RAC 를 설치하면 여러 가지 관련 서비스들과 Application, Instance 가 복합적으로 동작을 하게 됩니다. 그래서 RAC 를 중단 할 때는 순서가 아주 중요합니다. srvctl 명령을 사용하며 중단을 시키는 순서는 Instance --> asm (asm 으로 구성되었을 경우) --> application 순서입니다.

주요 명령어를 먼저 살펴보겠습니다.

$srvctl   stop   database -d <database-name> [-o <stop-options>]

[-c <connect-string> | -q]
$srvctl   stop   instance -d <database-name> -i <instance-name> 

[,<instance-namelist>][-o <stop-option>][-c <connect -string> | -q]
$srvctl   stop    service -d <database-name> [-s <service-name> [, <service-namelist>]]

[-i <instance-name][-c <connect -string> | -q][-f]


$srvctl    stop    nodeapps -n <node-name>
$srvctl    stop    asm -n <node_name> [-i ][-o <start_option>

위 명령을 사용하여 아래와 같이 종료하면 됩니다.

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


위 명령어에서 -d 옵션은 DB 이름을 지정하는 것이고 -i 는 instance 이름을 지정하는 것입니다.

이 명령 수행 후

crs_stat -t

로 확인해 보겠습니다


Instance1 이 종료된 것이 확인됩니다. 그러나 Database 는 아직 중단이 되지 않고 있습니다. Instance2 가 운영 중이기 때문입니다.

나머지 Instance 2 도 종료하고 다시 확인 해 보겠습니다

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

모든 Instance 와 Database 가 OFFLINE 된 것이 확인됩니다. 이제 나머지 구성 요소들을 종료하면 됩니다.

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

모두 정상적으로 OFFLINE 된 것이 확인됩니다.

위 작업을 한번에 해 주는 명령어가 crs_stop -all 입니다. 위와 같이 한 단계씩 수동으로 종료할 수도 있고 crs_stop -all 명령을 이용해서 한꺼번에 자동으로 종료시킬 수도 있습니다.


3. RAC 시작하기

앞에서 잠시 언급한 대로 시작하는 순서는 중단 순서와 반대입니다. 즉 application --> ASM (ASM 일경우) --> Instance 순서로 시작하면 됩니다. 종료할 때와 마찬가지로 srvctl 명령으로 시작합니다. 주요 명령어를 먼저 살펴 보겠습니다.

$srvctl start database -d <database-name> [-o <start-options>][-c <connect-string> | -q]
$srvctl start instance -d <database-name> -i <instance-name> [,<instance-name-list>]

[-o <start-option>][-c <connect -string> | -q]
$srvctl start service -d <database-name> [-s <service-name> [, <service-namelist>]]

[-i <instance-name>][-o <start-option>][-c <connect -string> | -q]
$srvctl start nodeapps -n <node-name> 

<source lang=shell>
$srvctl start asm -n <node_name> [-i ][-o <start_options>]
$ crs_stat -t

현재 상태는 모두 offline 입니다.


먼저 node application 부터 시작합니다.

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

rac1 에서 application 이 실행 된 것을 확인 할 수 있습니다.

여기서 중요한 것은 vip 와 listener 입니다. 나머지 rac2 에서도 application 을 시작합니다.

[oracle@rac2 ~]$ srvctl   start nodeapps -n   rac2
rac1  과  rac2  에서  node application  이  모두  정상적으로  시작  된  것이  확인됩니다.

만약 ASM 으로 구성되었을 경우는 양쪽 노드 모두에서 아래와 같이 ASM 을 시작하면 됩니다.

[oracle@rac2 ~]$ srvctl   start asm   -n   rac1
[oracle@rac2 ~]$ srvctl   start asm   -n   rac2
이제  Instance  를  시작하면  됩니다
[oracle@rac2 ~]$ srvctl   start  instance   -d   rac   -i   rac1

위 화면에서 볼 수 있듯이 Instance 가 1 개라도 시작이 되면 Database 가 시작됨을 알 수 있습니다. 나머지 Instance 도 시작하겠습니다

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

Instance 가 모두 시작 되어도 서비스가 시작이 안 될 경우 아래와 같이 특정 서비스를 실행하면 됩니다. 다만 db 를 생성할 때 함께 만들어진 내부 서비스는 아래와 같은 에러가 발생합니다.

$ srvctl start service -d rac -s rac -i rac1

이럴 경우는 crs_start -all 명령어를 수행해서 시작하면 되며 crs_start -all 명령은 위 단계들을 모두 한꺼번에 모아서 실행하는 스크립트입니다.

모두가 정상적으로 시작되었습니다


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

자원의 시작과 종료 외에도 srvctl 명령을 사용하여 운영 중인 RAC 에서 여러 가지 자원을 추가할 수 있습니다. 아래에서 주요 문법을 살펴보겠습니다.

$srvctl add database -d <name> -o <oracle_home> [-m <domain_name>][-p <spfile>]

[-A <name|ip>/netmask][-r{PRIMARY | PHYSICAL_STANDBY | LOGICAL_STANDBY}]
[-s <start_options>][-n <db_name>]
$srvctl add instance -d <name> -i <inst_name> -n <node_name>
$srvctl add service -d <name> -s <service_name> -r <preferred_list> [-a ]

[-P <TAF_policy>][-u]
$srvctl add noeapps -n <node_name> -o <oracle_home> [-A <name|ip>/netmask[/if1[|if2|….]]]
$srvctl add asm -n <node_name> i  -o <oracle_home>


위 예 중에서 새로운 서비스를 추가 해 보겠습니다.

인사 관리작업을 위한 insa 서비스를 추가하되 rac2 에서 서비스 하고 rac1 에서는 대기 상태로 생성하겠습니다.

$ srvctl add service -d rac -s insa -r rac2 -a rac1

위와 같이 서비스를 생성 한 후 crs_stat -t 로 확인합니다.

insa 서비스가 생성은 되었으나 실행은 되지 않습니다. 명령어로 실행을 시켜야 합니다.

아래와 같이 해당 서비스를 명령어로 실행 시킵니다.

$ srvctl start service -d rac -s insa

정상적으로 잘 실행 되는 것을 확인 할 수 있습니다.

srvctl 명령어를 이용해서 기존에 존재하는 자원을 제거 할 수도 있습니다.


주요 명령어는 아래와 같습니다

$ srvctl remove database -d <database-name>
$ srvctl remove database -d <database-name> [-i <instance-name>]
$ srvctl remove database -d <database-name> -s <service-name> 

[-i <instance-name>]


위에서 생성했던 insa 서비스를 제거해 보겠습니다.

$ srvctl remove service -d rac -s insa
$ srvctl stop service -d rac -s insa
$ srvctl remove service -d rac -s insa

위 화면을 보면 실행 중인 서비스는 먼저 중지를 하고 제거해야 됨을 알 수 있습니다. 만약 여러 개의 인스턴스에서 실행 중인 서비스인 경우 특정 인스턴스에서만 제거를 해야 할 경우에는 아래와 같이 -i 옵션을 함께 사용하면 됩니다.

$ srvctl remove service -d rac -s insa -i rac1

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

srvctl modify 라는 명령을 사용하여 현재 설정되어 있는 값을 변경할 수 있습니다. srvctl modify database Database 와 관련된 설정을 변경할 수 있습니다. srvctl modify instance Instance 와 관련된 설정을 변경할 수 있습니다. srvctl modify service Service 와 관련된 설정을 변경할 수 있습니다. srvctl modify nodeapps node application 과 관련된 설정을 변경할 수 있습니다.

1) srvctl modify database

srvctl modify database -d db_unique_name [-n db_name] [-o oracle_home] [-m domain_name] 

[-p spfile] [-r {PRIMARY | PHYSICAL_STANDBY | LOGICAL_STANDBY}] [-s start_options] 
[-y {AUTOMATIC | MANUAL}]

위 명령의 주요 옵션의 의미는 아래와 같습니다

-d db_unique_name 유일한(Unique) DB 이름을 지정합니다. -n db_name DB 이름을 지정합니다. -o oracle_home Cluster database 용 Oracle home 을 지정합니다. -m domain_name Cluster database 용 domain 명을 지정합니다. -p spfile Cluster database 용 spfile 을 지정합니다. -r role [PRIMARY | PHYSICAL_STANDBY | LOGICAL_STANDBY] Database의 역할을 지정합니다. (primary , physical standby , logical standby) -s start_options database 가 Startup 될 때 option 을 지정합니다 -y Database 관리정책을 지정합니다. 값으로는 automatic 과 manual 을 사용합니다 -h 도움말을 출력합니다.

2) srvctl    modify    instance
srvctl    modify    instance    -d    db_unique_name    -i    inst_name 

{-n node_name | -s asm_instance_name | -r}

위 명령의 주요 옵션의 의미는 아래와 같습니다.

d db_unique_name database Unique name 을 설정합니다. -i inst_name Database instance name 을 설정합니다. -n node_name Node name 을 지정합니다. -s asm_instance_name Database instance 에서 사용하는 ASM instance name 을 지정합니다 -r Database instance 에서 사용하는 ASM instance name 을 제거합니다


3) srvctl modify service

이 명령을 사용하여 서비스 중인 노드들의 설정을 변경할 수 있습니다. 그러나 이 명령은 아래와 같이 몇 가지 주의 사항이 있습니다. - 새로운 변경 사항이 생길 때 기존 운영중인 서비스에는 반영이 되지 않습니다. 즉 변경사항을 운영중인 서비스에 적용하려면 기존 서비스를 중단 한 후 새로 시작해야 합니다. 또한 운영중인 서비스의 설정 값은 사용량이 많을 때는 변경하지 않을 것을 권장합니다. 변경 명령은 아래와 같습니다.

srvctl    modify    service    -d    db_unique_name    -s    service_name    -i    old_inst_name

-t    new_inst_name [-f]


위 명령어의 주요 옵션은 아래와 같습니다 -d db_unique_name Unique database name 을 설정합니다. -s service_name Service name 을 지정합니다. -i old_inst_name 현재 동작중인 Instance name 을 지정합니다. -t new_inst_name 새롭게 서비스 할 Instance name 을 지정합니다. -f 서비스를 중단하고 재 위치 시킬 때 현재 접속을 모두 강제로 종료합니다


4) srvctl modify nodeapps

이 명령은 Oracle home 이 변경되었거나 vip 가 변경되었을 경우 사용합니다.

srvctl modify nodeapps -n node_name [-o oracle_home] [-A new_vip_address]


이 명령의 주요 옵션은 아래와 같습니다.

-n node_name Node name 을 지정합니다. -o oracle_home 새롭게 변경 될 Oracle home 을 지정합니다. -A new_vip_address 새롭게 변경 될 VIP address (name|ip/netmask[/if1[|if2|...]])를 지정합니다.


6. Service 재배치 하기

SERVICE: RAC 안에서 제공해주는 업무

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

예를 들어 인사관리를 위한 insa 서비스가 기존에 rac1 에서 서비스 중이었는데

rac1 을 패치하기 위해서 서비스를 rac2 로 이동해야 할 경우 등에 사용하는 명령입니다.

srvctl    relocate    service    -d db_unique_name    -s    service_name    -i old_inst_name

-t new_inst_name [-f]


위 명령의 주요 옵션은 아래와 같습니다.

-d db_unique_name Unique database name 을 지정합니다. -s service_name Service name 을 지정합니다. -i old_inst_name 현재 서비스 중인 instance name 을 지정합니다. -t new_inst_name 새로 변경할 instance name 을 지정합니다. -f 서비스 재배치를 할 때 현재 접속 중인 세션을 모두 강제 종료 시킵니다.


사용 예)

인사관리를 위한 insa 서비스를 rac1 instance 에 생성한 후 이 명령을 사용해서 rac2 instance 로 변경합니다.

[oracle@rac2 ~]$ srvctl add service -d rac -s insa -r rac1 -a rac2
[oracle@rac2 ~]$ srvctl start service -d rac -s insa
insa  서비스가  rac1  에서  작동하는 것이  확인됩니다.

위에서 확인한 rac1 에서 동작 중인 insa 서비스를 rac2 로 이동하겠습니다.

$ srvctl relocate service -d rac -s insa -i rac1 -t rac2


기존 rac1 -> rac2 로 변경된 것이 보입니다. 클라이언트(PC) 에서 tnsnames.ora 파일을 수정해서 insa 서비스에 접속한 후 instance name 을 확인해 보겠습니다. tnsnames.ora 파일에 아래와 같은 내용을 추가합니다.

pc  에서  서버로  접속하여  확인합니다.

다시 rac1 으로 변경 후 확인 해 보겠습니다

$ srvctl relocate service -d rac -s insa -i rac2 -t rac1

7. CRS 자원의 일시적인 활성화 / 비활성화 설정하기 주요 명령은 아래와 같습니다. - 활성화 하기

$ srvctl enable database -d <database-name>
$ srvctl enable instance -d <database-name> -i <instance-name> [,<instnacnename-list>]
$ srvctl enable service -d <database-name> -s <service-name>][,<servicename-list>]

[-i <instance-name>]
-  비활성화  하기
$ srvctl disable database -d <database-name>
$ srvctl disable instance -d <database-name> -i <instnace-name> [,<instancename-list>]
$ srvctl disable service -d <database-name> -s <service-name>][,<service-name-list>]

[-i <instance-name>]

위 명령을 사용하여 insa 서비스를 비활성화 시킨 후 접속 테스트를 해 보겠습니다.

$ srv disable service -d rac -s insa
$ srvctl stop service -d rac -s insa
$ srvctl disable service -d rac -s insa

위와 같이 실행중인 서비스는 사용 안 함으로 변경할 수 없어서 중단 후 사용 안 함으로 변경합니다. 이제 client 에서 insa 서비스로 접속해 있던 사용자 창에서 조회를 해 보고 새로 접속을 시도 해보겠습니다. 먼저 서비스가 중단되기 전에 접속해 있던 세션부터 확인합니다.

이번에는 새로 접속을 시도합니다. 당연히 에러가 발생합니다. 이번에는 insa service 를 활성화 한 후 접속 테스트를 합니다.

$ srvctl enable service -d rac -s insa

여전히 접속이 안됨을 알 수 있습니다.

crs_stat -t

로 현재 상태를 조회합니다. 위 화면을 보면 service 를 enable 해도 여전히 service 는 offline 상태임을 알 수 있습니다. 즉 해당 서비스를 다시 사용하려면 service 를 start 해야 합니다.

$ srvctl start service -d rac -s insa

이상으로 srvctl 로 RAC 서비스와 자원을 관리하는 방법을 살펴보았습니다.

8. 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 입니다.

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