본문 바로가기

분류 전체보기

optimizer Optimizer : SQL에 대한 최적의 execution plan을 수립하는 Server process * Rule-Based Optimizer 하나의 SQL에 대한 여러 개의 execution plan 가운데 가장 높은 순위의 execution plan을 항상 사용한다.(Rank Rule 사용) - 그냥 무조건 인덱스를 사용하려고 한다라고 생각하믄 된다. - 경험적으로 순위가 매겨진 오퍼레이션에 기초한 실행계획을 선택한다. - SQL문을 실행하기 위한 방법이 하나 이상 있다면, 규칙기준 접근 방식은 순위가 높은 (적은 숫자의) 오퍼레이션을 이용 한다. - 순위가 높은 오퍼레이션은 순위가 낮은 오퍼레이션보다 더 빨리 실행된다. - 수립될 실행계획이 예측 가능하기 때문에 사용자가 원하는 처리 경로로 유.. 더보기
V$SQLAREA 자료사전 V$SQL, V$SQLTEXT [공유-풀 영역의 구문 분석 결과를 제공] - 가장 많은 Disk I/O가 발생한 sql문을 제공 - 가장 많은 메모리를 사용한 sql 문을 제공 - 가장 많은 CPU 사용기간이 소요된 SQL문을 제공 - 사용자가 실행한 SQL 패턴 제공 - SORT 횟수, INVALIDATION된 SQL문 등 SELECT SQL_TEXT, VERSION_COUNT, LOADS, INVALIDATIONS, PARSE_CALLS, SORTS,DISK_READS, BUFFER_GETS FROM V$SQLAREA WHERE SQL_TEXT NOT LIKE '%$%' AND COMMAND_TYPE IN (2,3,6,7); SQL_TEXT NOT LIKE '%$%' : 시스템에서 실행한 SQL을 제.. 더보기
SQL*TRACE 와 TKPROF TKPROF 유틸리티 : 트레이스 파일 분석 유틸리티 1. SQL QUERY 2. CPU 사용시간 3. 디스크로 읽은 블록 수 4. 메모리로 읽은 블록 수 5. 조건 만족 행 수 6. 옵티마이저 유형 7. 분석된 실행 계획 8. 실행계획의 비용 계산 결과 실행 절차 : 1. PARAMETER 값 확인 - MAX_DUMP_FILE_SIZE = [크기] - TIMED_STATISTICS = TRUE - USER_DUMP_DEST= [PATH] 2. ALTER SESSOIN SET SQL_TRACE = TRUE; 3. SQL QUERY 실행 4. @TKPROF.SQL 더보기
SET AUTOTRACE 명령어 오라클 서버가 사용자가 실행하는 SQL문의 실행계획을 자동으로 분석하여 보여주는 모드로 설정합니다. SET AUTOTRACE [ON|OFF|TRACE{ONLY}] 기초 설정 SQLPLUS / AS SYSDBA @C:\APP\ORCL\PRODUCT\11.1.0\DB_1\SQLPLUS\ADMIN\PLUSTRCE.SQL GRANT PLUSTRACE TO SCOTT; CONNECT SCOTT/TIGER @C:\APP\ORCL\PRODUCT\11.1.0\DB_1\RDBMS\ADMIN\UTLXPLAN.SQL SET AUTOTRACE TRACE; 더보기
튜닝의 개요 Tuning : SQL문이 실행되는 원리를 잘 이해하고 원리, 원칙에 의해 문장이 실행될수 있도록 조율하는 것을 튜닝이라고 한다. 성능저하의 원인 : 결과물 위주의 개발 개발비용 부족 기술력의 한계 RDBMS의 불명확한 이해 Oracle 구조 3가지 물리적 구성요소 : 프로세스 - 백그라운드 프로세스 * DBWR : CRUD 를 실 파일에 씀 * LGWR : 모든 SQL을 LOG로 저장 * PMON : 각 사용자 프로세스 감시 * SMON : 메모리, 백그라운드 감시 * CKPT : COMMIT시 DB에 - 서버프로세스 ( PGA) : 사용자 접속시 생성 메모리 - SHARED POOL : 실행가능한 SQL, 실행계획 저장, 자료사전 - DATA BUFFER CACHE : 테이블 DATA 저장 버퍼 - .. 더보기