사용 추적을 통해 관리자는 콘텐츠에 대해 사용자 레벨 질의를 추적할 수 있습니다.
사용 추적은 질의 빈도 및 응답 시간에 따라 사용자 질의로 인해 성능 병목 현상이 발생하는지 확인할 때 유용합니다. 관리자는 사용자 질의 추적 기준을 설정하고 소비되는 리소스에 따라 다양한 방식(예: 데이터 최적화, 집계 전략, 청구 사용자 또는 부서)으로 사용 가능한 사용 보고서를 생성합니다.
엔터프라이즈 모델링 기능을 제공하는 서비스에서 사용 추적을 구성할 수 있습니다. 세부 사용자 질의 레벨에서 사용 정보가 추적되므로 다음과 같은 질문을 해결할 수 있습니다.
수집하는 사용 통계를 통해 간편하게 시스템 사용량 및 성능을 모니터하여 사용자 동작을 보다 잘 이해하고 예측할 수 있습니다. 시스템 사용 방법을 미리 숙지할 경우 효율성을 높이고 오류를 줄일 수 있습니다.
사용 추적을 사용으로 설정하면 시스템은 실행되는 모든 질의에 대한 데이터 레코드를 수집하여 모두 데이터베이스 테이블에 씁니다. 논리적 질의와 물리적 질의를 추적하여 다양한 성능 측정항목(예: 질의 실행에 걸린 시간 및 사용자 질의 처리 중 검색된 행 수)과 함께 별도의 테이블에 기록합니다.
사용을 추적하려면 다음 필요 조건을 충족하는지 확인하십시오.
사용 추적을 구성하려면 의미 모델러 또는 모델 관리 툴을 사용하여 의미 모델에 사용 추적 데이터베이스 세부정보를 추가해야 합니다.
데이터베이스 스키마에서 사용 추적 테이블을 생성하고 테이블에 사용 데이터를 쓸 수 있는 권한을 가진 사용자에 대한 인증서가 있어야 합니다.
시스템 접속 체크박스를 선택하면 의미 모델러에서 접속이 사용 가능해집니다. 마찬가지로 모델 관리 툴에서 시스템 접속 옵션을 사용하면 데이터 접속 사용을 선택하고 접속의 객체 ID를 입력할 수 있습니다. 데이터 소스 이름 필드에 접속 세부정보를 수동으로 입력할 필요가 없습니다. 사용 추적 데이터베이스 지정을(를) 참조하십시오.
주:
모델 관리 툴을 사용하는 경우 콘솔을 사용하여 의미 모델 및 사용 추적 데이터베이스에 대한 데이터베이스 접속을 정의할 수도 있습니다. Oracle Cloud 데이터베이스의 데이터에 접속을(를) 참조하십시오. 콘솔을 사용하는 경우 모델 관리 툴에서 사용 추적 데이터베이스를 지정하는 동안 데이터 소스 이름 필드에 접속 세부정보를 입력하는 대신 콘솔 접속 사용을 선택하여 접속의 이름을 입력할 수 있습니다.
시스템은 사용자가 지정한 데이터베이스에 사용 추적 세부정보를 저장합니다. 데이터베이스는 Oracle Database 또는 Oracle Autonomous Data Warehouse일 수 있습니다. 의미 모델러 또는 모델 관리 툴을 사용하여 의미 모델에서 데이터베이스 및 접속 풀 세부정보를 지정합니다.
사용 추적 데이터베이스 지정을(를) 참조하십시오.
사용 추적 정보를 저장할 데이터베이스를 지정한 후에는 콘솔(시스템 설정 페이지)을 통해 다양한 사용 추적 매개변수를 설정해야 합니다.
사용 추적 구성에 필요한 매개변수:
사용 추적 매개변수 설정을(를) 참조하십시오.
시스템은 세 개의 데이터베이스 테이블에 사용 추적 데이터를 저장합니다.
사용 추적 프로세스가 [시스템 설정] 페이지에서 설정을 통해 지정되는 테이블 이름으로 해당 테이블을 생성합니다.
사용 추적 매개변수 설정을(를) 참조하십시오.
사용 추적 논리적 질의 로깅 테이블
TOTAL_TIME_SEC
는 END_TS
에서 START_TS
를 뺀 값과 같다고 가정할 수 있습니다. 열은 다음과 같은 이유로 정확한 값을 제공하지 않습니다.
사용자, 세션 및 ID 관련 열
열 | 설명 |
---|---|
|
논리적 질의 테이블에서 이 열은 고유한 행 식별자를 나타냅니다. 물리적 질의 테이블에서 이 열은 |
|
|
|
카탈로그의 이름을 나타냅니다. 기본값은 Null이며 데이터 유형은 Varchar(128)입니다. |
|
가장된 사용자의 사용자 이름을 지정합니다. 요청이 가장된 사용자로 실행되지 않을 경우 값은 None입니다. 기본값은 None이며 데이터 유형은 Varchar(128)입니다. |
|
질의를 제출한 사용자의 이름을 지정합니다. |
ECID |
시스템 생성 실행 컨텍스트 ID를 나타냅니다. 데이터 유형은 Varchar2(1024)입니다. |
TENANT_ID |
초기화 블록을 실행한 사용자의 테넌트 이름을 지정합니다. 데이터 유형은 Varchar2(128)입니다. |
SERVICE_NAME |
서비스의 이름을 지정합니다. 데이터 유형은 Varchar2(128)입니다. |
SESSION_ID |
세션의 ID를 나타냅니다. 데이터 유형은 Number(10)입니다. |
HASH_ID |
논리적 질의에 대한 HASH 값을 나타냅니다. 데이터 유형은 Varchar2(128)입니다. |
질의 원본 관련 열
열 | 설명 |
---|---|
|
요청의 소스입니다. 요청자는 QUERY_SRC_CD를 문자열 값으로 설정하여 자신을 식별할 수 있습니다. 가능한 값은 다음과 같습니다.
|
|
대시보드의 경로 이름을 나타냅니다. 질의가 대시보드를 통해 제출되지 않은 경우 값은 NULL입니다. |
|
대시보드의 페이지 이름을 나타냅니다. 요청이 대시보드 요청이 아닌 경우 값은 NULL입니다. 기본값은 Null이며 데이터 유형은 Varchar(150)입니다. |
|
분석에 대한 카탈로그에 경로 이름을 지정합니다. |
질의 세부정보 관련 열
열 | 설명 |
---|---|
|
백엔드 데이터베이스에서 온 오류 메시지를 포함합니다. 이 열은 |
|
잘리지 않은 전체 논리적 SQL 문을 포함합니다. |
|
시스템이 논리적 SQL 문에서 생성한 MD5 해시 키를 포함합니다. 기본값은 Null이며 데이터 유형은 Varchar(128)입니다. |
|
질의에 대해 제출된 SQL 문을 나타냅니다. 데이터 유형은 Varchar(1024)입니다. ALTER TABLE 명령을 사용하여 이 열의 길이를 변경할 수 있습니다. 단, 이 열에 작성된 텍스트는 항상 물리적 층에 정의된 크기로 잘립니다. 의미 모델 관리자는 이 열의 길이를 설정할 때 백엔드 물리적 데이터베이스가 지원하는 최대 질의 길이보다 큰 값으로 설정하지 않아야 합니다. 예를 들어, Oracle 데이터베이스는 최대 Varchar를 4000으로 사용하지만 4000자가 아닌 4000바이트로 자르기를 수행합니다. 멀티바이트 문자 집합을 사용하는 경우 문자 집합 및 사용된 문자에 따라 실제 최대 문자열 크기의 문자 수가 다릅니다. |
|
질의가 액세스하는 의미 모델의 이름을 지정합니다. |
|
액세스하려는 비즈니스 모델의 이름을 포함합니다. |
|
다음 목록에 정의된 질의의 완료 상태를 나타냅니다.
|
실행 타이밍 관련 열
열 | 설명 |
---|---|
|
질의 컴파일에 필요한 시간(초)을 포함합니다. |
|
논리적 질의가 완료된 날짜를 나타냅니다. |
|
논리적 질의가 완료된 시와 분을 나타냅니다. |
|
논리적 질의가 완료된 날짜와 시간을 나타냅니다. 시작 및 종료 시간기록에는 리소스가 사용 가능한 상태로 바뀔 때까지 기다리면서 질의가 소비한 모든 시간도 반영됩니다. 질의를 제출한 사용자가 질의 완료 전 페이지에서 나가는 경우 최종 인출이 발생하지 않으며 시간 초과 값 3600이 기록됩니다. 단, 사용자가 시간 초과 전 페이지로 돌아오는 경우 인출이 완료되며 완료된 시간이 |
|
논리적 질의가 제출된 날짜를 나타냅니다. |
|
논리적 질의가 제출된 시와 분을 나타냅니다. |
|
논리적 질의가 제출된 날짜와 시간을 나타냅니다. |
|
클라이언트가 분석에 대한 응답을 기다리는 동안 시스템이 질의 작업에 소비한 시간(초)을 나타냅니다. |
RESP_TIME_SEC |
질의 응답에 걸린 시간을 나타냅니다. 데이터 유형은 Number(10)입니다. |
실행 세부정보 관련 열
열 | 설명 |
---|---|
|
데이터베이스로 전송된 모든 질의의 누적 시간을 포함합니다. 질의는 병렬로 실행되므로 누적 질의 시간이 데이터베이스에 접속된 총 시간보다 크거나 같습니다. 예를 들어, 논리적 요청이 데이터베이스로 전송되는 네 개의 물리적 SQL 문을 생성하고 질의 중 세 개에 대한 질의 시간이 10초이며 나머지 한 개에 대한 질의 시간이 15초라고 가정하면, 질의가 병렬로 실행되므로 |
|
백엔드 데이터베이스가 반환한 총 행 수를 포함합니다. |
|
논리적 질의 요청을 충족시키기 위해 백엔드 데이터베이스로 제출된 질의 수를 나타냅니다. 성공한 질의의 경우(SuccessFlag = 0) 이 수는 1 이상입니다. |
|
질의 클라이언트로 반환된 행 수를 나타냅니다. 질의에서 많은 양의 데이터가 반환되는 경우 사용자가 모든 데이터를 표시할 때까지는 이 열이 채워지지 않습니다. |
TOTAL_TEMP_KB |
질의에 대해 수신된 총 KB를 지정합니다. 데이터 유형은 Number(10)입니다. |
캐시 관련 열
열 | 설명 |
---|---|
|
질의에 대한 캐시 적중을 나타내려면 Y를, 캐시 실패를 나타내려면 N을 지정합니다. 기본값은 N입니다. |
|
질의에 대해 캐시 결과가 반환된 횟수를 나타냅니다. |
|
질의가 캐시 항목을 생성한 횟수를 나타냅니다. 기본값은 Null입니다. |
사용 추적 물리적 질의 로깅 테이블
다음 표에서는 물리적 질의를 추적하는 데이터베이스 테이블에 대해 설명합니다. 이 데이터베이스 테이블은 논리적 질의 로깅 테이블에 저장된 논리적 질의의 물리적 SQL 정보를 기록합니다. 물리적 질의 테이블은 논리적 질의 테이블과 외래 키 관계를 가집니다.
사용자, 세션 및 ID 관련 열
열 | 설명 |
---|---|
|
고유한 행 식별자를 지정합니다. |
|
논리적 질의 로깅 표의 논리적 질의를 참조하십시오. 데이터 유형은 Varchar2(50)입니다. |
HASH_ID |
논리적 질의에 대한 HASH 값을 나타냅니다. 데이터 유형은 Varchar2(128)입니다. |
PHYSICAL_HASH_ID |
물리적 질의에 대한 HASH 값을 나타냅니다. 데이터 유형은 Varchar2(128)입니다. |
질의 세부정보 관련 열
열 | 설명 |
---|---|
|
잘리지 않은 전체 물리적 SQL 문을 포함합니다. |
|
질의에 대해 제출된 SQL 문을 포함합니다. 데이터 유형은 Varchar(1024)입니다. |
실행 타이밍 관련 열
열 | 설명 |
---|---|
|
물리적 질의가 완료된 날짜를 나타냅니다. |
|
물리적 질의가 완료된 시와 분을 나타냅니다. |
|
물리적 질의가 완료된 날짜와 시간을 나타냅니다. 시작 및 종료 시간기록에는 리소스가 사용 가능한 상태로 바뀔 때까지 기다리면서 질의가 소비한 모든 시간도 반영됩니다. |
|
물리적 질의 실행 시간을 나타냅니다. |
|
물리적 질의가 제출된 날짜를 나타냅니다. |
|
물리적 질의가 제출된 시와 분을 나타냅니다. |
|
물리적 질의가 제출된 날짜와 시간을 나타냅니다. |
실행 세부정보 관련 열
열 | 설명 |
---|---|
|
질의 클라이언트로 반환된 행 수를 포함합니다. |
사용 추적 초기화 블록 테이블
주:
현재 초기화 블록 사용량 추적 테이블에는 세션 초기화 블록만 포함되며 의미 모델 초기화 블록이 포함되지 않습니다.사용자, 세션 및 ID 관련 열
열 | 설명 |
---|---|
USER_NAME |
초기화 블록을 실행한 사용자의 이름입니다. 데이터 유형은 Varchar2(128)입니다. |
TENANT_ID |
초기화 블록을 실행한 사용자의 테넌트 이름입니다. 데이터 유형은 Varchar2(128)입니다. |
SERVICE_NAME |
서비스 이름입니다. 데이터 유형은 Varchar2(128)입니다. |
ECID |
시스템 생성 실행 컨텍스트 ID입니다. 데이터 유형은 Varchar2(1024)입니다. |
SESSION_ID |
세션의 ID입니다. 데이터 유형은 Number(10)입니다. |
질의 세부정보 관련 열
열 | 설명 |
---|---|
REPOSITORY_NAME |
질의가 액세스하는 의미 모델의 이름입니다. 데이터 유형은 Varchar2(128)입니다. |
BLOCK_NAME |
실행된 초기화 블록의 이름입니다. 데이터 유형은 Varchar2(128)입니다. |
실행 타이밍 관련 열
열 | 설명 |
---|---|
START_TS |
초기화 블록이 시작된 날짜 및 시간입니다. |
END_TS |
초기화 블록이 완료된 날짜 및 시간입니다. 시작 및 종료 시간기록에는 리소스가 사용 가능한 상태로 바뀔 때까지 기다리면서 질의가 소비한 모든 시간도 반영됩니다. |
DURATION |
초기화 블록 실행에 걸린 시간입니다. 데이터 유형은 Number(13,3)입니다. |
실행 세부정보 관련 열
열 | 설명 |
---|---|
NOTES |
초기화 블록 및 실행에 대한 메모입니다. 데이터 유형은 Varchar2(1024)입니다. |
Oracle Analytics Cloud에 대한 사용자 레벨 질의를 추적하기 위한 작업은 다음과 같습니다.
작업 | 설명 | 추가 정보 |
---|---|---|
사용 추적 데이터를 저장할 위치 결정 |
사용 추적에 사용할 수 있는 데이터베이스 유형을 이해합니다. |
|
사용 추적 데이터베이스에 대한 접속 설정 |
사용 추적 정보를 저장할 데이터베이스에 대한 데이터 접속(또는 콘솔 접속)을 생성합니다. |
|
사용 추적 데이터베이스 지정 |
의미 모델에서 사용 추적 데이터베이스를 정의합니다. |
|
사용 추적 매개변수 지정 |
시스템에 대한 사용 추적을 사용으로 설정한 다음, 사용 추적 데이터베이스에 대한 접속 세부정보 및 테이블 이름을 지정합니다. |
|
사용 추적 데이터 분석 |
사용 추적 데이터에서 사용 보고서를 생성합니다. |
시스템에서 보고서, 대시보드 및 데이터 시각화 워크북의 사용을 추적하려면 의미 모델에서 사용 추적 데이터를 저장할 데이터베이스를 지정해야 합니다.
지정한 데이터베이스에는 적어도 하나의 스키마가 정의되어야 합니다. 시스템은 데이터베이스 접속 세부정보에 지정한 사용자 이름과 일치하는 이름을 가진 스키마에 사용 추적 테이블을 생성합니다. 예를 들어, 사용 추적 데이터베이스의 스키마 이름이 “UT_Schema”인 경우 접속의 사용자 이름 필드에 "UT_Schema"를 지정해야 합니다. 사용 추적 테이블은 “UT_Schema”라는 스키마에 생성됩니다.
의미 모델의 물리적 층에서 데이터베이스 및 접속 풀 세부정보를 구성해야 합니다. 의미 모델러 또는 모델 관리 툴을 사용하여 사용 추적 데이터베이스를 구성합니다.
사용 추적 데이터베이스로 Oracle Autonomous Data Warehouse를 사용하려면 사용 추적 데이터베이스를 지정하기 전에 몇 가지 추가 Oracle Autonomous Data Warehouse 관련 작업을 완료해야 합니다. 사용 추적을 위한 필요 조건을(를) 참조하십시오.
현재 모델 관리 툴을 사용하여 의미 모델을 개발하는 경우 모델 관리 툴을 사용하여 사용 추적 데이터베이스를 구성합니다.
사용 정보 기록을 시작하려면 사용할 데이터베이스에 대한 접속 세부정보 및 사용 추적에 사용된 데이터베이스 테이블의 이름을 지정해야 합니다. 해당 매개변수는 콘솔(시스템 설정 페이지)을 통해 설정합니다.
Oracle Analytics가 사용 추적 테이블을 생성하고 사용자 질의 기록을 시작합니다.