본문 바로가기
3. 데이터관리

DBCS 진단 데이터 수집 방법 - 장애 및 오류 파악 목적

by MY잭슨 2022. 2. 18.

오라클 클라우드를 사용하다 보면 장애가 발생하거나 오류가 발생하는 상황에 바로 대처가 가능한 경우도 있지만 클라우드 엔지니어 지원 (My Oracle Support)을 받아서 해결을 해야 하는 경우가 있습니다.

 

통상적인 절차로는,

1) MOS (support.oracle.com) 또는 OCI 콘솔을 통한 서비스 요청 (Service Request) 생성, 생성시 긴급도 분류

2) SR 담당 엔지니어 배정 및 이슈 파악

3) 자세한 파악과 분석을 위해 여러 가지 형태의 로그를 요청 (이슈에 따라 상이)

4) 고객에게 조치 사항 (Action Plan) 전달

5) 고객 직접 또는 운영 파트너 조치 사항 적용

문제가 해결 될때까지 3~5번 사항 계속 반복하게 됩니다.

빠른 이슈 해결을 위해서 선행되어야 하는 것은,

SR 담당 엔지니어가 정확하게 문제를 파악할 수 있도록 서비스 요청 생성 시 이슈 내용에 대해서 충실하게 작성을 해 주어야 하고 오류 메시지나 로그 등을 수집하여 전달해야 합니다.

 

DBCS 관련 장애, 이슈인 경우, 저는 이렇게 하시길 권해 드립니다.

1) 일단 티켓을 먼저 오픈하고 (서비스 손실에 따른 지원 필요 등급 분류)

2) 담당자가 배정되려면 일정 시간이 소요가 되기에 이 때 로그를 수집해서 업데이트합니다.

 

 

DBCS 진단 데이터 수집 방법

  1. 가장 기본이 되는 테넌시, 리전, 가용성 도메인, 각 OCID들 (각 위치는 최하단 이미지 참고)
    • 클라우드명 (Cloud Account Name)
    • 리전 (Region)
    • 가용성 도메인 (Availability Domain) : 서울과 춘천은 AD1 밖에 없음
    • 테넌시 ID (Tenancy ID)
    • 구획 OCID (Compartment OCID)
    • 데이터베이스 시스템 OCID (Database System OCID)
    • 데이터베이스 OCID (Database OCID)
  2. OCI DBCS VM 연결이 가능한 상태이면 에이전트, 데이터베이스, 실행 JOB 상태 수집 (root 사용자)
    --인프라 상세
    # sudo -s
    # curl -s http://169.254.169.254/opc/v1/instance/ | egrep -v "user_data|ssh_authorized_keys|timeCreated"
    
    
    --에이전트 상세
    # sudo -s
    # rpm -qa | grep dcs
    
    ####For OL7 and above
    #systemctl status initdcsagent
    #systemctl status initdcsadmin
    
    
    --클러스터와 데이터베이스 상세
    # sudo -s
    # sudo su - grid
    # crsctl check crs
    # exit
    # sudo su - oracle
    
    # sqlplus / as sysdba
    
    -- SQL 실행 모드에서
    select status from v$instance;
    select name, open_mode from v$database;
    select banner from v$version where banner like 'Oracle Database%';
    show pdbs;
    
    
    --JOB 상세
    # sudo -s
    
    # /opt/oracle/dcs/bin/dbcli describe-component > /tmp/dcs_job_details.log
    # /opt/oracle/dcs/bin/dbcli list-databases >> /tmp/dcs_job_details.log
    # /opt/oracle/dcs/bin/dbcli list-jobs >> /tmp/dcs_job_details.log
    # /opt/oracle/dcs/bin/dbcli describe-job -i <faild_job_ID> >> /tmp/dcs_job_details.log
    
    --** /tmp/dcs_job_details.log 파일을 서비스 요청 오픈한 곳에 업로드 합니다.
  3.  opc 사용자로 실행
# sudo /opt/oracle/dcs/bin/diagcollector.py


Sample Output:
=============
[opc@testdb1 ~]$ sudo /opt/oracle/dcs/bin/diagcollector.py
Log files collected to :/tmp/dcsdiag/diagLogs-1526004897.zip

Logs are being collected to:
/tmp/dcsdiag/diagLogs-1526004897.zip

 

일부 로그는 텍스트 형태로 바로 서비스 요청 생성 관리 화면에서 업데이트할 수 있지만 xxx.log 또는 xxx.zip 형태의 로그들은 업로드가 필요합니다.

1) 업로드는 아직까지는 OCI콘솔에서는 안 되고 MOS (support.oracle.com)에서 할 수 있습니다. 

2) curl 명령어로도 가능하답니다. 

# curl -T <path_and_filename>” -u "<userID>" https://transport.oracle.com/upload/issue/<sr-number>/  

For example:
curl -T /tmp/dcsdiag/diagLogs-1526004897.zip -u <MOS username> https://transport.oracle.com/upload/issue/3-111111111/

이런 주의 사항도 있습니다. 마지막 SR 번호 뒤에 '/'도 꼭 붙여야 한답니다.

 NOTE: You must add the ending slash after SR number.

 

테넌시 및 기본 정보 확인 위치

클라우드명 (이름) 확인 및 해당 자원 위치 리전 확인

 

클라우드명 (이름) 확인 후 OCID 수집

 

해당 자원이 어떤 구획 Compartment 에 있는지 확인 후 OCID 수집

 

데이터베이스 시스템 OCID 수집

 

데이터베이스 OCID 수집

댓글