질의 로그 수집 및 분석

질의 로그에는 관리자가 질의 성능, 오류 시나리오, 잘못된 결과와 관련된 문제를 분석하고 해결할 수 있게 해주는 강력한 진단 정보가 포함되어 있습니다. Oracle Analytics에서 질의 로그를 사용으로 설정하면 구문분석, 최적화, 실행 계획, 물리적 질의, 요약 통계 등에 대한 정보가 질의 로그에 기록됩니다.

질의 로그 액세스

질의 로그는 시스템 전체에서 질의 실행 순서와 동일하게 순차적으로 기록됩니다. 각 세션 및 요청은 고유 ID로 식별됩니다. 관리자는 콘솔의 세션 및 질의 캐시 페이지에서 이러한 질의 로그에 액세스할 수 있습니다. 이 페이지에 액세스하는 방법은 SQL 질의 및 로그 분석을(를) 참조하십시오.

주:

또한 워크북 작성자가 워크북에서 시각화 구성요소에 대한 질의 시간, 서버 시간, 스트리밍 시간과 같은 질의 정보에 액세스할 수 있습니다. 이 항목의 끝에 있는 워크북의 질의 로그 액세스을(를) 참조하십시오.

질의 로그 레벨

  • 로그 레벨에 따라 생성되는 로그 양과 상세한 정도가 결정됩니다.

  • 시스템, 세션 또는 보고서 레벨에서 로그 레벨을 설정할 수 있습니다.
  • 시스템 로깅 레벨 속성(툴, 옵션, 저장소)을 사용하여 의미 모델(RPD)의 전역 로그 레벨을 정의하거나 세션 변수를 사용할 수 있습니다.

    GUID-8BF38235-E497-4FC9-B4C3-D5E3B11C2991-default.jpg에 대한 설명이 이어집니다.
    .jpg''

  • 보고서의 고급 탭에서 제공되는 Prefix 속성에 LOGLEVEL 변수를 추가하여 보고서의 로그 레벨을 무효화할 수 있습니다.

  • 캐시 적중을 피해서 전체 로그를 얻기 위해서는 LOGLEVEL과 함께 DISABLE_CACHE_HIT=1 변수를 포함하면 됩니다.

    GUID-028022F5-7C3F-4EA4-B497-88453DFF4853-default.jpg에 대한 설명이 이어집니다.
    .jpg''

  • 로그 레벨(LOGLEVEL) 값 범위는 0~7입니다.
    • LOGLEVEL=0은 로깅이 사용 안함으로 설정되었음을 의미합니다.
    • LOGLEVEL=7은 Oracle 개발 팀에서 주로 사용되는 가장 높은 로깅 레벨입니다.
    • LOGLEVEL=2는 성능 튜닝 및 기본 파악에 적합합니다.
    • LOGLEVEL=3은 행 레벨의 데이터 보안 필터 문제를 해결하기 위해 필요합니다.
  • 로그 레벨에 따라 질의 로그에는 논리적 요청, 탐색, 실행 계획, 생성된 물리적 질의, 실행 시간, 여러 실행 모드로 검색된 행 및 바이트, 캐시 관련 정보를 포함하여 질의에 대한 정보가 포함됩니다.

관리자는 적절한 LOGLEVEL 및 변수 설정으로 질의를 실행하여 콘솔의 SQL 실행 페이지에서 질의 로그를 추출할 수 있습니다.

GUID-CE500760-79A2-4D2E-83CA-F401163B111F-default.jpg에 대한 설명이 이어집니다.
.jpg''

질의 로그 읽기

세션 및 질의 캐시 페이지에는 현재 활성 상태인 모든 질의 및 세션이 나열됩니다. 관리자가 콘솔에서 이 페이지에 액세스할 수 있습니다.

GUID-E741680B-8E04-4FBA-9173-4D2F1CAA680E-default.jpg에 대한 설명이 이어집니다.
.jpg''

페이지의 각 항목은 설정된 레벨(즉, 의미 모델, 세션 또는 보고서 레벨)에서 특정 질의의 질의 로그에 대한 액세스 권한을 제공합니다.

GUID-AF2BE54A-CC5E-44C0-88E2-9ADD91B3962C-default.jpg에 대한 설명이 이어집니다.
.jpg''

각 요청에는 Oracle Analytics에서 고유한 requestid가 포함되어 있습니다.

논리적 SQL 질의

여기에서는 Oracle Analytics의 샘플 논리적 SQL 질의를 보여줍니다.

