행위

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

DB CAFE

(활성화 하기)
1번째 줄: 1번째 줄:
== RAC DB 상태(시작/종료) 확인 ==
+
== RAC 정지 와 시작 ==
+
== RAC 정지 ===
=== RAC DB 상태 확인 명령 ===
+
=== Cluster 전체 정지 ===
 +
* crsctl 명령어 이용
 +
*: - RAC 전체 리소스 정지 : DB Instance, Listener 포함
 +
* root 유저로 수행
 +
* 각 노드(node)별로 각각 수행
 +
​* 명령어
 +
<source lang=sql>
 +
crsctl stop has
 +
​</source>
  
상태 확인 명령 :
+
=== DB Instance 만 정지 ===
crs_stat , srvctl
+
* 클러스터가 시작되어 있는 상태에서 DB Instance만 정지 할경우
 
+
* "srvctl" 명령어를 사용하여 DB Instance 정지 시킴 (shutdown immediate 와 동일함)
<source lang=shell>
+
* root 유저나 oracle 유저로 수행
crs_stat -t
+
* 명령어
</source>
+
<source lang=sql>
 
+
srvctl stop database -d DBCAFE_DB
<source lang=shell>
 
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]
 
</source>
 
 
* Target :  목표  상태
 
* State  :  현재  상태
 
* Host  :  작동  노드
 
 
Target  와  State  가  모두  Online 상태가  되면  정상적으로  작동 중.
 
 
 
*.실시간으로  위와  같은  상황을  조회하려면  리눅스에서는  watch  명령(1초마다 반복 실행)
 
 
 
<source lang=shell>
 
watch -n 1 'crs_stat -t'
 
</source>
 
 
 
* srvctl 명령 : 보다 세부적인 내용 확인 가능
 
 
 
<source lang=shell>
 
srvctl status database[/instance/service/nodeapps/asm] -d [DB명]
 
</source>
 
 
 
=== DB 상태 현재 상태 확인 ===
 
<source lang=shell>
 
srvctl status database -d <database-name> [-f][-v][-S <level>]
 
</source>
 
예)  srvctl status database -d DB명 -v
 
 
 
=== DB 인스턴스 상태 확인 ===
 
<source lang=shell>
 
[<instancename-list>][-f][-v]-S <level>]
 
</source>
 
<source lang=shell>
 
srvctl status instance -d <database-name> -i <instance-name>
 
</source>
 
예)  srvctl status instance -d DB명 -i rac1번인스턴스명, rac2번 인스턴스명
 
 
 
=== DB 서비스명 상태 확인 ===
 
* [<service-namelist>][-f][-v][-S <level>]
 
<source lang=shell>
 
srvctl status service -d <database-name> -s <service_name>
 
</source>
 
 
 
=== DB 노드APP 별 상태 확인 ===
 
<source lang=shell>
 
srvctl status nodeapps [-n <node-name>]
 
</source>
 
예) srvctl status nodeapps -n rac1번 노드명
 
 
 
=== ASM 상태 확인 ===
 
<source lang=shell>
 
srcvtl status asm -n <node_name>
 
</source>
 
 
 
--------------
 
 
 
== RAC DB 종료 ==
 
{{고지상자
 
|제목=" RAC는 중단 순서가 중요. "
 
|내용=*srvctl  명령을  사용하며  중단을  시키는  순서는 
 
인스턴스  -->  ASM(ASM 구성시)  --> application  순서   
 
}}
 
 
 
* 정지 명령어 : srvctl
 
 
 
=== 데이터베이스 정지 ===
 
<source lang=shell>
 
srvctl stop database -d DB명  [-o <stop-options: immediate/abort/nomount/.. >]
 
[-c <connect-string> | -q]
 
</source>
 
 
 
=== 인스턴스 정지 ===
 
) srvctl  stop instance -d DB명 -i rac1번인스턴스명
 
(1번 인스턴스만 정지, 2번 인스턴스는 작동중..)
 
 
 
<source lang=shell>
 
srvctl stop instance -d <database-name> -i <instance-name>
 
[,<instance-namelist>][-o <stop-option>][-c <connect -string> | -q]
 
</source>
 
 
 
=== 서비스 정지 ===
 
<source lang=shell>
 
srvctl stop service -d <database-name> [-s <service-name> [, <service-namelist>]]
 
[-i <instance-name][-c <connect -string> | -q][-f]
 
</source>
 
 
 
=== 노드 정지 ===
 
