[ Oracle SQL튜닝. 성능튜닝 Tool ]
1. DESC PLAN_TABLE
2. DBA가 PLAN_TABLE만들기
- 방법 1
> CREATE PUBLIC SYNONYM PLAN_TABLE FOR SYSTEM.PLAN_TABLE;
- 방법2
> @C:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\utlxplan.sql
3. DBA가 모든사용자에게 권한부여
> GRANT ALL ON PLAN_TABLE TO PUBLIC;
4. 성능Tool종류 4가지
1. SQL Trace
2. Explan Plan
3. Autotrace
4. DBMS_XPLAN
5. 성능 Tool 특징
1. Explan Plan
- 사용하기 번거로운 단점
2. Autotrace
- 편리한 Tool
- SQL Trace보다 자유로움.
3. SQL Trace
- 필수적인 Tool
4. DBMS_XPLAN
-Oracle 9i이후 버전부터 지원 - 사용편리, 유용
6. Explan Plan
7. Autotrace
a. Autotrace설치방법 (dba권한 필요)
dba>@C:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\plustrce.sql;
b. Autotrace방법으로 실행계획보기
sql>SET AUTOTRACE ON;
sql>SELECT * FROM DUAL;
c. Autotrace 수행결과 3가지 그룹
1. SQL 실행결과
2. SQL 실행계획과 Predicate Information
3. SQL 실행 시 사용한 자원통계정보
8. SQL Trace
a. Trace파일 생성
...
b. 수행결과 3가지 그룹
1. SQL문장
2. SQL처리 단계별 자원사용량과 시간정보
3. SQL 실행계획과 각 단계별 처리된 Rows수와 Logical ? Physical I/O 및 시간
c. SQL처리 단계별 자원사용량과 시간정보
1. count
- DBMS Call을 의미하며 1개의 sql실행시 4번의 DBMS Call이 발생
2. cpu
- DBMS Call을 처리하기 위해 사용한 CPU시간
3. elapsed
-
4. disk
- sql을 처리하기 위해수행된 Physical Read한 Block의 개수
5. query
- Logical Read이며 주로 데이터 조회인 Select연산을 위해 읽어 들인 Block개수
6. current
- Logical Read이며 주로 데이터 수정인 DML연산을 위해 읽어 들인Block의 개수
7. rows
-
8. Fetch . SELECT시 만들어진 결과 데이터를 Client에게 보내는 행위
. 1회 실행 시 1개의 Row를 가져오지만 Fetch회수가 2인 이유는 마지막 데이터를
읽은 후 다음 데이터의 존재 유무를 알기 위해 한번 더 Fetch를 하기 때문.
. 먄약, Fetch 10번이고, rows가 10,00이면
db는 was에 약(10,000/10) = 1,000건씩 전송했다는 의미
9. Parse . Sort Parsing하지 않고, hard parsing할 경우 count가 1이 나옴
. Misses in library cache during parse과 동일한 숫자임
a. Misses in library cache during parse
. sql을 aprse하는 동안에 library cache안에서 Miss했다는 뜻.
즉, Soft Parsing이 아닌 Hard Parsing했을 때 1 이라는 숫자가 조회됨
. Parse결과절과 동일한 숫자임
9. SPCPKG
a. 설치
sql>CONN SYS AS SYSDBA
sql>@%ORACLE_HOME%\RDBMS\ADMIN\SPCREATE.SQL
b. 설치확인
탐색기 > @%ORACLE_HOME%\RDBMS\ADMIN\spcpkg.lis 파일 확인
c. 보고서
sql>conn perfstat --perfstat : 설치시 id
....생략...
d. 성능모니터링
sql> conn perfstat/perfstat
sql>execute statpack.snap; --구간모니터링 시작
.. 업무수행...
sql>execute statpack.snap; --구간모니터링 종료
10. 추가
. AUTOTRACE나 Explain Plan을 통해서 나타나는 실행계획은 예상실행계획이고
. SQL Trace를 통해서 나타나는 실행계획은 실제실행계획이다.
'(DB) Oracle 튜닝 > 쌍용튜닝교육' 카테고리의 다른 글
Oracle.PL/SQL(Anonymous Block, Stored Block) (0) | 2018.02.24 |
---|---|
Oracle SQL튜닝. Optimizer (0) | 2018.02.24 |
Oracle SQL튜닝. 접근경로(Access Path) (0) | 2018.02.24 |
Oracle 기본 내용 (0) | 2018.02.20 |
Oracle - db link (0) | 2018.02.10 |