JAKARTAPROJECT
JAKARTA TIPJSP TIPJSP 질문&답변DATABASE TIPJAVASCRIPT TIPWEBHACKING TIP기타 TIP
데이터베이스 팁
데이터베이스 팁
데이터베이스 팁 게시판 입니다
테이블 스캔 통계
GoodBug http://www.jakartaproject.com
이미지 슬라이더 보기

 

전체 테이블 스캔 발생량 알아보기

SQL> select *
  2  from v$sysstat
  3  where name like '%table scan%';

 

STATISTIC# NAME                               CLASS      VALUE
---------- -------------------------------- ---------- ----------
       186 table scans (short tables)            64  500153765
       187 table scans (long tables)             64       5871
       188 table scans (rowid ranges)            64          5
       189 table scans (cache partitions)        64          0
       190 table scans (direct read)             64          0
       191 table scan rows gotten                64 2.3422E+11
       192 table scan blocks gotten              64 1.1594E+11

7 rows selected.

 

short tables는 4개 이하의 블록으로 된 테이블이며

long tables는 5개 이상의 블록이 있는 테이블을 나타낸다

 

long tables의 value가 높은경우 index보다는 full table scan을 많이 탄다는 얘기임으로

그 테이블에 대한 인덱스 구성이 필요하다

 

거럼 어떤 테이블들이 FULL TABLE SCAN이 일어나는지 알아볼려면 다음 쿼리를 돌려본다

 

SQL> select sid, serial#, opname, target, username,
  2         elapsed_seconds, to_char(start_time, 'yyyy-mm-dd HH24:MI:SS') as "start",
  3         (sofar/totalwork)*100 as "percent_complete"
  4  from v$session_longops
  5  order by 7 desc;

 

SID SERIAL# OPNAME TARGET USERNAME ELAPSED_SECONDS START PERCENT_COMPLETE
-------------------------------------------------------------------------
103 55173 Table Scan USR07.CUSTOMER USR08 29  2007-07-16 14:41:26 100

103 55173 Table Scan USR07.CUSTOMER USR08 125 2007-07-16 14:37:11 100

 

 

v$session_longops (long operation) 은 오라클이 정해놓은 대량의 시간이 걸리는 쿼리라고 생각되면 내부적으로 등록을 해놓고 현재 작업 진행상황을 조회해 볼수 있는 뷰이다

기본적으로 6초보다 오래 실행되는 여러 작업의 진행상황을 모니터하고 완료시간을 예상할 수 있도록 제공하고 있다

일반 유저의 쿼리 말고도 백업, 리커버리, 통계작업등도 이 뷰에서 조회해 볼수 있다

dbms_application_info.set_session_longops를 통해 이뷰에 특정 작업을 등록해 놓을 수 있다

 

 

 

 

 

2007-09-19 17:57:16
211.189.124.***

 

좋은생각 ^^

0점 (0명)
덧글 0개 | 태그 1개 | 관련글보기
태그입력
쉽표(,)구분으로 한번에 여러 태그를 입력할수 있습니다
오라클튜닝 (8)
이름 비밀번호
데이터베이스 팁
데이터베이스 팁 게시판 입니다
! 번호 제목 글쓴이 일자 조회
181 import DB 부분적인 데이터 export / import 방법 2 kaiser 2008-12-29 7,764
180 NOT IN NOT EXISTS not in 과 not exists의 개념 이해 1 kaiser 2008-12-17 19,549
179 IP 접속자 아이피 보기 1 GoodBug 2008-06-27 9,423
178 meta 오라클 스키마 스크립트 받기 1 GoodBug 2008-06-05 19,813
177 ORA-00054 ORA-00054: resource busy and acquire with NOWAIT specified 1 GoodBug 2007-10-27 13,025
176 한글 MYSQL 서버 캐릭셋이 EUCKR이 아닐경우 클라이언트 설정 1 GoodBug 2007-10-09 8,321
175 archive 아카이브 성능 향상 1 GoodBug 2007-10-02 7,913
174 Dictionary Dict table 1 GoodBug 2007-10-02 7,199
173 오라클튜닝 redo log file 구성 모니터 1 GoodBug 2007-09-20 7,876
172 dictionary 자주쓰는 딕셔너리 정보 1 1 GoodBug 2007-09-20 8,320
171 TableSpace Tablespace 별 사용량 확인 1 GoodBug 2007-09-20 8,607
170 오라클 체크포인트 관련 파라미터 2 GoodBug 2007-09-20 7,383
오라클튜닝 테이블 스캔 통계 1 GoodBug 2007-09-19 7,237
168 오라클튜닝 v$filestat로 디스크 I/O 를 확인해보자 1 GoodBug 2007-09-19 10,219
167 오라클튜닝 ORA-04031 에러 대처법 및 예방법 1 GoodBug 2007-09-17 13,684
166 오라클튜닝 DB_FILE_MULTIBLOCK_READ_COUNT 1 GoodBug 2007-09-17 7,245
165 TableSpace TableSpace 관리 (Dictionary, Locally) 1 GoodBug 2007-09-16 7,749
164 오라클튜닝 문제해결 및 튜닝 관련 뷰 2 GoodBug 2007-09-16 7,668
163 segment 오라클 SEGMENT 1 GoodBug 2007-09-16 8,601
162 startup 오라클 startup시 단계별 오픈 파일 1 GoodBug 2007-09-16 7,509
copyright 2005-2018 by Unicorn