<source lang=shell>
 
srvctl stop nodeapps -n <node-name>
 
</source>
 
 
 
=== ASM 정지 ===
 
<source lang=shell>
 
srvctl stop asm -n <node_name> [-i ][-o <start_option>
 
</source>
 
 
----------------------
 
 
 
==== RAC 정지 확인 명령어 ====
 
 
 
<source lang=shell>
 
crs_stat -t 
 
</source>
 
 
 
* 인스턴스1이  종료 확인.
 
그러나  Database는  아직 중단이  되지  않음.
 
인스턴스2번 운영 중임.
 
 
 
* 인스턴스2번 정지
 
<source lang=shell>
 
srvctl  stop instance -d RAC -i rac2
 
</source>
 
 
모든  Instance  와  Database 가  OFFLINE 확인. 
 
 
 
<source lang=shell>
 
crs_stat -t 
 
</source>
 
 
 
이후 노드APP 종료
 
 
 
<source lang=shell>
 
srvctl   stop nodeapps -n  rac1
 
</source>
 
 
 
<source lang=shell>
 
srvctl  stop nodeapps -n  rac2
 
</source>
 
 
모두  정상적으로  OFFLINE  확인.
 
 
 
====  CRS 전체 정지 명령 ====
 
* root 나 grid 권한으로
 
<source lang=shell>
 
crs_stop -all 
 
</source>
 
 
 
위와  같이  한  단계씩  수동으로  종료할  수도  있고 
 
crs_stop  -all  명령을  이용해서  한꺼번에  자동으로  종료시킬  수도  있습니다.
 
 
 
 
 
----------------------
 
 
 
== RAC DB 시작 ==
 
{{고지상자
 
|제목= " 시작하는  순서는  중단  순서와  반대."
 
|내용=#application --> ASM (ASM  일경우) --> Instance  순서로  시작.
 
#종료할  때와  마찬가지로  srvctl  명령으로  시작합니다.
 
}}
 
==== 시작 명령어 ====
 
<source lang=shell>
 
srvctl start database -d <database-name> [-o <start-options>][-c <connect-string> | -q]
 
</source>
 
 
 
<source lang=shell>
 
srvctl start instance -d <database-name> -i <instance-name> [,<instance-name-list>]
 
 
 
[-o <start-option>][-c <connect -string> | -q]
 
</source>
 
 
 
<source lang=shell>
 
srvctl start service -d <database-name> [-s <service-name> [, <service-namelist>]]
 
 
 
[-i <instance-name>][-o <start-option>][-c <connect -string> | -q]
 
</source>
 
 
 
<source lang=shell>
 
srvctl start nodeapps -n <node-name>
 
 
 
<source lang=shell>
 
srvctl start asm -n <node_name> [-i ][-o <start_options>]
 
</source>
 
 
 
<source lang=shell>
 
crs_stat -t
 
</source>
 
 
 
현재 상태는 모두 offline 입니다.
 
 
 
먼저 node application 부터 시작합니다.
 
 
 
==== node 어플리케이션 시작 ====
 
<source lang=shell>
 
srvctl start nodeapps -n rac1
 
</source>
 
 
rac1  에서  application  이  실행  된  것을  확인  할  수  있습니다.
 
 
 
여기서  중요한  것은  vip  와  listener  입니다.
 
나머지  rac2  에서도  application  을  시작합니다.
 
 
 
<source lang=shell>
 
srvctl start nodeapps -n rac2
 
</source>
 
 
 
* rac1 ,rac2  에서  node application이 정상 작동 확인
 
 
 
 
 
==== ASM 구성시 ASM 시작 ====
 
 
 
만약  ASM  으로  구성되었을  경우는  양쪽  노드  모두에서  아래와  같이  ASM  을  시작하면  됩니다.
 
 
<source lang=shell>
 
srvctl start asm -n rac1
 
</source>
 
 
 
<source lang=shell>
 
srvctl start asm -n rac2
 
</source>
 
 
 
 
 
==== 인스턴스 시작 ====
 
 
 
<source lang=shell>
 
srvctl  start  instance  -d   rac  -i  rac1
 
</source>
 
 
 
Instance가  1 개라도  시작이  되면  Database가 시작됨. 
 
 
 
===== 나머지  Instance  도  시작 =====
 
 
 
<source lang=shell>
 
srvctl start instance -d rac -i rac2
 
</source>
 
 
 
* Instance  가  모두  시작  되어도  서비스가  시작이  안  될  경우 
 
  아래와  같이  특정  서비스 실행.
 
<source lang=shell>
 
srvctl start service -d rac -s rac -i rac1
 
</source>
 
 
 
==== CRS 한번에 시작 하는 명령어 ====
 
<source lang=shell>
 
crs_start  -all 
 
 
</source>
 
</source>
* crs_start  -all  명령은  위  단계들을 모두  한꺼번에  모아서  실행하는  스크립트.
+
* 확인
 
+
<source lang=sql>
== RAC  리소스 추가/삭제 ==
+
crsctl status res -t
 
+
​</source>
자원의  시작과  종료  외에도  srvctl  명령을  사용하여  운영  중인  RAC  에서  여러  가지  자원을  추가.
 
  
* DB 추가
+
=== Listener 만 정지 ===
<source lang=shell>
+
* 클러스터가 시작되어 있는 상태에서 Listener 만 정지
srvctl add database -d <name> -o <oracle_home> [-m <domain_name>][-p <spfile>]
+
* "srvctl" 명령어 사용
 
+
* root 유저나 oracle 유저로 수행
[-A <name|ip>/netmask][-r{PRIMARY | PHYSICAL_STANDBY | LOGICAL_STANDBY}]
+
* 명령어
[-s <start_options>][-n <db_name>]
+
<source lang=sql>
 +
srvctl stop listener
 
</source>
 
</source>
 +
* 확인
 +
<source lang=sql>
 +
crsctl status res -t
 +
​</source>
  
* 인스턴스 추가
+
== RAC 시작 ==
<source lang=shell>
+
srvctl add instance -d <name> -i <inst_name> -n <node_name>
+
1. Cluster 전체 디동
</source>
+
    - crsctl 명령어를 이용하여 RAC 의 전체 리소스를 시작 : DB Instance,
 
+
                                                                        Listener 포함
* 서비스  추가
+
    - root 유저로 수행
<source lang=shell>
+
    - 각 노드(node)별로 각각 수행
srvctl add service -d <name> -s <service_name> -r <preferred_list> [-a ]
+
 
+
    - 명령어 = crsctl start has
[-P <TAF_policy>][-u]
+
</source>
+
    - 클러스터를 시작하면 데몬이 시작되는것을 확인
 
+
      .명령어 = crsctl status res -t -init (또는 crsctl status resource -t -init)
* 노드 추가
+
               
<source lang=shell>
+
   ---> ora.crsd 가 가장 마지막에 시작되는 데몬이기 때문에 crsd 가 정상적으로
srvctl add noeapps -n <node_name> -o <oracle_home> [-A <name|ip>/netmask[/if1[|if2|….]]]
+
         online 되면 모두 정상 기동
</source>
+
 
+
2. DB Instance 만 기동
* ASM 추가
+
    - 클러스터가 시작되어 있는 상태에서 DB Instance 만 기동 할경우에는
<source lang=shell>
+
        "srvctl" 명령어를 사용하여 DB Instance 를 정지 한다(startup 과 동일)
srvctl add asm -n <node_name> i -o <oracle_home>
+
    - root 유저나 oracle 유저로 수행
</source>
+
    - 확인 방법 : DB Instance 시작후 "crsctl status res -t" 확인
 
+
 
+
    - 명령어 = srvctl start database -d LHNDB
==== RAC 리소스 추가 ====
+
 
인사  관리작업을  위한  insa  서비스를  추가하되  rac2  에서  서비스  하고  rac1  에서는  대기  상태로 생성하겠습니다.
+
3. Listener 만 기동
 
+
    - 클러스터가 시작되어 있는 상태에서 Listener 만 정지
예시) insa  서비스  추가 후 rac2  에서  서비스  , rac1  에서는  대기  상태로 생성
+
    - "srvctl" 명령어 사용
 
