SRVCTL과 관리 정책
SRVCTL의 DB, 인스턴스, ASM 관리와 AUTOMATIC, MANUAL 정책의 차이
#핵심 요약
SRVCTL은 Clusterware에 등록된 DB, 인스턴스와 관련 자원을 관리함
config는 등록 구성, status는 실행 상태이며 SQL*Plus의 기동, 종료는 접속 인스턴스 범위임
AUTOMATIC은 호스트 재기동 전 상태 복원, MANUAL은 자동 재기동을 하지 않는 정책으로 설명돼 있음
#개념과 동작 원리
| 대상과 설정 | 범위 |
|---|---|
| database | 등록 DB의 전체 인스턴스 |
| instance | 지정 인스턴스와 그 인스턴스에서 실행되는 서비스에 영향 |
| ASM | Grid Infrastructure 홈의 SRVCTL로 관리 |
| AUTOMATIC | 재기동 전 DB의 실행 또는 정지 상태 복원 |
| MANUAL | 자동 재기동하지 않으며 현재 실행 중인 DB를 즉시 정지시키지는 않음 |
| enable/disable | 관리 정책과 별개인 DB 전체 또는 노드별 활성화 상태 |
-startoption은 open, mount, nomount, -stopoption은 immediate, transactional, abort 등을 구분함 실습에서는 ASM 파일을 사용하는 DB의 정지를 ASM보다 먼저 하고 기동은 ASM부터 하도록 설명함
#필수 명령어 또는 SQL
srvctl config database -db <DB_NAME> -a
srvctl status database -db <DB_NAME>결과 해석: 정책 실습 출력은 AUTOMATIC과 Database is enabled를 기재하며 노드별 disabled 목록은 비어 있음 정책만으로 현재 DB가 실행 중인지 판단하지 않고 status를 별도로 봄
srvctl status asm결과 해석: ASM 상태 확인 명령이며 실제 상태 출력은 기재 없음
srvctl modify database -db <DB_NAME> -policy MANUAL결과 해석: 정책 변경만으로 현재 실행 중인 DB를 종료하지 않으며 실제 전환 결과 출력은 기재 없음
srvctl stop instance -db <DB_NAME> -instance <INSTANCE> -stopoption immediate결과 해석: 지정 인스턴스를 정지하는 예시이며 실습의 해당 실습에는 실행 로그가 없음
#사용 조건과 주의사항
자동 기동 정책 실습에서는 로컬 Clusterware 재기동이라고 설명하면서 실제 블록은 stop cluster -all을 사용함 그 실습의 영향을 한 노드로 한정할 수 없음 ASM 관리 수업 자료에는 SQL*Plus 정지 시 ORA-39512와 CRS-34927이 기록돼 있으며 전체 클러스터 정지와 ASM 정지는 구분해야 함