GUID-ACCBD275-1027-48FB-9183-8EB87EB94078-default.jpg에 대한 설명이 이어집니다.
.jpg''

논리적 SQL 요청에서 볼 수 있는 일반적인 변수는 다음과 같습니다.

  • QUERY_SRC_CD: 질의 원본: 프롬프트, 보고서, DV, SQL 실행 등입니다.
  • SAW_SRC_PATH: 질의가 저장된 경우 카탈로그의 질의 경로입니다.
  • SAW_DASHBOARD: 질의가 대시보드에 포함된 경우 카탈로그의 대시보드 경로입니다.
  • SAW_DASHBOARD_PG: 대시보드 페이지의 이름입니다.

논리적 요청

논리적 요청은 보안 필터(있는 경우)를 추가한 후 프리젠테이션 층에서 비즈니스 모델 및 매핑 층으로 질의를 변환하는 것입니다.

GUID-74E1CA85-56BB-412D-B9F1-468E1D143DFD-default.jpg에 대한 설명이 이어집니다.
.jpg''

논리적 요청에 따라 Oracle Analytics는 질의가 기존 캐시에 적중하는지 또는 데이터베이스에서 검색되어야 하는지 여부를 결정합니다.

GUID-AD43A89E-4AC8-4A6A-B30F-167EEA2BAE0F-default.jpg에 대한 설명이 이어집니다.
.jpg''

실행 계획

실행 계획은 실제 논리적 요청을 최적화된 실행 계획으로 변환하는 것입니다. 여기에는 각 작업의 전달 계획과 데이터베이스 또는 Oracle Analytics 중 하나의 수행 위치가 포함됩니다. Oracle Analytics에서 작업이 처리될 때 질의 로그에는 [for database 0:0,0]이 표시됩니다.

GUID-41665BED-DD61-4056-BEDD-D54D2292BD58-default.jpg에 대한 설명이 이어집니다.
.jpg''

질의를 실행하는 동안 Oracle Analytics는 이 트리를 정확하게 탐색합니다. 세부 로그에서 처리된 행에 대한 정보가 실행 트리의 모든 노드에 제공됩니다.

GUID-58CDEF0F-CE9D-41D7-A639-1F68749074B1-default.jpg에 대한 설명이 이어집니다.
.jpg''

물리적 또는 데이터베이스 요청

실행 계획에 따라 Oracle Analytics는 지정된 데이터베이스에서 실행할 물리적 SQL을 생성합니다. 하나 이상의 데이터베이스에 여러 요청을 전송할 수 있습니다.

GUID-67BA9E19-057C-4918-A583-C127B2D14F32-default.jpg에 대한 설명이 이어집니다.
.jpg''

데이터베이스에 전송되는 모든 물리적 요청에는 검색된 행 및 바이트 수에 대한 로그가 기록됩니다.

GUID-A103C103-084C-4370-BDB6-0D2728A66DAB-default.jpg에 대한 설명이 이어집니다.
.jpg''

질의가 여러 개일 때 질의 ID(이 예에서는 1914627)를 사용하여 데이터베이스에 질의 전송 섹션에 로깅된 정확한 질의를 찾을 수 있습니다. 이렇게 하면 데이터베이스 요청이 여러 개 있을 때 질의를 검색된 행과 매핑할 수 있습니다.

하나의 보고서는 보고서 구조 및 의미 모델 정의에 따라 하나 이상의 데이터베이스에 여러 질의를 전송할 수 있습니다. 예를 들어 이 질의 로그에서는 3개의 물리적 질의가 데이터베이스로 전송되었습니다.

GUID-6AD88CC1-CED9-4609-BB30-F6B0F94BB105-default.jpg에 대한 설명이 이어집니다.
.jpg''

로그는 실행 계획의 모든 노드에 대해 유사한 행 처리 정보를 제공합니다. 마지막으로 클라이언트로 전송되는 행이 로깅됩니다.

GUID-94913767-718C-44B4-AE6C-6081DD12D8B4-default.jpg에 대한 설명이 이어집니다.
.jpg''

또한 로그에 전체 실행 시간을 포함한 최종 통계 요약이 포함됩니다. 이 시간을 조사하여 성능 문제를 분석하고 조사할 수 있습니다.

GUID-2F47CE96-DFE8-4B4F-940A-3FF9CE336F2A-default.jpg에 대한 설명이 이어집니다.
.jpg''

요약 통계