+
    - root 유저나 oracle 유저로 수행
<source lang=shell>
+
    - 확인방법 : 리스너 시작후 "crsctl status res -t" 로 확인
srvctl add service -d rac -s insa -r rac2 -a rac1
+
</source>
+
    - 명령어 = srvctl start listener
 
+
 
+
< RAC 상태 확인 >
위와  같이  서비스를  생성  한  후  확인
+
1. 클러스터 명령어를 통한 상태 확인
<source lang=shell>
+
    - ora.gsd 의 state 가 "online" 이면 정상이며
crs_stat -t
+
    - 특히 DB 의 상태가 "OPEN" 인지 확인 한다.
</source>
+
 
+
    - 명령어 = crsctl status resource -t
* insa  서비스가  생성은  되었으나 실행은  되지  않음.
+
 
+
2. process 통한 확인
* 해당  서비스를  명령어로  실행.
+
    - pd -ef | grep d.bin
<source lang=shell>
 
srvctl start service -d rac -s insa
 
</source>
 
 
 
* 정상적으로  잘  실행  되는  것 확인
 
 
 
srvctl  명령어를 이용해서  기존에  존재하는  자원을  제거  할  수도  있습니다.
 
 
 
 
주요  명령어는  아래와  같습니다
 
<source lang=shell>
 
