DBA가 되고 싶은 병아리

RAC 관리용 명령어 본문

Oracle Study

RAC 관리용 명령어

미스틱스 2021. 4. 28. 13:28

RAC 관리 Oracle/MSSQL 

 

1) 관리 툴 : EM, CVU(Cluster Verification Utility, RAC 설치 후 검증 툴), srvctl(server control)

      - crsctl(cluster ready services control) : oracle cw 기동/중지 툴

      - oifcfg(oracle interface configuration tool) : 네트워크 인터페이스 할당/해제 툴

      - ocrconfig(OCR configuration tool) : ocr 관리 툴, ocrcheck, ocrdump 등의 유틸리티도 있음

      - vipca : vip 관리

 

2) Voting Disk 관리

      - voting disk 백업 : $[oratest] dd if=voting_disk_name of=backup_file_name

      - voting disk 복구 : $[oratest] dd if=backup_file_name of=voting_disk_name

 

      - Multiple voting disk path 추가

        #[root] crsctl stop crs (모든 노드에서)

        #[root] crsctl add css votedisk path -force

 

      - Multiple voting disk path 삭제

        #[root] crsctl delete css votedisk path

 

3) OCR 관리

      - OCR location 추가 : #[root] ocrconfig -replace ocr destination_file or disk

      - OCR mirror location 추가 : #[root] ocrconfig -replace ocrmirror destination_file or disk

 

      - OCR 교체

        . 교체할 OCR 외에 나머지 OCR이 online 상태인지 확인

        . Oracle CW가 해당 노드에서 작동 중인지 확인

        . 다음의 명령어로 OCR 교체

          # ocrconfig -replace ocr [dst file] or [disk]

          # ocrconfig -replace ocrmirror [dst file] or [disk]

 

        . 교체 작업 중 shutdown 상태였던 node가 있었다면, 해당 노드 restart 시에 다음의 명령어로 repair 작업 수행

          # ocrconfig -repair ocr [device_name]

          # ocrconfig -repair ocrmirror [dev_name]

 

      - OCR 복구

        # ocrconfig -repair ocrmirror [dev_name]

 

      - OCR 삭제

        . 제거할 OCR 외에 나머지 OCR이 online 상태 인지 확인

        . 다음의 명령어로 OCR 삭제

          # ocrconfig -replace ocr

          # ocrconfig -replace ocrmirror

 

      - OCR 백업

        . Oracle이 자동으로 백업 생성/관리

        . 백업 디폴트 위치 : CRS_home/cdata/cluster_name

 

      - OCR 백업 확인

        # ocrconfig -showbackup

 

      - OCR 복구

        . OCR 백업 확인

          # ocrconfig -showbackup

          # ocrdump -backupfile [file_name]

        . 모든 노드에서 ORACLE CW 중지

          # crsctl stop crs

        . 복구

          # ocrconfig -restore [file_name]

        . 모든 노드에서 Oracle CW 시작

          # crsctl start crs

 

      - OCR 내용 확인

        . ocrdump 이용하여 ocr의 내용을 파일로 출력해서 확인

 

      - OCR 체크 : $ ocrcheck

 