여러 타이밍 통계가 질의 로그 요약에 표시됩니다.
  • 경과 시간 - 논리적 질의가 수신된 시간부터 클라이언트가 커서를 닫을 때까지의 총 경과 시간입니다. Oracle Analytics에서와 같이 클라이언트에서 사용자가 결과를 스크롤하도록 허용되는 경우 사용자가 다른 페이지로 이동하거나 로그아웃할 때까지 오랫동안 커서가 열린 상태로 유지될 수 있습니다.
  • 컴파일 시간 - Oracle Analytics에서 논리적 SQL 질의로부터 실행 계획 및 물리적 질의를 생성하기 위해 사용되는 시간입니다.
  • BI Server의 총 시간 - 클라이언트가 응답을 기다리는 총 시간입니다. 여기에는 물리적 질의 실행 시간, 인출 중 대기 시간, Oracle Analytics에서 내부 실행을 위한 소요 시간이 포함됩니다.
  • 실행 시간 - Oracle Analytics에서 논리적 질의가 수신된 시점부터 논리적 질의 실행이 완료될 때까지 걸린 시간입니다. 논리적 질의 실행이 완료된 후에 클라이언트가 결과를 인출할 때 소요되는 시간은 여기에 포함되지 않습니다.
  • 응답 시간 - Oracle Analytics에서 논리적 질의가 수신된 시점부터 첫번째 행이 클라이언트에 반환될 때까지 걸린 시간입니다.

질의 로그 고려 사항

  • 처리가 단일 스레드 활동으로 수행됩니다. 어려운 상황에서는 로그 레벨이 2를 초과할 때 성능 병목이 발생할 수 있습니다.

  • 나열되고 계산되는 시간은 로그에 입력이 기록되는 시간에 해당하며, 이는 거의 항상 이벤트(즉, 로그 입력을 시작한 작업)가 발생하는 시간입니다. 그렇지 않으면 로깅에 영향을 주는 다른 병목이 있습니다.

  • 질의 로깅은 진단용이며 사용 정보를 수집하기 위한 것이 아닙니다. 사용 추적에 대한 자세한 내용은 사용 추적을(를) 참조하십시오.

워크북의 질의 로그 액세스

관리자만 콘솔에서 세션 및 질의 캐시를 통해 로그에 액세스할 수 있습니다. 하지만 콘텐츠 작성자는 개발자 메뉴를 통해 워크북에서 가상화 질의에 대한 로그 정보에 액세스할 수 있으며, 이는 질의 성능 문제를 해결하려는 작성자에게 유용한 툴입니다. 워크북의 성능 툴(개발자 메뉴 옵션)에 액세스하려면 사용자가 내 프로파일 아래의 고급 메뉴에 있는 개발자 옵션 사용을 켜야 합니다.

GUID-1C5E06A4-B442-41CF-9A16-029A8878237B-default.jpg에 대한 설명이 이어집니다.
.jpg''

사용으로 설정되었으면 개발자 메뉴 옵션이 워크북 메뉴에 표시됩니다.

GUID-72F0DD44-DD0A-47D4-942B-3E014F122B0F-default.jpg에 대한 설명이 이어집니다.
.jpg''

개발자 옵션을 사용하면 사용자가 캔버스의 모든 시각화에 대해 여러 로그를 즉시 확인하고 분석할 수 있습니다. 각 정보 유형에 대해 서로 다른 탭이 포함된 개별 프레임이 캔버스 아래에 표시됩니다. 기본적으로 시각화가 실행될 때는 로그가 채워지거나 새로고침되지 않습니다.

GUID-5D339116-5D5F-4AA2-B16B-82096E0B0D3C-default.jpg에 대한 설명이 이어집니다.
.jpg''

분석하려는 시각화를 선택하고 새로고침을 눌러서 로그를 생성합니다. 새로고침된 다음에는 시각화와 관련된 여러 정보가 표시되고 특정 시각화에 대해 로그 정보를 분석할 수 있습니다. 여러 시각화를 분석하려면 개별적으로 새로고침하고 하나씩 분석해야 합니다.

GUID-5A53D8E3-0776-44DC-ADD9-214C231E172B-default.jpg에 대한 설명이 이어집니다.
.jpg''
개발자 옵션을 사용하여 콘텐츠 작성자가 성능 로그, JSON, XML, 데이터 집합 관련 정보와 같은 다양한 정보를 분석할 수 있습니다. 즉, 세션 및 질의 캐시 페이지에 대한 관리자 액세스 권한이 없어도 로그를 분석할 수 있습니다.

주:

개발자 메뉴는 워크북에만 제공됩니다. 클래식 분석 및 대시보드의 경우 세션 및 질의 캐시 페이지를 통해 질의 로그에 액세스합니다.