====== Oracle RAC Management ======
===== srvctl =====
- Syntax : **srvctl command object [options]**
===== srvctl command =====
^ command ^ Description ^
|srvctl add|node applications, database, database instance, ASM instance, or service 추가|
|srvctl remove|node applications, database, database instance, ASM instance, or service 삭제|
|srvctl config|node applications, database, ASM instance, or service에 대한 구성 목록|
|srvctl enable|Enables the database, database instance, ASM instance, or service |
|srvctl disable|Disables the database, database instance, ASM instance, or service.|
|srvctl start|node applications, database, database instance, ASM instance, or service 시작|
|srvctl stop|node applications, database, database instance, ASM instance, or service 중단|
|srvctl modify|node applications, database, database instance, or service configuration 변경|
|srvctl relocate|하나의 instance에서 다른 하나의 instance로 서비스 재배치|
|srvctl status|node applications, database, database instance, ASM instance, or service 상태 확인|
|srvctl getenv|node applications, database, database instance, or service 구성에서 환경변수 보여줌|
|srvctl setenv and unsetenv|node applications, database, database instance, or service 구성에서 환경변수 설정ᆞ해제|
===== SRVCTL Objects =====
^ Object Noun Name ^ Abbreviation ^ Purpose ^
|asm |asm |**ASM instances**에서 add, configure, enable, start, obtain the status of, stop, disable, and remove명령어 사용|
|database |db |**databases**에서 add, configure, modify, manage environment variables for, enable, start, obtain the status of, stop, disable, and remove 명령어 사용|
|instance |inst |**database instances**에서 add, configure, modify, manage environment variables for, enable, start, obtain the status of, stop, and remove 명령어 사용|
|nodeapps |no abbreviation |**node applications**에서 add, configure, modify, manage environment variables for, start, obtain the status of, stop, and remove 명령어 사용|
|service |serv |**cluster database**에서 서비스를 add, configure, modify, manage environment variables for, enable, start, obtain the status of, relocate, disable, stop, and remove 할 수 있는 명령어 사용|
===== SRVCTL Option =====
- Option은 10g manual 참고([[http://download.oracle.com/docs/cd/B19306_01/rac.102/b14197/srvctladmin.htm#i1008403|10g manual Server Control Utility Reference]])
^ Option ^ Description ^
|-d db_unique_name|database의 유일한 이름|
|-i inst_name|instance 이름|
|-a|추가적인 attributes|
|-t|Display sample TNS entries|
|-s service_name|service 이릌|
|-n node_name|Node 이름|
|-a|VIP 구성|
|-g|GSD 구성|
|-s|ONS 구성|
|-l|Listener구성|
|-o start_options|startup할 때 "open, mount, or nomount" 같은 추가 적인 명령어|
|-c connect_str|접속할 때 권한 지정(default: / as sysdba)|
|-q|Prompt for user credentials connect string from standard input(database) \\ Query connect string from standard input(instance)|
|-h|도움말을 보여줌|
|-f force|서비스를 강제로 중단; \\ 모든 세션이 transactionally하게 SRVCTL과 연결이 끊겨서 \\ 다른 인스턴스로 서비스가 재연결되어 세션의 서비스가 제공됨|
|-f|비활성화된 applications 포함|
|-v|Verbose output|
===== SRVCTL Example =====
- RAC 전체를 기동한다.
# srvctl start database -d SOAF
- 클러스터 종료(ASM사용 시)
# export ORACLE_SID=soaf1
# emctl stop dbconsole
# srvctl stop instance -d soaf -i soaf1
# srvctl stop asm -n rac1
# srvctl stop nodeapps -n rac1
- 클러스터 시작(ASM사용 시)
# export ORACLE_SID=soaf1
# srvctl start instance -d soaf -i soaf1
# srvctl start asm -n rac1
# srvctl start nodeapps -n rac1
- 클러스터 및 ASM,DB 상태확인(ASM사용 시)
# export ORACLE_SID=soaf1
# crs_stat -t
혹은
# crs_stat
# srvctl status instance -d soaf -i soaf1
# srvctl status asm -n rac1
# srvctl status nodeapps -n rac1
- 클러스터 및 ASM,DB 설정확인(ASM사용 시)
# export ORACLE_SID=soaf1
# srvctl config instance -d soaf -i soaf1
혹은
# srvctl config database -d soaf
# srvctl config asm -n rac1
# srvctl config nodeapps -n rac1 -a -g -s -l
# srvctl config nodeapps -n rac1
===== crsctl =====
- 동시에 여러 개의 cluster components 상태를 확인 가능하며, cluster 진단 시에 유용
- root계정에서 실행
- 아래 명령을 trace할 때 : crsctl trace check css
- 자세한 내용은 10g manual참고([[http://download.oracle.com/docs/cd/B19306_01/rac.102/b28759/racmon.htm#CACJJGFA|Using CRSCTL to Diagnose Cluster Issues]])
===== crsctl command =====
^ Command ^ Description ^
|crsctl check crs|CRS stack의 실행 여부 확인|
|crsctl check cssd|CSS의 실행 여부 확인|
|crsctl check crsd|CRS의 실행 여부 확인|
|crsctl check evmd|EVM의 실행 여부 확인|
|crsctl set css |parameter 설정 재정의(override)|
|crsctl get css |gets the value of a CSS parameter|
|crsctl unset css |CSS parameter값을 default값으로 설정|
|crsctl query css votedisk|CSS가 사용하는 voting disks의 목록 보여줌|
|crsctl add css votedisk |voting disk에 추가|
|crsctl delete css votedisk |voting disk에서 삭제|
|crsctl enable crs|startup할 때 모든 CRS daemons 활성화|
|crsctl disable crs|startup할 때 모든 CRS daemons 비활성화|
|crsctl start crs|모든 CRS daemons 시작|
|crsctl stop crs|모든 CRS daemons 중단. cluster에서는 CRS resources이 중단됨|
|crsctl start resources|CRS resources 시작|
|crsctl stop resources|CRS resources 중단|
|crsctl debug statedump evm|dumps state info for evm objects|
|crsctl debug statedump crs|dumps state info for crs objects|
|crsctl debug statedump css|dumps state info for css objects|
|crsctl debug log css [module:level]{,module:level} ...|CSS debugging 작동|
|crsctl debug trace css|dumps CSS in-memory tracing cache|
|crsctl debug log crs [module:level]{,module:level} ...|CRS debugging 작동|
|crsctl debug trace crs|dumps CRS in-memory tracing cache|
|crsctl debug log evm [module:level]{,module:level} ...|EVM debugging 작동|
|crsctl debug trace evm|dumps EVM in-memory tracing cache|
|crsctl debug log res |resources debugging 작동|
|crsctl query crs softwareversion []|설치된 CRS software 버전을 보여줌|
|crsctl query crs activeversion|CRS software 운영 버전을 보여줌|
|crsctl lsmodules css|debugging 가능한 CSS modules의 목록을 보여줌|
|crsctl lsmodules crs|debugging 가능한 CRS modules의 목록을 보여줌|
|crsctl lsmodules evm|debugging 가능한 EVM modules의 목록을 보여줌|
===== ASM =====
- ASM디스크 확인
select d.name, a.path, a.state
from v$asm_disk a, v$asm_diskgroup d
where a.group_number=d.group_number;