srvctl remove database -d <database-name>
 
</source>
 
 
 
<source lang=shell>
 
srvctl remove database -d <database-name> [-i <instance-name>]
 
</source>
 
<source lang=shell>
 
srvctl remove database -d <database-name> -s <service-name>
 
 
 
[-i <instance-name>]
 
</source>
 
 
==== RAC 리소스 삭제 ====
 
 
 
* insa  서비스 중지 후
 
<source lang=shell>
 
srvctl stop service -d rac -s insa
 
</source>
 
 
 
* insa  서비스를  제거
 
<source lang=shell>
 
srvctl remove service -d rac -s insa
 
</source>
 
 
 
만약  여러  개의  인스턴스에서  실행  중인  서비스인  경우  특정  인스턴스에서만  제거를  해야  할
 
경우 -i  옵션을  함께  사용
 
 
 
<source lang=shell>
 
srvctl remove service -d rac -s insa -i rac1
 
</source>
 
 
 
==== 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
 
 
 
<source lang=shell>
 
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}]
 
</source>
 
 
* 주요 옵션
 
 
 
-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
 
 
 
<source lang=shell>
 
srvctl    modify    instance   -d    db_unique_name    -i    inst_name
 
 
 
{-n node_name | -s asm_instance_name | -r}
 
</source>
 
 
 
* 주요  옵션
 
 
 
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
 
 
 
이  명령을  사용하여  서비스  중인  노드들의  설정을  변경할  수  있습니다.
 
그러나  이  명령은  아래와 같이  몇  가지  주의  사항이  있습니다.
 
 
 
-  새로운  변경  사항이  생길  때  기존  운영중인  서비스에는  반영이  되지  않습니다.
 
즉  변경사항을  운영중인  서비스에  적용하려면  기존  서비스를  중단  한  후  새로  시작해야  합니다.
 
또한  운영중인  서비스의  설정  값은  사용량이  많을  때는  변경하지  않을  것을  권장합니다.
 
변경  명령은  아래와  같습니다.
 
 
 
<source lang=shell>
 
srvctl    modify    service    -d    db_unique_name    -s    service_name    -i    old_inst_name
 
 
 
-t    new_inst_name [-f]
 
</source>
 
 
 
 
 
* 주요  옵션
 
 
 
-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  가  변경되었을  경우  사용합니다.
 
<source lang=shell>
 
srvctl modify nodeapps -n node_name [-o oracle_home] [-A new_vip_address]
 
</source>
 
 
 
 
이  명령의  주요  옵션은  아래와  같습니다.
 
 
 
-n node_name                Node name 을  지정합니다.
 
-o oracle_home              새롭게  변경  될  Oracle home  을  지정합니다.
 
-A new_vip_address      새롭게  변경  될 VIP address (name|ip/netmask[/if1[|if2|...]])를  지정합니다.
 
 
 
 
==== Service  재배치 하기 ====
 
 
 
SERVICE:  RAC 안에서 제공해주는 업무
 
 
 
이  명령을  사용하여  현재  운영중인  서비스들의  인스턴스  변경
 
 
 
예를  들어  인사관리를  위한  insa  서비스가  기존에  rac1  에서  서비스  중이었는데 
 
rac1  을  패치하기 위해서  서비스를  rac2  로  이동해야  할  경우  등에  사용하는  명령.
 
 
 
<source lang=shell>
 
srvctl    relocate    service    -d db_unique_name    -s    service_name    -i old_inst_name
 
 
 
-t new_inst_name [-f]
 
</source>
 
 
 
 
* 주요  옵션
 
 
 
-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  변경.
 
 
 
<source lang=shell>
 
srvctl add service -d rac -s insa -r rac1 -a rac2
 
</source>
 
 
 
<source lang=shell>
 