4) DB와 인스턴스(서버) 관리

      - DB와 인스턴스(서버) 시동 : $ srvctl start instance -d [dbname] -i [inst_name_list]

      - DB와 인스턴스(서버) 중지 : $ srvctl stop instance -d [dbname] -i [inst_name_list]

 

      - 모든 인스턴스 시작 : $ srvctl start database -d [dbname]

      - 모든 인스턴스 중지 : $ srvctl stop database -d [dbname]

 

      - DB policy 변경

        . policy 종류 : Automatic(Default), manual

        . 현재 policy 확인 : # srvctl config database -d [dbname] -a

        . Policy 변경 : # srvctl modify database -d [dbname] -y [policy name]

        . Database 추가 및 Policy 설정 : # srvctl add database -d [dbname] -y [policy name]

 

      - SPFILE 변경

        . 현재 spfile 설정 확인 : # srvctl config database -d [dbname] -a

        . spfile 변경 : # srvctl modify database -d [dbname] -p [spfile위치]

 

      - RAC NIC 관리

        . NIC 정의 : $ oifcfg setif -global eth0/139.185.141.0:cluster_interconnect

        . NIC 확인 : $ oifcfg iflist

                     $ oifcfg getif

        . NIC 삭제 : $ oifcfg delif -global eht0/139.185.141.0

 

      - CSS failover 파라메터 설정

        . CSS 파라메터 : Misscount, Disktimeout, Reboottime

        . CSS 파라메터 설정 확인

          $ crsctl get css misscount

          $ crsctl get css disktimeout

          $ crsctl get css reboottime

 

        . CSS 파라메터 설정 변경

          # crsctl set css misscount [value]

          # crsctl set css disktimeout [value]

          # crsctl set css reboottime [value]

 

        . CRS 재시작

          # crsctl stop crs

          # crsctl start crs

 

      - OCR 파일내의 CRS 파라메터 변경

        . VIP 의 CHECK_INTERVAL 값 변경

          # crs_stat -p XXX.vip > XXX.vip.cap

          생성한 XXX.vip.cap 파일을 열어서, CHECK_INTERVAL 값 변경

          crs를 내렸다 올림

          # crs_register -u XXX.vip (.cap는 자동으로 인식하므로, 생략함)

          # crsctl stop crs

          # crsctl start crs

 

      - 로그 레벨 변경

        . 관련 로그 및 위치

          = CRS Log : $ORA_CRS_HOME/log/hostname/crsd

          = CSS Log : $ORA_CRS_HOME/log/hostname/cssd

          = OCR Log : $ORA_CRS_HOME/log/hostname/client

          = EVM Log : $ORA_CRS_HOME/log/hostname/evmd

 

        . CSS 로그 레벨 변경

          # crsctl set trace [level] (default 1)

          # crsctl stop crs

          # crsctl start crs

 

        . OCR 로그 레벨 변경

          $ORA_CRS_HOME/srvm/admin/ocrlog.ini 의 mesg_logging_level 값 조정 (default 0)

 

RAC 인스턴스 개수 확인 : select count(*) from gv$instance;

 

RAC STOP => 역시 관리의 기본은 STOP/START/상태 확인이다.... ^^

  1) 리스너 종료 : $ lsnrctl stop

  2) RAC 의 모든 인스턴스 shutdown : $ srvctl stop database -d [db sid]

  3) ORACLE CW 종료 : # crsctl stop crs (root)

 

RAC START

  1) ORACLE CW 시작 : # crsctl start crs (root)

  2) RAC 의 모든 인스턴스 start : $ srvctl start database -d [db sid]

  3) RAC 관련 서비스 시작(옵션, ex:TAF) : $ srvctl start service -d [db sid]

  4) 리스너 시작 : $ lsnrctl start

 

CRS 상태 확인 : crs_stat -t => 가독성이 떨어짐

                       crsstat     => 가독성이 좋음

 

RAC 내의 DB 목록 확인

  $ srvctl config database

  oracl

 

RAC DB의 설정 확인

  $ srvctl config database -d [sid]

  linux1 orcl1 /u01/app/oracle/product/10.2.0.1/db_1

  linux2 orcl2 /u01/app/oracle/product/10.2.0.1/db_1 

 

RAC 관련 서비스 확인

  $ srvctl config service -d [sid]

  oracltest PREF: oracl2 oracl1 AVAIL

 

RAC 인스턴스 상태 확인

  $ srvctl status database -d [sid]

 

RAC 프로세스 확인

  ps -ef | grep d.bin

  => HP는 3개 있으면 OK(crsd, evmd, css), oprocd는 SGeRAC가 수행함.

     IBM은 4개 있으면 OK(crsd, evmd, css, oprocd)

 

RAC 프로세스 상태 확인

  crsctl check crs

 

crs_stop all  => CRS 부터 인스턴스까지 등록된 모든 것을 중지함(비 권장)

crs_start all => CRS 부터 인스턴스까지 등록된 모든 것을 시작함(비 권장)

crsctl disable crs * => rebooting 후 crs가 자동 시작되는 것을 disable

crsctl enable crs*   => rebooting 후 crs가 자동 시작되는 것을 enable

 

플랫폼 별 RAC 구동 순서

  1) HP : MCSG(SGeRAC) -> CFS -> CRS -> 각 노드의 DB 인스턴스 구동

  2) IBM : GPFS mount -> CRS -> 각 노드의 DB 인스턴스 구동 

 

출처: https://boeok.tistory.com/entry/RAC-관리-명령어 [Secret]

 

출처: <https://boeok.tistory.com/entry/RAC-%EA%B4%80%EB%A6%AC-%EB%AA%85%EB%A0%B9%EC%96%B4>

'Oracle Study' 카테고리의 다른 글

About Oracle RAC Background Processes  (0) 2021.04.28
오라클 RAC 시간동기화  (0) 2021.04.28
파티션 테이블 관련 테스트  (0) 2021.04.28
구구단 PL/SQL  (0) 2021.01.27
오라클 설치 도중에 네트워크 관련 에러  (0) 2020.09.23