OWI 정의- 오라클은 어떤 작업을 수행하는 과정에서 원하는 리소스를 획득하지 못하는 경우에 리소스에 대한 점유가 해제될 때까지 리소스와 관련된 이벤트를 대기한다. 이처럼 프로세스가 겪는 대기 현상을 기록하고 관찰하는 일련의 기능과 인터페이스, 그리고 방법론을 통칭하여 OWI, 즉 Oracle Wait Interface라고 부른다. 대기 이벤트는 P1, P2, P3 라는 세 개의 파라미터를 통해 현재 대기하는 리소스를 표현한다. 대기 이벤트의 P1, P2, P3의 값은 V$SESSION_WAIT 뷰나 V$SESSION 뷰와 같은 다이나믹 뷰나 SQL Trace 파일 등을 통해 관찰 가능하다. 각 이벤트마다 P1, P2, P3의 의미는 각각 다르며, V$EVENT_NAME 뷰를 통해 확인 가능하다. 오라클..
정의오라클이 제공하는 Oracle Call Interface(OCI) API를 이용한, 텍스트 기반 데이터베이스 모니터링 툴입니다. 현재 데이터베이스 활동 상태와 성능을 모니터링하고, 경합과 병목지점을 식별할 수 있습니다. 오라클 데이터베이스 11gR2 버전부터 지원하며, 유닉스 top 유틸리티와 유사한 인터페이스를 가지고 있습니다. 바이너리 파일 위치 oracle$ cd $ORACLE_HOME/suptoolsoracle$ lsoratop tfa 주요 특징 - 프로세스, SQL 모니터링 - 실시간 Wait Event - Active Data Guard 지원 - 멀티태넌트 CDB 지원 수행방법 ./oratop -h => 수행방법 및 도움말. local 데이터베이스를 모니터링 할 경우 $..
Cost 정의Optimizer가 문장을 수행하는데 걸릴 것이라고 예상하는 추측시간이며, I/O가 아니라 Query의 예상 수행시간(Time) Time Based로서의 Cost란 ▶정의Total Time (총 쿼리를 수행하는데 걸리는 시간)Total Time = CPU Time + I/O Time + Wait TimeEstimated Time (쿼리 수행 예측 시간) = Estimated CPU Time + Estimated I/O Time✔ Estimated Time= Estimated CPU Time + Estimated I/O Time =Estimated CPU Time + Estimated Single Block I/O Time + Multi Block I/O TimeSingle Block I/O ..
#!/bin/bash# 삭제할 파일 경로와 로그 파일 경로 설정TARGET_DIR="/oradata/BACKUP/DATA" # 삭제할 파일들이 있는 디렉터리LOG_DIR="/oradata/BACKUP/log/archive_log" # 로그 파일이 저장될 디렉터리# 현재 날짜 기준으로 13개월 전 날짜 계산DATE_THRESHOLD=$(date -d "13 month ago" +%Y%m%d)CURRENT_DATE=$(date '+%Y%m%d')# 일자별 로그 파일 생성LOG_FILE="$LOG_DIR/${CURRENT_DATE}_ARCHIVE_DELETE.log"# 로그 파일에 시작 시간 기록echo "=================================" >> $LOG_FI..
원인오라클DB 재기동 등 SQL에 대한 파싱 수행 시, 옵티마이저의 판단에 따라 PLAN 변경 변경 방지 방법1. 작업 전 SQL PLAN 백업 진행2. 작업 후 주요 이슈가 될 기능들에 대해 성능 테스트 필요3. 백업한 SQL PLAN 과 비교하여 성능 저하가 있는지 확인하고, 있을 경우 튜닝 진행 플랜 변경되었는지 확인select sql_id, PARSING_SCHEMA_NAME "USER", PLAN_HASH_VALUE, OPTIMIZER_MODE, child_number, parse_calls, USERS_OPENING, USERS_EXECUTING, loads, executions, invalidations, decode(sign(invalidations), 1, (loads..
tkproftrace 파일의 경우 사용자가 보기 좋게 포멧팅 되어 있지 않아 trace 분석을 위한 툴 분석 방법TKPROF: Release 19.0.0.0.0 - Development on Mon Oct 21 12:50:27 2024Copyright (c) 1982, 2019, Oracle and/or its affiliates. All rights reserved.Trace file: EMSDB_ora_1860860.trcSort options: default********************************************************************************count = number of times OCI procedure was executedcpu..
해석 방법가장 안쪽 ➡ 밖위 ➡ 아래Join Pair 구조 시 Join 순서에 의해 분석테스트 쿼리 select STADIUM_ID, GUBUN, HOMETEAM_ID, AWAYTEAM_ID from (select * from SCHEDULE left join player on TEAM_ID=HOMETEAM_ID where STADIUM_ID=:1 ) where SCHE_DATE like '201205%' group by STADIUM_ID, GUBUN, HOMETEAM_ID, AWAYTEAM_ID; 해당쿼리 실행 계획SQL_ID 19dhxb0hv46bn, child number 0--------..
운영 환경에서 새로운 index를 추가하게되면 자칫 optimizer가 예상하지 못한 결과를 도래할 수 있다. 그래서 11g부터 invisible index 기능이 나왔는데 해당 기능의 경우 index는 존재하지 않지만 optimizer가 이를 기준으로 plan 을 생성하지 않고운영 환경에 반영 전 검증을 하기 위한 방법 중 하나이다. 장점- 인덱스를 그대로 유지하되 실행계획에는 반영하지 않으며 인덱스 생성 또는 drop 전 성능 변화에 대해 테스트가 가능- app 단의 영향을 주지 않고 특정 app 단에서만 temporary 하게 index 사용- 해당 index table에 대한 dml 변경 내역은 모두 적용 성능 테스트 (1) 테스트 테이블 'IX_EMP_01' index 생성create inde..