srvctl start service -d rac -s insa
 
</source>
 
 
 
insa  서비스가  rac1  에서  작동하는 것이  확인.
 
확인한  rac1  에서  동작  중인  insa  서비스를  rac2  로  이동.
 
 
 
<source lang=shell>
 
srvctl relocate service -d rac -s insa -i rac1 -t rac2
 
</source>
 
 
 
 
* 클라이언트(PC)  에서  tnsnames.ora  파일을  수정해서  insa  서비스에  접속한  후  instance  name  을 확인.
 
*  pc  에서  서버로  접속하여  확인.
 
 
 
<source lang=shell>
 
srvctl relocate service -d rac -s insa -i rac2 -t rac1
 
</source>
 
 
 
==== CRS  자원의  일시적인  활성화  /  비활성화  설정 ====
 
* 주요  명령
 
 
 
=====  활성화  하기=====
 
<source lang=shell>
 
srvctl enable database -d <database-name>
 
</source>
 
 
 
<source lang=shell>
 
srvctl enable instance -d <database-name> -i <instance-name> [,<instnacnename-list>]
 
</source>
 
 
 
<source lang=shell>
 
srvctl enable service -d <database-name> -s <service-name>][,<servicename-list>]
 
 
 
[-i <instance-name>]
 
</source>
 
 
 
===== 비활성화  하기 =====
 
 
 
<source lang=shell>
 
srvctl disable database -d <database-name>
 
</source>
 
<source lang=shell>
 
srvctl disable instance -d <database-name> -i <instnace-name> [,<instancename-list>]
 
</source>
 
<source lang=shell>
 
srvctl disable service -d <database-name> -s <service-name>][,<service-name-list>]
 
 
 
[-i <instance-name>]
 
</source>
 
 
위  명령을  사용하여  insa  서비스를  비활성화  시킨  후  접속  테스트.
 
 
 
<source lang=shell>
 
srv disable service -d rac -s insa
 
</source>
 
<source lang=shell>
 
srvctl stop service -d rac -s insa
 
</source>
 
<source lang=shell>
 
srvctl disable service -d rac -s insa
 
</source>
 
 
 
실행중인  서비스는  사용  안함으로  변경할  수  없어  중단 후 사용  안함으로  변경.
 
 
 
먼저  서비스가  중단되기  전에  접속해  있던  세션부터  확인.
 
 
 
새로  접속을  시도.
 
에러가  발생합니다.
 
insa service  를  활성화  한  후  접속  테스트.
 
<source lang=shell>
 
srvctl enable service -d rac -s insa
 
</source>
 
여전히  접속이  안됨을  알 수  있습니다.
 
 
 
현재  상태를  조회
 
<source lang=shell>
 
crs_stat -t
 
</source>
 
 
 
위  화면을  보면  service  를  enable  해도  여전히  service  는  offline  상태임을  알  수  있음.
 
 
 
즉  해당  서비스를  다시  사용하려면  service  start  해야  함 .
 
 
 
<source lang=shell>
 
srvctl start service -d rac -s insa
 
</source>
 
 
 
==== 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.
 
 
 
  가장 일반적으로  많이  모니터링  됩니다.
 
 
 
[[Category:oracle]]
 

2024년 8월 14일 (수) 21:45 판

thumb_up 추천메뉴 바로가기


1 RAC 정지 와 시작[편집]

2 RAC 정지 =[편집]

2.1 Cluster 전체 정지[편집]

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

​* 명령어

crsctl stop has
​

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 시작[편집]

​ 1. Cluster 전체 디동

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

   - 명령어 = crsctl start has

   - 클러스터를 시작하면 데몬이 시작되는것을 확인
      .명령어 = crsctl status res -t -init  (또는 crsctl status resource -t -init)
                
  ---> ora.crsd 가 가장 마지막에 시작되는 데몬이기 때문에 crsd 가 정상적으로
       online 되면 모두 정상 기동

​ 2. DB Instance 만 기동

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

   - 명령어 = srvctl start database -d LHNDB
 

3. Listener 만 기동

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

   - 명령어 = srvctl start listener

​ < RAC 상태 확인 > 1. 클러스터 명령어를 통한 상태 확인

   - ora.gsd 의 state 가 "online" 이면 정상이며
   - 특히 DB 의 상태가 "OPEN" 인지 확인 한다.

   - 명령어 = crsctl status resource -t

​ 2. process 를 통한 확인

   - pd -ef | grep d.bin