"오라클 rac 시작 종료"의 두 판 사이의 차이
DB CAFE
(→Cluster 전체 정지) |
(→ASM 명령어 실행) |
||
(같은 사용자의 중간 판 38개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
== RAC 정지 와 시작 == | == RAC 정지 와 시작 == | ||
+ | * RAC START 순서도 | ||
+ | https://docs.oracle.com/en/database/oracle/oracle-database/19/cwadd/img/cwadd006_ha_stack.png | ||
+ | |||
+ | * 클러스터 현재 상태 조회 | ||
+ | <source lang=sql> | ||
+ | # crsctl status res -t [-init] | ||
+ | </source> | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Name !! 설명 | ||
+ | |- | ||
+ | |colspan="2"| '''Local Resources''' | ||
+ | |- | ||
+ | | ora.DATA.dg || Asm DataGroup Name | ||
+ | |- | ||
+ | | ora.LISTENER.lsnr || 리스너 상태 | ||
+ | |- | ||
+ | | ora.asm || | ||
+ | # Oracle ASM: Provides disk management for Oracle Clusterware and Oracle Database. | ||
+ | |- | ||
+ | | ora.ons || | ||
+ | # Oracle Notification Service (ONS): A publish and subscribe service for communicating Fast Application Notification (FAN) events. | ||
+ | #:빠른 애플리케이션 알림(FAN) 이벤트를 전달하기 위한 게시 및 구독 서비스. | ||
+ | |- | ||
+ | |colspan="2"| '''Cluster Resources''' | ||
+ | |- | ||
+ | | ora.cssd || | ||
+ | # Cluster Synchronization Services (CSS): 어떤 노드가 클러스터의 구성원인지 제어하고 노드가 클러스터에 가입하거나 떠날 때 구성원에게 통지하여 클러스터 구성을 관리함. | ||
+ | # Cssdagent 프로세스는 클러스터를 모니터링하고 I/O 펜싱을 제공한다. | ||
+ | # Cssdagent 실패로 인해 오라클 클러스터웨어가 노드를 다시 시작할 수 있습니다. | ||
+ | |- | ||
+ | | ora.diskmon || | ||
+ | # Grid Infrastructure 데몬 인 diskmon은 Exadata fencing에 사용되므로 Exadata가 아닌 환경에서는 오프라인 상태인 것이 정상임 | ||
+ | |- | ||
+ | | ora.dsoldb.db || | ||
+ | |- | ||
+ | | ora.evmd || | ||
+ | # Event Management (EVM): A background process that publishes events that Oracle Clusterware creates. | ||
+ | #: 오라클 클러스터웨어가 만드는 이벤트를 게시하는 백그라운드 프로세스. | ||
+ | |||
+ | |} | ||
+ | |||
+ | |||
+ | * Oracle Clusterware Components 프로세스 리스트 와 서비스 구성표 | ||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | ! Oracle Clusterware Component !! Linux/UNIX Process || Windows Processes | ||
+ | |- | ||
+ | |CRS | ||
+ | ||crsd.bin (r) | ||
+ | ||crsd.exe | ||
+ | |- | ||
+ | |CSS | ||
+ | ||ocssd.bin, cssdmonitor, cssdagent | ||
+ | ||cssdagent.exe, cssdmonitor.exe ocssd.exe | ||
+ | |- | ||
+ | |CTSS | ||
+ | ||octssd.bin (r) | ||
+ | ||octssd.exe | ||
+ | |- | ||
+ | |EVM | ||
+ | ||evmd.bin, evmlogger.bin | ||
+ | ||evmd.exe | ||
+ | |- | ||
+ | |GIPC | ||
+ | ||gipcd.bin | ||
+ | || | ||
+ | |- | ||
+ | |GNS | ||
+ | ||gnsd (r) | ||
+ | ||gnsd.exe | ||
+ | |- | ||
+ | |Grid Plug and Play | ||
+ | ||gpnpd.bin | ||
+ | ||gpnpd.exe | ||
+ | |- | ||
+ | |LOGGER | ||
+ | ||ologgerd.bin (r) | ||
+ | ||ologgerd.exe | ||
+ | |- | ||
+ | |Master Diskmon | ||
+ | ||diskmon.bin | ||
+ | || | ||
+ | |- | ||
+ | |mDNS | ||
+ | ||mdnsd.bin | ||
+ | ||mDNSResponder.exe | ||
+ | |- | ||
+ | |Oracle agent | ||
+ | ||oraagent.bin (Oracle Clusterware 12c release 1 (12.1) and later releases | ||
+ | ||oraagent.exe | ||
+ | |- | ||
+ | |Oracle High Availability Services | ||
+ | ||ohasd.bin (r) | ||
+ | ||ohasd.exe | ||
+ | |- | ||
+ | |ONS | ||
+ | ||ons | ||
+ | ||ons.exe | ||
+ | |- | ||
+ | |Oracle root agent | ||
+ | ||orarootagent (r) | ||
+ | ||orarootagent.exe | ||
+ | |- | ||
+ | |SYSMON | ||
+ | ||osysmond.bin (r) | ||
+ | ||osysmond.exe | ||
+ | |} | ||
+ | |||
== RAC 정지 == | == RAC 정지 == | ||
=== Cluster 전체 정지 === | === Cluster 전체 정지 === | ||
* root 유저로 수행 | * root 유저로 수행 | ||
* crsctl 명령어 이용 | * crsctl 명령어 이용 | ||
− | ** RAC 전체 리소스 정지 : DB Instance, Listener 포함 | + | ** RAC 전체 리소스 정지 : DB Instance, Listener ,asm 포함 |
* 각 노드(node)별로 각각 수행 | * 각 노드(node)별로 각각 수행 | ||
* 명령어 | * 명령어 | ||
− | <source lang=sql># | + | <source lang=sql> |
+ | # crsctl stop has -- single node 일때 | ||
+ | # crsctl stop crs -- rac | ||
+ | |||
+ | </source> | ||
=== DB Instance 만 정지 === | === DB Instance 만 정지 === | ||
15번째 줄: | 129번째 줄: | ||
* 명령어 | * 명령어 | ||
<source lang=sql> | <source lang=sql> | ||
− | srvctl stop database -d DBCAFE_DB | + | # srvctl stop database -d DBCAFE_DB |
</source> | </source> | ||
+ | |||
* 확인 | * 확인 | ||
− | <source lang=sql> | + | <source lang=sql># crsctl status res -t</source> |
− | crsctl status res - | ||
− | |||
=== Listener 만 정지 === | === Listener 만 정지 === | ||
27번째 줄: | 140번째 줄: | ||
* root 유저나 oracle 유저로 수행 | * root 유저나 oracle 유저로 수행 | ||
* 명령어 | * 명령어 | ||
+ | <source lang=sql># srvctl stop listener</source> | ||
+ | * 확인 | ||
+ | <source lang=sql># crsctl status res -t</source> | ||
+ | |||
+ | |||
+ | === ASM 정지 === | ||
<source lang=sql> | <source lang=sql> | ||
− | srvctl stop | + | srvctl stop asm -node crmnode1 -stopoption IMMEDIATE |
</source> | </source> | ||
− | |||
− | |||
− | |||
− | |||
== RAC 시작 == | == RAC 시작 == | ||
+ | === Cluster 전체 시작 === | ||
+ | * crsctl 명령어 이용 RAC 의 전체 리소스 시작 | ||
+ | ** DB Instance,Listener,asm 포함 | ||
+ | * root 유저로 수행 | ||
+ | * 각 노드(node)별로 각각 수행 | ||
+ | * 명령어 | ||
+ | <source lang=sql># crsctl start has</source> | ||
+ | * 클러스터를 시작하면 process 시작되는것을 확인 | ||
+ | * 확인 | ||
+ | <source lang=sql># crsctl status res -t -init | ||
+ | -- 또는 | ||
+ | # crsctl status resource -t -init | ||
+ | </source> | ||
+ | *:-> ora.crsd 가 가장 마지막에 시작되는 데몬이기 때문에 crsd 가 정상적으로 online 되면 모두 정상 기동 완료 | ||
| | ||
− | + | ||
− | + | === DB Instance 만 시작 === | |
− | + | * 클러스터가 시작되어 있는 상태에서 DB Instance 만 기동 할경우 | |
− | + | * "srvctl" 명령어를 사용하여 DB Instance 를 시작(startup 과 동일) | |
− | + | * root 유저나 oracle 유저로 수행 | |
+ | * 명령어 | ||
+ | <source lang=sql># srvctl start database -d DBCAFE_DB </source> | ||
+ | * 확인 - DB Instance 시작후 | ||
+ | <source lang=sql># crsctl status res -t </source> | ||
+ | |||
+ | === Listener 만 시작 === | ||
+ | * 클러스터가 시작되어 있는 상태에서 Listener 만 정지 | ||
+ | * "srvctl" 명령어 사용 | ||
+ | * root 유저나 oracle 유저로 수행 | ||
+ | * 명령어 | ||
+ | <source lang=sql># srvctl start listener </source> | ||
+ | * 확인 - 리스너 시작후 | ||
+ | <source lang=sql># crsctl status res -t</source> | ||
+ | |||
| | ||
− | + | ||
+ | == RAC 상태 확인 == | ||
+ | === 클러스터 명령어로 상태 확인 === | ||
+ | * ora.gsd 의 state 가 "online" 이면 정상 | ||
+ | * DB 의 상태가 "OPEN" 인지 확인 | ||
+ | * 명령어 | ||
+ | <source lang=sql># crsctl status resource</source> | ||
+ | === process 확인 === | ||
+ | <source lang=sql># ps -ef | grep d.bin</source> | ||
+ | |||
+ | ----- | ||
+ | == 운영 DB 정지 후 시작 예시 == | ||
+ | === DB 인스턴스 정지 === | ||
+ | * 1번 노드(서버1) | ||
+ | <source lang=sql>$ shutdown immediate</source> | ||
+ | * 2번 노드(서버2) | ||
+ | <source lang=sql>$ shutdown immediate</source> | ||
| | ||
− | + | === 클러스터 정지 (root 계정) === | |
− | + | * 1번 노드 | |
− | + | <source lang=sql> | |
− | + | $ su - | |
− | + | # crsctl stop crs | |
+ | # ps -ef| grep d.bin <-- process 확인 | ||
+ | </source> | ||
+ | * 2번 노드 | ||
+ | <source lang=sql> | ||
+ | $ su - | ||
+ | # crsctl stop crs | ||
+ | # ps -ef| grep d.bin <-- process 확인 | ||
+ | </source> | ||
+ | |||
+ | === ASM은 클러스터가 정지되면 자동 정지 === | ||
+ | * ASM 은 클러스터가 정지되면 자동으로 stop 되고,클러스터가 시작 되면 자동으로 start 된다. | ||
+ | ---- | ||
+ | === 클러스터 시작 (root 계정) === | ||
+ | * 1번 노드 / 2번 노드 각각 실행 | ||
+ | <source lang=sql> | ||
+ | $ su - | ||
+ | # crsctl start crs | ||
+ | # crsctl stat res -t (-init) | ||
+ | # ps -ef| grep d.bin <-- process 확인 | ||
+ | </source> | ||
+ | === 데이터베이스 시작 (DB 인스턴스 start) === | ||
+ | * 1번 노드 / 2번 노드 각각 실행 | ||
+ | <source lang=sql> | ||
+ | SQL> startup | ||
+ | </source> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | === 리스너 시작/종료 === | ||
+ | === 노드별 리스너 정지시 === | ||
+ | * 1번 ,2번 노드 각각 리스너 정지 | ||
+ | <source lang=sql> | ||
+ | srvctl stop listener -n DBCAFE_DB1 | ||
+ | srvctl stop listener -n DBCAFE_DB2 | ||
+ | </source> | ||
+ | * 1번 ,2번 노드 각각 리스너 시작 | ||
+ | <source lang=sql> | ||
+ | srvctl start listener -n DBCAFE_DB1 | ||
+ | srvctl start listener -n DBCAFE_DB2 | ||
+ | </source> | ||
+ | === 현재 VIP 확인 === | ||
+ | <source lang=sql> | ||
+ | # su - grid | ||
+ | $ srvctl config nodeapps -a | ||
+ | $ ifconfig -a (--> eth0, eth1) | ||
+ | </source> | ||
+ | === DB 상태 확인 === | ||
+ | <source lang=sql> | ||
+ | srvctl status database | ||
+ | </source> | ||
+ | |||
+ | === ASM 확인 === | ||
+ | ==== ASM 로그인 ==== | ||
+ | <source lang=sql> | ||
+ | $ ./oraenv | ||
+ | ORACLE_SID = [+ASM] ? orcl | ||
+ | </source> | ||
+ | |||
+ | ==== ASM 명령어 실행 ==== | ||
+ | <source lang=sql> | ||
+ | $ 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 | |
− | + | </source> | |
− | | + | |
− | + | === [[CRSCTL 명령어]] === | |
− | + | === [[SRVCTL 명령어]] === | |
− | < | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
2024년 8월 23일 (금) 06:17 기준 최신판
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
1 RAC 정지 와 시작[편집]
- RAC START 순서도
- 클러스터 현재 상태 조회
# crsctl status res -t [-init]
Name | 설명 |
---|---|
Local Resources | |
ora.DATA.dg | Asm DataGroup Name |
ora.LISTENER.lsnr | 리스너 상태 |
ora.asm |
|
ora.ons |
|
Cluster Resources | |
ora.cssd |
|
ora.diskmon |
|
ora.dsoldb.db | |
ora.evmd |
|
- Oracle Clusterware Components 프로세스 리스트 와 서비스 구성표
Oracle Clusterware Component | Linux/UNIX Process | Windows Processes |
---|---|---|
CRS | crsd.bin (r) | crsd.exe |
CSS | ocssd.bin, cssdmonitor, cssdagent | cssdagent.exe, cssdmonitor.exe ocssd.exe |
CTSS | octssd.bin (r) | octssd.exe |
EVM | evmd.bin, evmlogger.bin | evmd.exe |
GIPC | gipcd.bin | |
GNS | gnsd (r) | gnsd.exe |
Grid Plug and Play | gpnpd.bin | gpnpd.exe |
LOGGER | ologgerd.bin (r) | ologgerd.exe |
Master Diskmon | diskmon.bin | |
mDNS | mdnsd.bin | mDNSResponder.exe |
Oracle agent | oraagent.bin (Oracle Clusterware 12c release 1 (12.1) and later releases | oraagent.exe |
Oracle High Availability Services | ohasd.bin (r) | ohasd.exe |
ONS | ons | ons.exe |
Oracle root agent | orarootagent (r) | orarootagent.exe |
SYSMON | osysmond.bin (r) | osysmond.exe |
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
2.4 ASM 정지[편집]
srvctl stop asm -node crmnode1 -stopoption IMMEDIATE
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.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.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